如何在vi中用引号replace文本
说我有这样的代码行:
$query = "SELECT * FROM table"; 在vi / vim中有一个命令可以立即删除引号之间的所有内容,并将光标放在它们之间,这样我就可以开始input了?
 使用ci" ,这意味着:改变双引号内的内容。 
您也可以用类似的方式操作其他文本对象,例如:
-   ci'– 在单引号内改变
-   ciw– 在一个词里面改变
-   ci(– 括号内的变化
-   dit– 在HTML标签内删除等
更多关于这里不同的vim文本对象。
 您可以在引号之间进行select,然后使用删除( d ),更改( c )等 
 vi" 
同样,你可以用大括号,括号,XML元素等代替:
 vi( vi{ vit 
 或简单地改变/删除,做相应的di" , ci"等。用a代替i将包含周围的元素(例如,标记或改变括号和内容) 
从里面已经可以做报价
 di" 
把它看作删除里面的“
 我做了一个插件vim-textobj-quotes : https : //github.com/beloglazov/vim-textobj-quotes 
 它为任何types的最接近的引号对提供文本对象,并支持多行引用。 只使用iq或aq它允许你操作当前围绕游标的单引号('),双引号(“)或后退引号(')的内容,位于游标前面或后面(按照偏好),换句话说,当需要达到报价时,它向前或向后跳转。 
 通过查看示例更容易理解(光标显示为| ): 
-  之前: foo '1, |2, 3' bar; 按下diq:foo '|' barfoo '|' bar
-  之前: foo| '1, 2, 3' barfoo| '1, 2, 3' bar; 按下diq:foo '|' barfoo '|' bar
-  之前: foo '1, 2, 3' |bar; 按下diq:foo '|' barfoo '|' bar
-  之前: foo '1, |2, 3' bar; 在按下daq:foo | barfoo | bar
-  之前: foo| '1, 2, 3' barfoo| '1, 2, 3' bar; 在按下daq:foo | barfoo | bar
-  之前: foo '1, 2, 3' |bar; 在按下daq:foo | barfoo | bar
上面的例子是针对单引号给出的,这个插件对于double(“)和back(”)引用的工作方式完全一样。
 您也可以使用任何其他操作符: ciq , diq , yiq , viq等 
请看上面链接的github页面以获取更多细节。