编辑:启用鼠标的问题vim
似乎特定于gnome-terminal
(版本 3.4.1.1-1;我正在使用 gnome 3 后备模式)。如果我运行xterm
,默认情况下禁用鼠标支持vim
,并且我可以选择启用它(:set mouse=a
我从来没有这样做)和禁用它(:set mouse=
)。相反,当我运行时vim
,gnome-terminal
默认情况下启用鼠标支持,并且无法禁用它(:set mouse=
没有效果)。有没有除了更换终端模拟器之外的解决方案?
我想完全禁用鼠标支持vim
。我正在运行vim
版本 2:7.3.547-3 到gnome-terminal
版本 3.4.1.1-1。以下命令,无论是直接在 vim 中执行还是添加到我的.vimrc
文件中,都无法禁用鼠标支持:
set mouse =
set mouse =""
根据阅读 vim 手册和在线帖子,这些命令中的一个或两个应该可以工作。特别是,vim手册指出了以下内容
'mouse' string (default "", "a" for GUI, MS-DOS and Win32)
The mouse can be enabled for different modes:
n Normal mode
v Visual mode
i Insert mode
c Command-line mode
h all previous modes when editing a help file
a all previous modes
r for |hit-enter| and |more-prompt| prompt
Normally you would enable the mouse in all four modes with: >
:set mouse=a
When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn't move the text cursor.
我正在使用笔记本电脑,每次我的手刷过触控板时,vim 中的光标位置都会突然移动。
答案1
我发现了许多 Linux 风格导致这种不良行为的原因:
/usr/share/vim/vim80/defaults.vim # may be "vim81" depending on your vim version
如果没有,它就是“来源”的,~/.vimrc
但即使您有一个/etc/vimrc
或这样的/etc
文件,所以如果您没有,只需按照@lgpasquale的建议创建一个空白文件:
mkdir ~/.vim/; [[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || :> ~/.vim/vimrc
如果您喜欢从 defaults.vim 获得的其他功能(例如语法突出显示),您可以使用此命令而不是前一个命令:
mkdir ~/.vim/; [[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || echo -e "source /usr/share/vim/vim80/defaults.vim\nset mouse=" > ~/.vim/vimrc
答案2
默认情况下禁用鼠标支持,因此某些东西正在将其打开。您失败的原因可能set mouse=
是因为它在启动它之前就运行了。我会查看你的 vimrc 的其余部分,可能还有系统范围的 vimrc (/etc/vim/vimrc
是标准位置)。
作为最后的手段,您可以执行这个非常丑陋的 hack,这将导致命令作为在您控制编辑器之前完成的最后操作之一运行。
autocmd BufEnter * set mouse=
答案3
我在 Fedora Server 25 主机上的 OS X“终端”应用程序上遇到了这个问题。我已经在 .vimrc 中永久解决了这个问题:
set mouse=
set ttymouse=
现在我可以用鼠标在终端的回滚中向上滚动到之前的 bash 历史记录。
答案4
我和你一样抱怨新版 Vim 对鼠标的敏感性。使用set mouse=""
也不适合我。
set mouse=c
我的文件底部附近有(没有引号) .vimrc
。这似乎阻止了 Vim 使用鼠标,除非使用“PuTTY”从我的(呃!)Windows 机器上进行 ssh 工作。我必须使用 shift-middle-button 来粘贴到 PuTTY 中。
2018-03-30 编辑:我现在开始:mouse=
在一些远程(CentOS 6.7)vim实例上使用:(没有引号或任何东西)来消除不需要的鼠标效果。