字,冒號和一個逗號,我經常有這樣的一段代碼:如何有效地刪除VIM
it "should do something", :focus do
...
end
當我想刪除, :focus
我通常做
- 前往路線1:
1G
- 轉到冒號:
f:
- 刪除冒號(周圍使用的話,所以我可以再說一遍):
daw
- 刪除
focus
(重複前面的):.
。 - 刪除逗號(向左移動並用空格替換):
hr<SPACE>
。
有什麼辦法可以更有效地實現步驟3-5?
字,冒號和一個逗號,我經常有這樣的一段代碼:如何有效地刪除VIM
it "should do something", :focus do
...
end
當我想刪除, :focus
我通常做
1G
f:
daw
focus
(重複前面的):.
。hr<SPACE>
。有什麼辦法可以更有效地實現步驟3-5?
你可以去:
1G
去第一行f,
要去逗號dE
要刪除,直到WORD的下一個結尾(大寫字母WORD是不是空格的任何字符序列)。'dE'works在這裏驚人的好。甚至更好,然後@rejj建議。但我真的不明白爲什麼'E'跳過逗號,冒號和單詞。希望你能解釋一下。還有什麼與'E'相反(向相反方向移動)? – 2012-01-05 08:31:55
'E'和'B'結束(向前)並開始(向後)WORD。 'gE'和'W'到前一個WORD的末尾和下一個WORD的開始。 ':help E',':help B',':help gE',':help W'會告訴你!請注意,沒有大寫字母('w','b','ge'和'e')的命令完全相同,因此單詞的定義是不同的(標點符號不是單詞的一部分:'' :help word'和':help WORD')。 – Benoit 2012-01-05 08:40:27
隨着光標放在,
你可以做v,ē,ē,d。
或d,,ē
哦,這麼簡單:)!出於某種原因,我很少想到逗號和冒號是文字:)非常感謝! – 2012-01-05 08:26:56
你最好顯示光標所在,但假設它的 「結束」 後,我應該這樣做:
?",<CR>ldt<space>.
我顯示了光標所在的位置。它在冒號上。請參閱問題中的第2步。搜索是一個非常不尋常的運動,打破了我的流程。什麼是'ldt
我看到了什麼'ldt
隨着光標或結腸,你可以做d˚F,dê。 dF,部分將向後刪除幷包括逗號。然後dE將刪除到下一個空格字符。關於這一點的好處是,如果沒有前面的逗號,這仍然會做同樣的事情。因此,與代碼
if :focus, "should do something" do
如果光標在結腸這個宏將刪除只是:focus,
一部分,儘管它會留下兩個空格後面。
不錯!不過,類似於@Benoit的建議。 – 2012-01-05 09:07:41
我應該更頻繁地刷新:P – 2012-01-05 09:23:18
不是直接問你的問題,而是第1步的快捷方式:'gg',即。按兩次相同的按鍵,而不是按兩個不同的按鍵... – Nigu 2012-01-05 09:43:38
是的,當然。感謝那。我使用f來強調代碼不會在第一行。它只是在這裏,在問題:) – 2012-01-05 11:57:22