所以这是我第一次尝试在vim中进行视线编辑.我有几句话如下
cat
dog
Run Code Online (Sandbox Code Playgroud)
我想用括号(不使用surround.vim)围绕它们进行学习.我在视觉选择后使用的命令如下
:'<,'>norm 0i(<esc>$a)
Run Code Online (Sandbox Code Playgroud)
并且
:'<,'>norm 0i(<C-v><esc>$a)
Run Code Online (Sandbox Code Playgroud)
问题是vim似乎打印出来,我得到的输出是
(<esc>$a)cat
(<esc>$a)dog
Run Code Online (Sandbox Code Playgroud)
任何暗示我可能出错的地方都将不胜感激.
另外值得注意的是,我运行vim使用
vim -u NONE这样的vimrc文件不会被加载.
该:normal命令不解析特殊字符.正如您可能已经猜到的那样,<esc>字面意思是插入五个不同的字符.
你将需要:execute用这些特殊字符的转义包装它:
:exe "'<,'>norm 0i(\<esc>$a)"
Run Code Online (Sandbox Code Playgroud)
执行此操作的其他方法(使用完整缓冲区范围%):
:exe "%norm I(\eA)" - 编写esc字符的另一种方法:%norm I(^[A)- 在哪里^[是ctrl-v然后是esc,插入一个不需要解析的文字esc字符.:%s/.*/(&)