Vim 右键无法插入内容,并变为 --(insert) VISUAL--
约 278 个字 13 行代码 预计阅读时间 1 分钟
原因
Vim 启用了鼠标支持。
解决方案
临时
执行命令:
永久
对单个用户生效
修改 Vim 配置文件(如 ~/.vimrc),添加:
全局生效
理论上可以通过修改 /etc/vim/vimrc 来配置。但是从 Vim 8.0 开始,如果 用户没有 ~/.vimrc,Vim 会自动加载系统自带的 defaults.vim(通常位于 /usr/share/vim/vimXX/defaults.vim),其中包含:
在 Vim 中可以通过 :verbose set mouse? 查询是被哪个文件配置的:
这个行为是为了让新手获得“更友好”的体验(比如支持鼠标),但对服务器 SSH 用户来说反而造成干扰。
而 /etc/vim/vimrc 在 defaults.vim 之前被加载(在 Debian/Ubuntu 系中),所以你在 /etc/vim/vimrc 末尾写的 set mouse= 会被后面 defaults.vim 的 set mouse=a 再次覆盖。
对此可以阻止 defaults.vim 被加载,但需要自己去设置原本的其他配置项(如语法高亮):
或者可以尝试用 autocmd 延迟设置,不需要复制粘贴原本的配置,但这依赖于事件机制,不如上面的方法干净可靠: