Vi
vi 中的可視模式以刪除多行末尾的字元
builder.append("sss"); builder.append("aaaaaaaaa");
我想刪除 ; 在末尾。我可以在 sed 中使用各種腳本或在 vim 中全部替換。
但是,我想知道如何使用可視模式。
我知道如何在前面或後面添加進入可視模式,j,Shift + i,在開頭添加和 esc 類似 Shift + $ 結束。
但是,當我嘗試使用 j、Shift + $、Shift + a、退格和 esc 刪除時,它不起作用,我得到以下資訊:
builder.append("sss") builder.append("aaaaaaaaa");)
我究竟做錯了什麼?
聽起來對多行執行此操作的最簡單方法是在可視模式下標記塊,然後:
:'<,'>s/;$//
請注意,
'<,'>
意思是“從視覺塊的開始到結束”,當您:
在視覺模式下按下時會自動添加。
將游標放在分號上並使用
x
刪除它。(我假設您指的是 vi 的可視模式(與其 ex 模式不同),而不是 Vim 的
VISUAL
模式。)如果您真的想一次使用多行執行此操作,那麼您將不得不求助於冒號命令。如果您使用的是 Vim,那麼 @Greg Hewgill 的答案就是適合您的答案。如果您使用 vi,則必須用 標記第一行,
ma
最後用標記mb
,然後用 處理所有這些:'a,'bs/;$//
。