vimで列形式のデータを編集する

vimで列形式のデータを編集する
Data

Name                     Age
Madhavan                 29
saravana<Tab Press>      !

vimでこのデータを表形式でどのように編集しますか?

行3列1のTabキーを押すと、カーソルが感嘆符の位置に移動する必要があります。

注:感嘆符はカーソルを移動したいマーカーの位置にすぎず、実際の文字ではありません。

これはemacsの組織テーブルモードを使用して行うことができますが、時には少し過剰です。

だからvim / shellでより簡単な方法を探していますか?

答え1

  1. カーソルをテキストを挿入する前の文字に移動します(下の行を選択した場合は一番下に、上に行く行を選択した場合は一番下に)。
  2. Ctrl + vを押してビジュアルブロックモードに入ります(マッピングされた貼り付け操作がない場合は、列の挿入方法が既にわかります)。
  3. 矢印キーを使用して列を選択し、
  4. Shift + iを押す(挿入モードに切り替える)
  5. 挿入するテキストを入力してください。 (最初の行にのみ表示されます。)
  6. escを2回押します。テキストを削除するには、手順1〜3に従い、削除したいテキストをすべて選択してxを押すと完了します!

注:より具体的な機能が必要な場合は、vimプラグインを検索できます。より多くの解決策が必要な場合は、他のオプションはxx列を別のファイルにエクスポートすることです(cutまたはawkを使用)。

答え2

次のことができます。

$vim +number_line file

Shiftを押してから+を押しますA。または、これを実行してを/word_to_find押してi編集することもできます。

答え3

すべてのセルを見たいです。したがって、通常モードでは、wまたはbコマンドを使用して各単語を前後に移動するのに役立ちます。

挿入モードで同じ機能を取得するには、mapを使用できます。

    :imap  <Tab> <Esc>wi

コマンドラインに入力してください。

編集中に Tab キーを押すと、次のセルに移動できます。私が作成したマッピングは挿入モードを終了し、次の単語(w)に進み、挿入モードに変わります。

関連情報