simon’s diary

思うがままに書き綴る。。。

勉強がてらvimの使い方をまとめてみる

現在、Linuxの勉強をしている。やはり、新しいスキルを手に入れることは楽しい。

ところで、vimlinuxに内蔵されているエディター。LinuxにはEmacsというエディタもあり、よくどちらの方がよいかということで議論になるらしい。vimの方が簡単そう、かつデフォルトっぽいので、vimを勉強する。

テキストを開くとき、vi,vimどちらのコマンドでも開けるとだが、厳密にはviとvimは違うらしい。vimはviの上位互換コマンドらしく、vimの方が機能が豊富なよう。ただ、大体の環境ではvimの機能が全てviコマンドで使えるのであんまり気にしなくていいのかも。

qiita.com

完全にここのまとめをパクった。 

escキー:ノーマルモード
iキー:入力モード
vキー:ビジュアルモード
:キー:コマンドモード

※入力モード、ビジュアルモード、コマンドモードに入るには、
必ずノーマルモードに戻らないといけない。つまり、入力モード→ビュジュアルモードみたいなモードの変換はできない。

ノーマルモード(escキー)

1.移動モード

  • ^:行頭へ移動
  • $:行末へ移動
  • gg:ファイルの先頭行へ移動
  • G:ファイルの行末の先頭へ移動
  • ctrl + f:次の画面に移動
  • ctrl + b:前の画面に移動
  • w:次の単語の先頭に移動
  • b:前の単語の先頭に移動
  • f文字:現在行の中で指定した文字に移動。;で次の単語に移動する。日本語の扱いに注意 

2.編集、削除

  • x:カーソル上にある単語を削除
  • dd:カーソル上にある行をカット(カット後、ペースト可能)
  • ndd:カーソル上にある行からn行カット
  • w:カーソル上にある単語を削除し、入力モードに変更
  • p:コピー、カットした文字をペースト
  • yl:カーソル上の一文字をコピー
  • nyl:カーソル上の文字からn文字コピー
  • yy:カーソル上の行をコピー
  • nyy:カーソル上の行からn行コピー

3.検索

  • /文字:Enterで文字の検索。nで下方向に検索、Nで上方向に検索
  • /Ctrl + p:コピーした文字の貼り付け

4.取り消し

  • u:前の操作を取り消す
  • ctrl + r:取り消したもの元に戻す

5.保存、終了

  • ZZ:保存して終了

ビジュアルモード(vキー)

  • 矢印:選択範囲を指定
  • y:選択した範囲をコピーして終了
  • x:選択した範囲をカットして終了

コマンドモード(:キー)

1.設定

  • w:保存
  • w ファイル名:ファイル名をつけて保存
  • q:終了
  • q!:変更を保存せずに終了
  • set number:各行に行数を表示
  • syntax on:シンタックスハイライトをONにする
  • set ignorecase:検索時に大文字、小文字を区別しない
  • set noignorecase:検索時に大文字、小文字を区別する

2.置換

  • s/変更対象文字列/変更後文字列/:カーソル行の対象文字一箇所のみ置換
  • s/変更対象文字列/変更後文字列/g:カーソル行も対象文字を全て置換
  • %s/変更対象文字列/変更後文字列/g:ファイル内の対象文字列をすべて置換
  • %s/変更対象文字列/変更後文字列/gc:ファイル内の対象文字列をすべて置換(一回ご:とに確認)

qiita.com

次はこっちも勉強しよう。