线的一部分,我有一行文字,看起来像这样如何选择在Vim中
foo bar http://www.example.com -> baz
我想抽出使用前的URL的一部分。任何人有任何想法如何做到这一点?
澄清。我想从命令行执行类似:y/http:.*\.com/
的操作。但那不行。
线的一部分,我有一行文字,看起来像这样如何选择在Vim中
foo bar http://www.example.com -> baz
我想抽出使用前的URL的一部分。任何人有任何想法如何做到这一点?
澄清。我想从命令行执行类似:y/http:.*\.com/
的操作。但那不行。
虽然上线之初,
wwviWy
同时不改变光标位置将抽出的URL的一部分。
如果你想这样做作为命令
:execute "normal! wwviWy0"
做同样的事情。
我会用/http
获得在URL的开头,如果我是在另一条线路,或˚F^h如果我是在同一条线上,然后ÿ吨(最后关键是空间)。
的 “''吨” 部分通常是更好的表示为'E'。 – bitmask
@bitmask我通常更喜欢't',因为它是通用的(即不是我总是寻找空间),而不仅仅是与词相关。这样我就不必使用2个不同的快捷方式或关心分词器。 – deviousdodo
该URL符合WORD的定义,所以您可以在光标位于开头时使用yW
来完成。
是的,但是如何从命令行完成。我想能够做一些像':y/http:。* \。com /'这样的功能,但这不起作用。 –
normal /http^v^m^v^mv2fm <Enter>
凡^ V = Ctrl键 + v和^ M = 输入
完美,这正是我需要的。 –
更短:'2WyE' – Benoit
为什么':execute'而不是':normal!'直接?有了@Benoit的建议,它可以和':norm!一样简短! 2WyE' – sidyll