我要把这个粘贴到vim上:
"recreation_ground"
"retail"
"farmyard"
"nature_reserve"
"scrub"
"park"
...
如果我选择这些行作为一个块,我可以使用什么命令:
"flat">
"recreation_ground""retail""farmyard""nature_reserve""scrub""park"
和(这将是完美的),在它们之间添加分隔符?
"recreation_ground","retail","farmyard","nature_reserve","scrub","park"
你可以通过块显示模式来实现这些。
首先在每行末尾添加',':
<C-v>G$A,<ESC>
然后连行:
vGgJ
签出帮助文件以了解更多
:h visual-block
:h gJ
剥猫皮的方法真多。
With:help :s
:
:'<,'>s/n
为第一个问题,和:
:'<,'>s/n/,
$x
为第二个。
注意:有更多的"正确"解决问题#2的方法,没有额外的$x
,但它远不那么直观,所以YMMV:
:'<,'>s/n"/,"
Max Shen的解决方案似乎是最好的,但是有很多方法可以让猫蜕皮。
您也可以使用:norm
命令添加逗号,然后使用J
来平铺所有内容。
首先选择所有带有:
的内容gg #(go to the top)
v #(visual mode entire line)
GG #(bottom of file)
运行norm命令:
:
'<,'>
应该立即插入,然后您可以键入norm,然后键入将在每行上执行的组合按键,在本例中是A,
,然后是<Enter>
来确认。
你可以这样结束:
V
gg
J #(flatten/join selected section)