Vim有expand("<cword>")
来获取光标下的“单词”。如果光标在带引号的字符串文字上,你如何定义一个函数来获取引号之间的所有内容?
鉴于这种情况:
foo = "this string has spaces" ^ cursor is here
我想做
:echo GetStringUnderCursor()
并查看
this string has spaces
<小时/> 编辑: 我看到你可以检查光标是否在带有这个咒语的字符串区域
synIDattr(synIDtrans(synID(line("."), col("."), 1)), "name") == "String"
我还没有找到一种方法来查找给定语法区域的开始和结束位置(line和col)。
答案 0 :(得分:1)
例如:
vi" -> visual select all inside the quotes
ci" -> change all inside the quotes
yi" -> yank all inside the quotes
如果你猛拉它,你可以这样做:
echo @" -> prints register " (default)