vim入門 ~備忘録~

vimをどうしても使わなければならない場面がたまにあり、そのたびに調べたりしているので書いておこうかと思います。

vimのバージョン

vimにはバージョンがありバージョンによっては矩形挿入が使えなかったりするそうです。コンパイル時に決まるVimの種類は、下記の5つがあります(上に行くほど機能が制限されている)

  • tiny
  • small
  • normal
  • big
  • huge

矩形挿入が使えるのはnormal以上のもの(normal, big, huge)です。

vimのモード

vimにはノーマルモード、入力モード、ビジュアルモードがあります。起動時はノーマルモードになっています。iをおすと入力モードに移行します。またノーマルモードに戻るにはescキーを押します。ビジュアルモードに移行するにはvをおします。ノーマルモードに戻るにはescキーを押します。

それぞれのモードで役割が違います

ノーマルモード おもにコマンド操作を行う
入力モード テキストの入力をおもに行う
ビジュアルモード 複数行の選択など

vimのコマンド

でつくしてはいると思いますが書いておきます。

#ノーマルモード
最初の画面

#i 入力モード
#esc ノーマルモード

#コマンドモード
: をおすとコマンドモード

#ビジュアルモード
v をおすとビジュアルモード,範囲選択可能

#コマンド
:w 上書き保存 :w ファイル名 新しく保存
:q! 変更せずに終了
:e 他のファイルを開く

#移動系
gg 上部へ移動
G 下部へ移動
ctrl+f / ctrl+b 画面単位の移動
w / b 単語単位の移動
^ / $ 行頭と行末
f x 検索移動 → その後;をおすと次の検索対象へ
% かっこの上でおすととじかっこまでとぶ

#カット,コピー,貼り付け
x 一文字単位のカット
dd 一行カット
3dd 3行カット
yy コピー
p 貼りつけ

#検索
/ 検索
n/N 下方向と上方向
*/# 今あるカーソルの単語を下方向と上方向

#置換
tate
:s/state/State 置換
:s/i/I/g 行全体を置換
:%s/i/I/g 全部を置換
:%s/i/I/gc 確認を求める

#undo redo
u undo 元に戻す
ctrl+r redo やりなおし

#画面分割
:sp 縦方向に分割
ctrl+w w 画面推移
close 分割終了

#タブ
:tabnew タブの作成
gt タブの移動
:tabclose タブを閉じる
vi -p file1 file2 タブで開く

#繰り返し
. 直前の操作を繰り返す

#ビジュアルモードのコマンド
shift + v 行単位
ctrl + v 矩形選択