
我正在嘗試在 Vim 中編寫命令,該命令可以刪除第三行中的 9 和 11 符號。我這樣做了3s/9, 11///
,但沒有發生我預期的情況。我們將非常感激您的建議。更準確地說:我想刪除第三行中的第 9 個符號和第 11 個符號。例如我有三行
- 距海面三米
- 低於海面三米
- 需要 vim 的幫助
所以我想刪除第三行中的第9個符號,即單字「some」中的「e」字母和第11個符號,即單字「help」中的字母「h」。
答案1
27.4 Matching multiple times
使用者手冊第 27 章部分對多次配對進行了說明(請參閱:help usr_27.txt
)。
如果第 3 行至少包含 9 個字符,以下命令將刪除該行的前 9、10 或 11 個字符。如果該行包含較少的字符,它將返回E486: Pattern not found:
:3s/.\{9,11}//
不確定這是否是您想要的,如果不是,請更新您的問題。
答案2
在編輯模式下,輸入:
08lxl.
0
將遊標移至行首8l
將遊標向前移動 8 個字符x
刪除遊標下的字符l
將遊標向前移動 1 個字符.
重複上一個指令 (x)
如果你想將其綁定到一個鍵(例如,
):
:map , 08lxl.
,
此後每次您在編輯模式下按時,它都會執行這些命令。