2012-09-26 58 views
15

我敢肯定,我會因爲要求重複問題而被嘲笑;以前一定有人問過這個問題!但在一小時的搜索中,我還沒有找到它。我一定在尋找錯誤的東西。Vim:刪除到下一個字符,當下一個字符不在同一行

在VI(或VIM)我可以通過按鍵序列dt}刪除所有字符,直到達到}字符(或df}如果我要卸下支架以及)。

但是,這隻適用於}字符在當前行上。我想要做的是刪除一切,直到下一個},即使它是第一次出現在後續行上。

我在想像d/}(其中斜槓/}<enter>在任何其他上下文,將帶我到下一次出現})。出於顯而易見的原因,這不起作用,但我希望其意圖清楚。

==編輯==

好的好吧好吧...對不起。你沒事,它確實有效(在我的乾淨安裝機器上)。可能會在配置文件中出現一些混亂的映射,但它不適用於我的另一個映射。

航頭在恥辱

+2

你真的嘗試過嗎?因爲它適合我。 – parsifal

+0

當然我試過了!什麼對你有用? – cartbeforehorse

+1

有什麼「明顯的原因」會導致它失敗? vim上的行爲是什麼? – Scharron

回答

15

d/}<cr>作品。這是刪除直到下一個}不在同一行上的規範方式。順便說一下,d?{<cr>也是一樣,但方向相反。

1

如果字符是}{放置在一行的開頭,一個方式可以使用文本對象運動,所以像d]]的命令可能是有用的。

3

plugin應該爲您節省一些擊鍵。它擴展了fFtT的功能;所以他們跨線工作。

相關問題