[英]Vim visual mode scripting: searching the text surrounding the visual selection
我将以身作则。
如果我们在vim中有一段这样的代码:
if ($feck == true && $drink == false)
{
echo 'They lie in wait like wolves..';
}
我进入可视模式并选择“ $drink
”,有没有办法:
请注意,我考虑的不仅仅是vim脚本编辑,所以这两个“动作”都在一个函数中,该函数来自我的.vimrc
另外,我需要在不中断视觉选择或移动光标的情况下执行此操作(或者,如果确实无法避免,请同时恢复选择和光标位置)。
这个问题仅在汉尼拔·莱克特博士的另一个问题的背景下才有意义。
我认为您想要实现的目标是可能的,但这需要一些工作。 其他答案中给出的信息以及对您的帖子的评论已指向正确的方向。
从“扩展选择”键映射中调用的vim函数必须执行以下操作:
检查当前选择可能代表什么(dwc描述的标记'<和'>,并且vim函数应该对此有所帮助)。 必须回答这样的问题:'<和'>是否在同一行? 所有字母是否都在'<和'>等关键字字符之间? 选择的第一个和最后一个字符是否是特殊定界符,例如'{','('等?),依此类推-没有内置的功能可以自动检查此内容。另请参见:help visualmode(
确定这一点后,您必须思考一下,然后您想如何进一步扩展选择范围-但是,此逻辑在ReSharper中有效。
您将需要注意将光标放回原处,具体取决于您用来扩展选择范围的命令。
通常,:help eval.txt中提供的命令将有助于实现此目的。
进行视觉选择后, '<
和'>
可用于接受“范围”的任何内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.