如何在 vim 中禁用内部键绑定?
How to disable internal key bindings in vim?
我正在使用 surround vim 插件,它结合了 s 键 的使用,但我的 s 键默认绑定到删除光标下的字符,然后立即让我进入插入模式。我试图按照此 link 的指示在我的 ~/.vimrc 文件中插入以下行,但它不起作用:
map <s> <Nop>
好的,首先,vim-surround 绝对不会改变 s
的映射。它 确实 映射到 ds
、ys
和 cs
,以及在可视模式下的 S
。但它 不会 更改您的默认 s
映射。
即使是这样,也不会造成任何问题。您不需要 unmap
其他地图就可以工作。相反,新映射适用于原始映射。
但仍然要回答你关于禁用默认键绑定的实际问题,你有基本的想法但犯了一个小错误。 s
两边的括号是不需要的。尝试添加:
map s <Nop>
相反。
如果你真的想这样做,即使没有必要使用 vim-surround,我也建议使用 nnoremap
而不是 map
。总结了它们之间的区别here.
我正在使用 surround vim 插件,它结合了 s 键 的使用,但我的 s 键默认绑定到删除光标下的字符,然后立即让我进入插入模式。我试图按照此 link 的指示在我的 ~/.vimrc 文件中插入以下行,但它不起作用:
map <s> <Nop>
好的,首先,vim-surround 绝对不会改变 s
的映射。它 确实 映射到 ds
、ys
和 cs
,以及在可视模式下的 S
。但它 不会 更改您的默认 s
映射。
即使是这样,也不会造成任何问题。您不需要 unmap
其他地图就可以工作。相反,新映射适用于原始映射。
但仍然要回答你关于禁用默认键绑定的实际问题,你有基本的想法但犯了一个小错误。 s
两边的括号是不需要的。尝试添加:
map s <Nop>
相反。
如果你真的想这样做,即使没有必要使用 vim-surround,我也建议使用 nnoremap
而不是 map
。总结了它们之间的区别here.