我最近不得不将我的 Linux 工作环境从个人 Ubuntu 系统(具有完全管理权限)更改为企业 Red Hat 系统(对系统的控制非常有限)。两者都运行 GNOME。
许多事情似乎都以不同的方式运作。最重要的是 gVim 行为。我在两台 Linux 机器和一台 Windows 机器上安装了 Vim。我喜欢默认的 Windows 行为,因此我.gvimrc
按如下方式设置文件:
source $VIMRUNTIME/mswin.vim
syn on
set hls
set tabstop=4
set shiftwidth=4
set smartindent
set smarttab
我遇到的 Red Hat 和 Ubuntu 或 Windows 之间的一些恼人的差异是:
撤消(Ctrl+Z或撤消按钮)的作用与 Vi 中类似,即第二次撤消,撤消第一个,因此最后的更改将被删除,然后恢复。相反,它应该是撤消历史记录(取决于
undolevel
变量设置)。在
Insert
模式下,使用退格键删除文本不会从屏幕上删除已删除的文本,直到我离开该行或退出Insert
模式。
以下变量在 Red Hat 和 Windows 中的设置类似:
nocompatible
undodir=.
noundofile
undolevels=1000
undoreload=10000
问:如何使我的新 Red Hat gVim 环境像 Windows 和 Ubuntu 一样运行?
Vim 版本:
Red Hat - 7.4(2013 年 8 月 10 日)
Windows - 7.4(2013 年 8 月 10 日)
Ubuntu - 7.2(2008 年 8 月 9 日)
答案1
听起来你的 Vim 处于 vi 兼容模式;然后:set compatible?
将打印compatible
。
您需要创建一个~/.vimrc
文件(空文件即可)将 Vim 切换到nocompatible
模式。一般来说,建议将您的自定义设置放在那里,并保留.gvimrc
极少数仅限 GUI 的设置。