我的文字是這樣的:如何使用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