使用 vim 編輯文本

使用 vim 編輯文本

我正在嘗試在 Vim 中編寫命令,該命令可以刪除第三行中的 9 和 11 符號。我這樣做了3s/9, 11///,但沒有發生我預期的情況。我們將非常感激您的建議。更準確地說:我想刪除第三行中的第 9 個符號和第 11 個符號。例如我有三行

  1. 距海面三米
  2. 低於海面三米
  3. 需要 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.

,此後每次您在編輯模式下按時,它都會執行這些命令。

相關內容