我发现了很多关于在 vim 中禁用视觉模式的问题,但没有一个能解决我的特定问题:
我添加set mouse-=a
到我的/etc/vim/vimrc
文件中以永久禁用视觉模式。事实是:这似乎没有任何作用。但是,当我将完全相同的指令放入用户的.vimrc
文件中时,它就可以工作。
这是预期的行为吗?我错过了什么?有没有人有一个不涉及.vimrc
为每个用户管理文件的解决方案?
提前致谢!
我使用的是 Debian 10,顺便说一句,已经完全更新了。
答案1
Debian 的/etc/vim/vimrc
包含这样的评论:
" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
" any settings in these files.
" If you don't want that to happen, uncomment the below line to prevent
" defaults.vim from being loaded.
" let g:skip_defaults_vim = 1
正如:verbose set mouse?
所说,这是由/usr/share/vim/vim81/defaults.vim
上面提到的设置的($VIMRUNTIME
在 Debian 上是这样/usr/share/vim/vim<version>
)。
因此,您可以为您的用户创建一个~/.vimrc
(或~/.vim/vimrc
)(即使是空的也可以),或者取消let g:skip_defaults_vim = 1
注释/etc/vim/vimrc
。
答案2
我没有直接编辑默认值/usr/share/vim/vim81/defaults.vim
(或者无论你的 vim 版本是什么),而不是 muru 的答案。
注释掉,set mouse=a
将其更改为"set mouse=a
"
就是如何注释掉 vim 配置文件中的内容
这样做的好处是可以将有用的内容保留在默认值中,例如语法突出显示,但删除了烦人的视觉模式
我可能会得到回复说我不应该这样做,因为它会在 vim 更新时被覆盖,但现在对我来说这是一个快速修复!
答案3
$ cat >.vimrc
source $VIMRUNTIME/defaults.vim
set mouse=
^D
$