我的文字是这样的:如何使用Vim做多行编辑
w ky,
wyz,
wyy,
wj,
w w,
,我想把它改成这样:
"w ky",
"wyz",
"wyy",
"wj",
"w w",
我这样做,但现在使用:
- 记录一个宏,在一行中插入双份配额,然后转到下一行
qa0wi"$i"j
- t母鸡只是类型
[email protected]
是的,它的工作原理,但有没有更容易的方法来做到这一点?
我的文字是这样的:如何使用Vim做多行编辑
w ky,
wyz,
wyy,
wj,
w w,
,我想把它改成这样:
"w ky",
"wyz",
"wyy",
"wj",
"w w",
我这样做,但现在使用:
qa0wi"$i"j
[email protected]
是的,它的工作原理,但有没有更容易的方法来做到这一点?
有是一个更简单的方法。您可以使用norm
命令。我会推荐这:
直观地选择所有的行
类型的
:norm I"<C-v><esc>$i"<cr>
当你真正键入此(前按下回车键),应在显示文本您命令行是:
:'<,'>norm I"^[$i"
的规范命令告诉Vim模拟一组上的某些行正常模式的键击。在这种情况下,该命令是:
:'<,'> " On every line in the visual selection:
norm " Do the following as if typed in normal mode:
I"<esc>$i" " Insert an '"', escape, then insert a '"' at the end (before the comma)
你也可以做到这一点,而无需使用一个可视化的选择,通过键入<n>:norm ...
,和该命令将应用当前ñ线。 (当前行和随后的N-1线路)
做一个“非常神奇的搜索\ V”我们可以搜索...
\v(\w ?\w+),
\v ........... starts very magic search mode
( ........... starts group one
\w ........... any word
? ........... optional space
+ ........... one or more
) ........... ends group one
测试搜索后,我们可以传递到我们的命令或 通过将两个上斜线搜索模式
%s/\v(\w ?\w+),/"\1",/g
%s//"\1",/g
一切上组匹配一个可以通过\1
被称为使用最后的搜索。
做在前面一个基本的多行编辑,然后做一个串上,
与",
取代。
第一个结果输入您的问题到谷歌时 https://stackoverflow.com/questions/11784408/vim-multiline-editing-like-in-sublimetext –
@ J.Knight但是当每一道线条都是这个答案只是工作而不是'0w'相同长度 – roger
,你可以使用'^'......不知道你很容易的意思..但是你也可以使用替换...'S/\ s [^,] * /“& “/' – Sundeep