在VIM中的多行之间选择双引号之间的文本

Mih*_*aga 11 vim select lines multiline

假设我有以下文字:

"test 1
test 2
test 3"
Run Code Online (Sandbox Code Playgroud)

我想选择引号之间的所有内容.我已经使用了vi",但它不起作用,只有当文本在一行时它才有效.另一方面,当我有这样的东西时:

(test1,
test 2)
Run Code Online (Sandbox Code Playgroud)

我输入vi(它选择整个文本.

任何指针都将非常感激.谢谢

Ing*_*kat 6

由相同字符(",')分隔的文本对象仅在一行内工作,否则很难确定选择哪个正确的范围.

如果您想要这样的多行文本对象,则必须定义自己的替代方法.像kana/vim-textobj-user或我自己的CountJump插件这样的插件可以帮助你.


Pet*_*ker 6

内置的引号和双引号文本对象不会跨越行边界。但是您可以使用 vim 运算符进行搜索。例如

y/"<cr>
c/"<cr>FOO<esc>
d?"<cr>
Run Code Online (Sandbox Code Playgroud)