VI - 將某些內容貼到一系列行的第一個位置/字元中

VI - 將某些內容貼到一系列行的第一個位置/字元中

我想拉出一個字元並將其貼到連續行的第一個位置。例如,我需要在一個檔案的7行前面加上一個「#」。

有人可以幫我嗎?

答案1

這很大程度上取決於您所調用的內容vi。如果它確實是original-vi,那麼你可以這樣做

  • 鍵入yl以「猛拉」從遊標位置開始的字符,向右移動一個儲存格。
  • 將遊標移到要放置文字的第一行
  • 重複打字0PEnter,瀏覽七行。

在original-vi中,您只能使用以下命令影響一系列行前任模式。這前任mode ofvi確實接受一個範圍,但類似的命令

:1,7P

不會putA特點,但嘗試做一些事情。相反,使用前任模式,你會做一個代替,例如,

:1,7s/^/X/

但沒有辦法暫存器值(您選擇的角色猛拉) 用於替換。

延伸閱讀:

答案2

注意:此答案僅適用於 VIM,不適用於 VI。

您可以透過以下方式將其拉入列中:

  1. 以正常模式啟動(不是插入)。
  2. 轉到第一行和第一列(要插入文字的位置)。
  3. Ctrl+V進入垂直選擇模式。
  4. 選擇要在其前面貼上文字的所有行後,按Shift+ I
  5. 現在你可以
    1. Ctrl使用+ R, 0(或其他暫存器)貼上您拉出的文字。
    2. 或寫任何文字。
  6. 完成後,按Esc,相同的文字將出現在所有選定的行中。

附註:您也可以向 Vi(m) 詢問以下問題:vi.stackexchange.com

相關內容