2

Vim 必须expand("<cword>")得到光标下的“单词”。如果光标位于带引号的字符串文字上,您将如何定义一个函数来获取引号之间的所有内容?

鉴于这种情况:

foo = "这个字符串有空格"
          ^ 光标在这里

我想要做

:echo GetStringUnderCursor()

看看

这个字符串有空格


编辑:我看到你可以用这个咒语检查光标是否在字符串区域上

synIDattr(synIDtrans(synID(line("."), col("."), 1)), "name") == "String"

我只是还没有找到一种方法来查找给定语法区域的开始和结束位置(行和列)。

4

1 回答 1

2

例如 :

vi"    ->    visual select all inside the quotes
ci"    ->    change all inside the quotes
yi"    ->    yank all inside the quotes

如果你拉它,你可以这样做:

echo @"    ->     prints register " (default)
于 2012-10-19T10:37:34.640 回答