Vim:环绕插件到环绕视觉选择的自定义映射?
我打算Vim:环绕插件到环绕视觉选择的自定义映射?,vim,vim-plugin,dotfiles,Vim,Vim Plugin,Dotfiles,我打算环绕我的视觉选择,与崇高和其他编辑器一样 由于我已经安装了surround插件,因此viwS“确实使用“和类似的”来包围所选单词,等等 因此,以下是我的尝试: vnoremap ' S' vnoremap " S" vnoremap [ S[ vnoremap { S{ vnoremap ( S( 但奇怪的是,当我尝试使用它们时,它会删除整行并插入引号 我哪里做错了?如何更正?您使用的*noremap错误: 使用*noremap时,要求Vim使用S的原始含义 使用*map时,要求Vim使
环绕
我的视觉选择,与崇高和其他编辑器一样
由于我已经安装了surround
插件,因此viwS“
确实使用“
和类似的”
来包围所选单词,等等
因此,以下是我的尝试:
vnoremap ' S'
vnoremap " S"
vnoremap [ S[
vnoremap { S{
vnoremap ( S(
但奇怪的是,当我尝试使用它们时,它会删除整行并插入引号
我哪里做错了?如何更正?您使用的*noremap
错误:
使用*noremap
时,要求Vim使用S
的原始含义
使用*map
时,要求Vim使用S
的当前含义
vnoremap
如果映射执行的命令被认为是本机命令,但您使用的是已由插件重新映射的命令,则可以。您应该使用*map
此外,vmap
涵盖了视觉和选择模式:您可能应该更精确地映射
所以
(编辑)
您的
问题恰恰相反:您使用的是vmap
,因此您告诉Vim使用任何“
当前使用的。因为
您已将“
映射到要执行的S”
在
映射的RHS中使用“
你可以使用vmap
来
按
可执行S“+ygv
,但这不是您想要的。上面的规则很简单:遵循它们,一切都会好的。它们再次出现,措辞略有不同:
- 如果要使用具有默认含义的命令,请使用
*noremap
- 如果要使用具有重新映射含义的命令,请使用
*map
S
将清除整行并进入插入模式,但当我使用viwS“
时,它会工作。我如何修复它?1问题,现在某个家庭
正在视觉模式下触发S”
。发生了什么?它没有,这里。可能是一个错误的映射?这是我的
映射vmap”+ygv
是的,如果你注意我写的内容,问题是显而易见的。请看我的编辑。你是对的。我把一些事情弄糊涂了。原因很明显——可能是我需要一些睡眠。谢谢你,伙计!
xmap ' S'
xmap " S"
xmap [ S[
xmap { S{
xmap ( S(