如何在 Red Hat 6 中为 vim 和 vi 编写可行的 .vimrc?

如何在 Red Hat 6 中为 vim 和 vi 编写可行的 .vimrc?

我在 RedHat 6.7 中安装了 vi 和 vim。两者都是 7.4,但打开或关闭功能不同。我在 ~/.vimrc 中设置了一行,set mouse=a 并且配色方案 molokai 由插件管理器导入dein。当我键入时,这些功能是可用的,但当我使用它的链接vim时,它会显示错误消息。错误消息是view/bin/vi

Error detected while processing /home/myname/.vimrc:    
line   21:                                            
E538: No mouse support: mouse=a                       
line  263:                                            
E185: Cannot find color scheme 'molokai'              

我想知道如何为两者vi/view或编写一个可行的 .vimrc vim?以下是不同版本的鼠标功能:

$ /bin/vi --version|grep mouse
+acl             -farsi           -mouse_sgr       -tag_old_static
-arabic          -file_in_path    -mouse_sysmouse  -tag_any_white
-autocmd         -find_in_path    -mouse_urxvt     -tcl
-balloon_eval    -float           -mouse_xterm     +terminfo
-ebcdic          -mouse           -startuptime     -xterm_clipboard
-emacs_tags      -mouse_dec       -statusline      -xterm_save
-eval            -mouse_gpm       -sun_workshop    -xpm
-ex_extra        -mouse_jsbterm   -syntax
-extra_search    -mouse_netterm   -tag_binary

$ /usr/bin/vim --version|grep mouse
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm

答案1

  • 对于输出中列出的那些功能:version,您可以使用if has('mouse')条件。
  • 另一个可用于许多测试的内置函数是:help exists()
  • 大锤法::silent!在命令前面加上即可;它会消除任何错误。
  • 如果 vi 是不同的二进制文件,您还可以检查:help v:progpath多变的。

答案2

你可以尝试将其放入 ~/.vimrc 中吗:

set mouse=a
set ttymouse=xterm2

我的/usr/bin/vi有鼠标支持:

#vi --version | grep mouse
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm

vi在我的系统上有一个符号链接,vim因此它不适用。

所以你回答了你的问题,你的版本vi不支持鼠标。

相关内容