2

我想要一个删除/添加引号的命令

"This is a text" ->  This is a text
 This is a text  -> "This is a text"

有吗?

4

3 回答 3

6

您可以使用流行的环绕.vim 插件

  • yss"用引号包围一行。
  • ds"删除最近的周围引号。

另请参阅本教程以获取有关您可以使用此插件做什么的更多示例。

于 2012-11-18T22:10:46.040 回答
2

是的,进入命令模式,然后输入:

:%s/\(^"\|"$\)//g

引用行:

:%s/\(^\|$\)/"/g

这会在所有行上执行替换,如果需要,可以根据您的需要进行调整。

于 2012-11-18T22:02:00.757 回答
0

要删除引号,您可以模拟一个新对象,o"意思是“外部引号”:

nnoremap do" di"viwp

输入do"带引号的文本,您将获得不带引号的文本。

要添加引号,您可以这样做(尽管这只适用于行):

nnoremap yo" I"<end>"<esc> 

如果您使用环绕.vim,您可以使用 yss" 引用整行,而无需为其映射新命令。

于 2018-03-19T21:51:38.187 回答