VIM 如何將四行合併為兩行兩列?

VIM 如何將四行合併為兩行兩列?

假設您有以下包含兩行的資料集

a
b

並且您想貼上另一列,

c
d

如何貼上該資料集以產生以下內容

a c
b d

或者,連續貼上它們(如下所示),然後合併它們以產生上面的內容

a
b
c
d

這個問題來自一個 PDF 檔案的副本,該檔案顯示為兩列,但複製為一列(右列僅附加到左列)。

答案1

Vim 有列編輯模式。 Stack Overflow 上對此做出了回答:https://stackoverflow.com/questions/6971903/how-to-do-column-editing-in-vim

來自一個部落格文章,步驟一般為:

  1. Ctrl + V 進入列模式
  2. 選擇要輸入文字的列和行
  3. Shift + i 在列模式下進入插入模式
  4. 輸入您要輸入的文字。不要因為只更改第一行這一事實而氣餒。
  5. Esc 套用變更(或按 Ctrl+c)

就像聲明的那樣在文件中,如果您使用的是 Windows 或將 ctrl-v 對應到其他內容,您也許可以使用ctrl-q反而

答案2

第一步並不總是必要的,但由於您想要在列之間放置空格並且文字中沒有相應的空格,因此將“virtualedit”設為“all”:

:set ve=all

接下來,將遊標移到要移動的文字的左上列並鍵入

Ctrl-V$

其中 Ctrl-V 表示CtrlV,然後將遊標向下移動到要複製的文字的最後一行並鍵入y以複製或d刪除它。

現在將遊標移到(在您的情況下)的右側a並鍵入p

相關內容