Vim入門2日目

Task

2019年10月30日 18:17

Vim を使い始めて 2 日目ですが、カーソル操作以外のモードの切替などにはだいぶ慣れてきました。

全選択を行う際に[Ctrl + A]が使えなくなってしまったのですが、Vim だと複数の入力操作を必要とするようです。

  1. gg(先頭) または G(末尾) に移動する
  2. v でビジュアルモードに変更する
  3. 1 で使わなかった方(1.が gg ならば G, G ならば gg)で選択範囲を決める
  4. d で削除を実行する

結構な頻度で全選択からの削除を行っていたのでこれが少し手間に感じてしまいます。

ただそのような場合は使われていないキーやキーの組み合わせを好みで設定することができます。

今はまだ全選択を登録していませんが、とりあえず少し使いやすいようにカスタマイズしました。

"vim.normalModeKeyBindings": [
  {
    "before": [
      "j"
    ],
    "after": [
      "g",
      "j"
    ],
  },
  {
    "before": [
      "k",
    ],
    "after": [
      "g",
      "k"
    ],
  },
  {
    "before": [
      "<Down>"
    ],
    "after": [
      "g",
      "j"
    ]
  },
  {
    "before": [
      "<Up>"
    ],
    "after": [
      "g",
      "k"
    ]
  },
],
"vim.insertModeKeyBindings": [
  {
    "before": [
      "j",
      "j",
    ],
    "after": [
      "<Esc>"
    ]
  },
  {
    "before": [
      "<Down>"
    ],
    "after": [
      "g",
      "j"
    ]
  },
  {
    "before": [
      "<Up>"
    ],
    "after": [
      "g",
      "k"
    ]
  },
],

INSERT モードから NORMAL モードに戻るのに ESC キーが毎回遠くて大変だったので、どのようにしているか後輩に聞くと jj を割り当てているようでした。調べてみると jj に割り当てるのは一般的らしく、これを設定するだけで左手を動かさずに INSERT モードを解除できるので楽になりました。

特定のファイルだと 1 行のコードが表示範囲を越えると自動的に改行処理を行ってくれるのですが、Vim の標準カーソル操作だと 1 行を複数行に見せかけたものは上下移動ができません。

なので標準の j と k で自動改行を処理できるように変更しました。ただ全然矢印キーのほうが操作頻度が高いんですが。

ノートパソコンだと hjkl をカーソル操作に当てると、どうしても手狭な感じがして指が動かしづらいので、セパレートタイプのキーボードが欲しくなりました。

p { margin-bottom: 1em; } blockquote p { margin-bottom: initial; } #content ul { padding-left: 40px; } .token.operator { background-color: initial; }

関連記事