在Vim中更改引号类型

5
在Vim中,更改当前引用字符串内部的内容(例如,ci")只需快速输入3个字符即可完成。但是,是否有一种简单的方法可以更改当前光标周围的引号类型呢?有时我需要从“blah”更改为“”“blah”“”或者从“blah”更改为‘blah’(在Python源代码中),最好能够使用默认键绑定快速完成。
2个回答

18

尝试使用surround.vim插件。 我发现它是任何vim安装的必要补充。


要从引号转换为三重引号,请执行 ysa""wysa""。值得将其放入宏或绑定中。例如,:noremap <C-c> :normal ysa""wysa""<CR> 将其绑定到 Ctrl+c。或者,您可以只映射 :noremap <C-c> :normal ysiw"w<CR> 来用引号包围任何一个单词,然后按下 Ctrl+c 或您的绑定键 n 次来添加 n 组引号。 - Jay
我自1980年以来一直在使用vi,每天都会学到新东西。 - Peter Rowell

2

Surround.vim很棒,但我认为它不会直接处理您的三引号需求。

如果Surround不适用,我通常使用%来进行更改,然后双反引号返回起点。例如,如果光标在单引号字符串中的某个位置,请执行f'%,进行更改,然后双反引号和.回到原点。


不知道双反引号,我会采取相同的方法,只是我会制作一个一次性标记。+1。 - Logan Capaldo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接