我想轻松地将代码 Package 在参数中。例如:
我希望这是在console.log()
Package 后:
console.log(1+1);
字符串
我试过使用Surround Vim,但它是用于HTML的,并不真正适合JavaScript,因为它不会移动 Package 的对象:V
用于选择整行。S
用于输入
console.log(1 + 1;)
型
你知道更好的方法或Vim插件吗?
此链接不适用于我的特定案例:Wrapping a code block around code in VIM
我正在学习Vim 9(在终端中)。我将重新学习编程(使用JS,很快会学习PHP)。
2条答案
按热度按时间aor9mmx11#
V
让你进入 visual-line 模式。如果你不想操作整行,那么使用它就没有意义了。在这种情况下,您应该使用普通视觉模式,使用
v
和适当的运动:字符串
或者你可以完全绕过视觉模式:
型
参见
:help ys
(假设Surround安装正确)、:help visual-mode
、:help t
和一般的:help navigation
。FWIW,这是你在没有 * Surround的情况下如何做到的:
型
参见
:help c
和:help i_ctrl-r
。wooyq4lh2#
基于你的问题“你知道更好的方法吗?"
我只想
字符串
在行首插入“console.log(“,跳到行尾并在分号前插入右括号。只是文本编辑。
从技术上讲,这是 * 两个 * 插入,所以你必须按
uu
来撤销它们。这是一个警告,我很乐意忽略它。一种稍微复杂一点的方法(只有当您想同时在多行上操作时才值得使用)是像这样使用
:substitute
命令型
其中
[range]
是要操作的行(仅保留当前行)。我们的实际匹配是 anything 或
.*
,分别包含在\zs
和\ze
中,以标记匹配的开始和结束。外部的所有内容都不会被捕获,即前导空格(如果有的话)和尾随分号。这被替换为“console.log()”,并在括号中插入了我们捕获的匹配
&
。请参阅
:help substitute
、:help /\zs
和:help s/\&
。