Vim

操作方法のメモ

基本操作

カーソル移動

キー 操作 備考
k上へ移動
j下へ移動
h左へ移動
l右へ移動
eカーソル位置の単語の末尾まで移動英字と記号を区別する
E英字と記号を区別しない
b前の単語の先頭まで移動英字と記号を区別する
B英字と記号を区別しない
w次の単語の先頭まで移動英字と記号を区別する
W英字と記号を区別しない
|行頭へ移動
_行頭がタブの場合、タブの右側へ移動
$行末へ移動
-前の行の行頭へ移動
+次の行の行頭へ移動
Enter
H画面の一番上の行へ移動
L画面の一番下の行へ移動
{直前の空行へ移動
}直後の空行へ移動
%対応する括弧の位置へ移動
Gファイル末尾まで移動
数字 G指定した行へ移動

スクロール

キー 操作 備考
zh1 文字左にスクロール
zl1 文字右にスクロール
zH左端へスクロール
zL右端へスクロール
Ctrl-e1 行下にスクロール
Ctrl-y1 行上にスクロール
Ctrl-f1 画面下にスクロール
Ctrl-b1 画面上にスクロール
Ctrl-d半画面下にスクロール
Ctrl-u半画面上にスクロール

バッファ操作

ファイル

コマンド 操作 備考
:q保存せずに終了変更箇所があると終了できない
:q!変更箇所があっても強制的に終了する
:wq保存して終了
:w上書き保存
:w ファイル名名前を付けて保存
:r ファイル名カーソル位置の下の行にファイルを挿入
Ctrl-gファイル名とファイル情報を表示

複数ファイルの扱い

コマンド 操作 備考
:files現在開いているファイルのリストを表示
:e ファイル名画面を分割しないで開く
:e #番号
:bdel [番号]バッファを閉じる
:bmod編集中のファイルに切り替える
:wa変更のあったファイルを全て保存:wall と入力しても同じ
:wqa変更のあったファイルを全て保存して終了:wqall と入力しても同じ
Ctrl-^ファイルを切り替える

画面分割

コマンド 操作 備考
:sp ファイル名画面を水平に分割して開く:new と入力しても同じ
:sp [#番号]
:vsp ファイル名画面を垂直に分割して開く
:vsp [#番号]
Ctrl-w kフォーカスを移動
Ctrl-w j
Ctrl-w h
Ctrl-w l
Ctrl-w +バッファの表示領域を広げる縦方向
Ctrl-w >横方向
Ctrl-w -バッファの表示領域を狭める縦方向
Ctrl-w <横方向

編集・削除

キー 操作 備考
i挿入モードに移るカーソル位置から挿入
I行頭から挿入
aカーソル位置の後ろから挿入
A行末から挿入
R上書き挿入モードに移る
U1 行全て元に戻す
uアンドゥ
Ctrl-rリドゥ
pカーソル位置の直後に貼り付け
Pカーソル位置の直前に貼り付け
J次の行と連結
~大文字・小文字の変換
.直前の変更コマンドを繰り返す
xカーソル位置の 1 文字を削除
Xカーソル直前の 1 文字を削除
ddカーソル位置の 1 行を削除
d カーソル移動カーソルの移動先まで削除dw, d$, d1G, d`a
Dカーソル位置から行末まで削除d$ と同じ
r 文字カーソル位置の 1 文字を修正
sカーソル位置の 1 文字を削除して挿入モードに移る
Sカーソル位置の 1 行を削除して挿入モードに移る
cc
c カーソル移動カーソルの移動先まで削除して挿入モードに移る
Cカーソル位置から行末まで削除して挿入モードに移るc$ と同じ
oカーソル位置のすぐ下に 1 行空けて挿入モードに移る
Oカーソル位置のすぐ上に 1 行空けて挿入モードに移る
キー 操作 備考
f 文字カーソル位置の 1 行から 1 文字を検索右方向
F 文字左方向
;カーソル位置の 1 行から次を検索
,カーソル位置の 1 行から前を検索
t 文字文字の手前まで移動右方向
T 文字左方向
/指定文字列を検索下方向
?上方向
*カーソル位置の単語を検索下方向
#上方向
n次を検索
N前を検索
:s/単語/単語/g正規表現置換
&直前の正規表現置換を繰り返すオプションは全て無視される

外部コマンド

コマンド 操作 備考
:! コマンド外部コマンドを実行する
:r! コマンド外部コマンドの出力を取りこむ
:数字,数字! コマンド指定行を標準入力としてコマンドを実行・出力を取りこむ

その他

キー 操作 備考
Ctrl-l再描画表示が変になったときに使用
Ctrl-aカーソル位置の数字を 1 増やす
Ctrl-xカーソル位置の数字を 1 減らす
m 文字マークを付ける
` 文字マークまで移動する
' 文字マークのある行の先頭へ移動する
q 文字マクロを記録する記録終了は q
@ 文字マクロを実行する
Kカーソル位置の単語を man コマンドで調べる

オプション

コマンド 省略形 操作 備考
:syntax onカラー表示元に戻すときは :syntax off
:set ignorecaseic検索時に大文字小文字を区別しない元に戻すときは :set noignorecase
:set hlsearchhls検索時にハイライト表示元に戻すときは :set nohlsearch
:noh一時的にハイライト表示を消す
:set incsearchisインクリメントサーチ元に戻すときは :set noincsearch
:set autoindentai自動インデント元に戻すときは :set noautoindent
:set wrap長い行を折り返して表示元に戻すときは :set nowrap
:set tabstop=数字tsタブ幅の設定
:set formatoptions=qfo自動改行しない
:set fileencodings=文字コード,…fencs文字コードの自動判別を行なう文字コードセット
:set fileencoding=文字コードfenc現在開いているファイルの文字コードを変更する
:set fileformat=改行コードff改行コードを指定unix (LF), dos (CR+LF), mac (CR)
:set ambiwidth=doubleUTF-8 使用時、一部の記号を全角文字とみなす元に戻すときは :set ambiwidth=single
:set backspace=indent,eol,start挿入モードでバックスペース押下時の動作を変更

八木原が使っている .vimrc ファイル

syntax on
set tabstop=4
set fileencodings=iso-2022-jp,utf-8,euc-jp,ucs-2le,ucs-2,cp932
set fileencoding=utf-8
set autoindent
set backspace=indent,eol,start
set ignorecase
set hlsearch
set nowrap
set nolinebreak
set textwidth=0
set formatoptions=q
set ambiwidth=double
set viminfo='0,\"0,/0,:0,@0,f0,h

リンク


八木原 勇太
E-Mail : yagihara◆ice.uec.ac.jp