vi操作入門


はじめに

実際に現場で使っているコマンドの備忘録。
これぐらい知っていれば、あまり困らないと思う。

使い方

モードの切り替え

  • Esc コマンドモード移行
  • i インサートモード移行

カーソル移動関連

  • H L J K (左 右 上 下に移動)
  • 任意の文字数分左右に移動  例)5l,5H →5文字右(左)に移動
  • w 1単語右へ移動
  • Ctrl+f    1ページ分、下にスクロールする
  • Ctrl+b   1ページ分、上にスクロールする
  • Shift+G  最終行に移動
  • :数字 指定した数行に移動

exコマンド

  • :q 保存せずに終了
  • :w! 強制保存のみ
  • :wq 保存して終了
  • :ZZ 保存して終了
  • /xxx 検索
  • :sh シェル呼び出し

インサートモードの操作

・dd 一行削除
・HJKL カーソル移動
・x 一字削除
・yy 一行コピー
・p ペースト
・r[任意の文字] 一文字置換
・d$ 右側を全て削除
・:1,$s/abc/def/g   置換(1行目から、全行の"abc"を"def"に置換する)

その他小技

viで改行コード変換

 :%s/^M//g
 ^Mは、[Ctrl] + [V] キーを押してから、[Ctrl] + [M] キーを押せば入力出来る。

set binary noeol

 viは保存時に末尾に改行コードを自動的に付与する。
 これを回避したい場合は、あらかじめ:set binary noeolを実行後に編集する。

set number

 行番号を表示

参考

viエディタの使い方
http://www.net-newbie.com/linux/commands/vi.html
vi操作手引書
http://www.tokaido.co.jp/syoko/viman/frame.html
vi入門
http://atlas.kek.jp/physics/nyumon/vi-commands.html