我越来越习惯每天使用vi,但困扰我的一件事是,当我在Ubuntu上使用它时,它的行为与在CentOS上使用它时的行为不同(可能还有其他地方)。我实际上更喜欢它在CentOS中的工作方式。
以下是在Ubuntu上困扰我的三件事:
在CentOS插入模式下,底部有一个大胆的通知我处于INSERT模式,但是在Ubuntu中没有通知所以我永远无法分辨我在哪个模式。
在CentOS插入模式下,我可以按向上/向下键,光标将上下移动。但是当我在Ubuntu上下按下时,分别在新行上插入字母A和B.
在CentOS插入模式下,我可以使用退格键,它会删除光标前的字符,但在Ubuntu中我只听到一声嘟嘟声,没有任何反应。我可以在命令模式下按删除键,但我宁愿能按退格键。
这些差异是我必须忍受的还是一个简单的解决方法?
答案 0 :(得分:39)
在ubuntu中,默认的vim安装来自包vim-tiny
,这不是全部。
你可能想:
apt-get install vim
或
apt-get install vim-full
您的其他一些问题听起来像退格键和其他问题。获得vim的完整版本后,请尝试将这些添加到.vimrc:
set nocompatible
set t_kb=^H
fixdel
(重要说明:^ H是一个文字ctrl-H字符,你可以通过在插入模式下按Ctrl-V Ctrl-H获得)
答案 1 :(得分:6)
以前提供的答案对我不起作用。
我倾向于选择尽可能将操作系统安装为库存并尽可能简化配置文件。为了解决Ubuntu 12.04中的这三个问题,我做了以下几点:
在“〜/ .vimrc”中插入行 -
设置nocp
设bs = 2
答案 2 :(得分:4)
除了安装vim-full之外,如果您还没有~/.vimrc
:
$ cp /usr/share/vim/vimcurrent/vimrc_example.vim ~/.vimrc
此示例.vimrc
已经成为最重要的设置,并且是自定义的良好开端。
答案 3 :(得分:1)
当你说VI时,我会假设你的意思是VIM?至少,第二点似乎是VIM /术语组合的控制台/终端问题。下面的页面提供了一些修复,但没有一个我可以工作(我使用vim over putty到Ubuntu开发盒)
http://vim.wikia.com/wiki/Fix_broken_arrow_key_navigation_in_insert_mode
可以使用.vimrc
中的以下内容覆盖第3个点设置backspace = indent,eol,start
答案 4 :(得分:1)
我个人喜欢vim tiny及其控件 - 更接近真实的vi。 在某些发行版中,您只能获得' vim' - vim-tiny不可用。在这些我发现类似的解决方案 - 基本的 - 从另一个发行版窃取vim-tiny或编译真正的vi(代码仍然可用)。
我对vim的一些问题是它的着色 - 其中大部分可以关闭但不是全部。最大的问题是没有报告Ctrl-G上的行号对我来说这使得完全vim无法使用 - 我还没有找到解决这个问题的方法。
如果两个版本都可以通过vim安装使用,那么几乎所有的vim / vi问题都可以解决。如果只安装了vim-tiny,你总是可以安装到完整的vim - 但是,由于某些未知的原因如果安装了完整的vim(Slackware版本),vim-tiny根本不可用。
完整的' vim'应该有一个简单的开关去掉“微小的”。 vi兼容性开关不这样做。 vim开发人员的这种态度持续了多年 - 他们的目标是有效地实现市场份额。概念,即接管和指导用户选择 - 我没有留下深刻的印象。
答案 5 :(得分:0)
(1)检查两者的showmode
设置是否不同。
(2)不知道这个,我认为这与终端有关,而不是Vi本身。
(3)也许尝试使用:map <BS> :normal d
?
答案 6 :(得分:0)
在CentOS中,vi是另一个程序的别名,vim,但在最新版本的Ubuntu中,vi仅表示vi,而不是vim。如果两个不同的程序vi和vim之间存在差异,你会看到差异。
如果你喜欢vim,只需运行vim,而不是vi。这也适用于Ubuntu
答案 7 :(得分:0)
在我的.vimrc中设置它对我有用..
set term=builtin_ansi
答案 8 :(得分:0)
我在内部使用Debian 7进行WDMyCLoud,即使用:
cp /usr/share/vim/vimcurrent/debian.vim ~/.vimrc
答案 9 :(得分:0)
就我而言,.vim文件的创建过程如下:
free
如果我添加set nocompatible
fixdel
,则退格键只是用作删除键。