VIM で 4 行を 2 行 2 列に結合するにはどうすればよいですか?

VIM で 4 行を 2 行 2 列に結合するにはどうすればよいですか?

次のような2行のデータセットがあるとします

a
b

そして別の列を貼り付けたい場合、

c
d

そのデータセットを貼り付けて次のものを作成するにはどうすればよいでしょうか

a c
b d

または、以下のように連続して貼り付け、結合して上記を作成します。

a
b
c
d

この質問は、2 列として表示される PDF ファイルのコピーから生じますが、コピーすると 1 列になります (右の列が左の列に単に追加されます)。

答え1

Vim には列編集モードがあります。これは Stack Overflow で回答されています:https://stackoverflow.com/questions/6971903/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

関連情報