vimrc不接受mouse- =命令

时间:2017-06-06 11:42:45

标签: vim

我的/etc/vim/vimrc文件存在奇怪的问题。

我试图摆脱VIM中的VISUAL模式,所以我尝试在set mouse-=a文件中添加vimrc命令。

但是我的vim并没有考虑这些变化。

当我在openend vim中执行:set mouse-=a时,它会按照我想要的方式执行操作(使用鼠标选择文本而不进入VISUAL模式),但该命令在vimrc文件中不起作用。

我还在vimrc启用了“在重新打开文件时跳转到最后一个位置”并且它正常工作,这让我更加困惑。 我一直在尝试所有可能的命令:

  • set mouse=a
  • set mouse=r
  • set mouse-=a
  • :set mouse-=a

添加到/etc/vim/vimrc后,它们都无法正常工作。

我的系统是:

rRr-kali:~# uname -a
Linux rRr-kali 4.8.0-kali2-amd64 #1 SMP Debian 4.8.15-1kali1 (2016-12-23) x86_64 GNU/Linux
rRr-kali:~#

4 个答案:

答案 0 :(得分:5)

如果您使用的是Debian 9(Strecth),请编辑文件/usr/share/vim/vim80/defaults.vim并将第70行更改为

set mouse-=a

最好的问候

巴尔

答案 1 :(得分:2)

我知道,这个问题有点老了,但我只想澄清一下,为什么以上两个答案都是正确的,以及为什么这样工作?

在Debian系统上,vim的配置文件的加载方式如下:

  1. /etc/vim/vimrc中加载设置
  2. 如果存在,请从/etc/vim/vimrc.local
  3. 加载设置
  4. 如果~/.vimrc不存在,并且"let g:skip_defaults_vim = 1"/etc/vim/vimrc中没有/etc/vim/vimrc.local,则从/usr/share/vim/vim80/defaults.vim加载设置,否则从{{1} }(如果存在)。

有关详细信息,请参见配置文件本身以及有关bugs.debian.org的讨论

因此要解决您的问题,您有两种方法可以解决:

  1. ~/.vimrc的开头插入"let g:skip_defaults_vim = 1"
  2. 通过发出/etc/vim/vimrc.local创建一个空的~/.vimrc

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864074

答案 2 :(得分:0)

mouse-=a移到〜/ .vimrc的末尾为我解决了这个问题。

答案 3 :(得分:0)

至少在RaspberryOS(Debian)中,“问题”是 /usr/share/vim/vim80/defaults.vim 将在 / etc / vim / vimrc之后执行。 em>(包括 vimrc.local )或〜/ .vimrc

因此,我这样更改了行 defaults.vim

 69  if has('mouse')
 70          if empty("+mouse")
 71                  set mouse=a
 72          endif
 73  endif

现在我可以在系统范围内或个人的 vimrc

设置mouse- = a