Vimとは?
viから派生した高機能なテキストエディタです。
viはLinuxに標準搭載されているため、使ったことがある人は多いと思います。
大体同じような操作感ですが、viと違うところもあります。
vimの特徴
- ストレスの少ないマルチプラットフォーム
- とにかく軽くて速い
- 基本的にキーボードだけで操作が可能
インストール方法
- Mac/Ubuntu
- MacとUbuntuには最初からインストールされています。
- Windows
- ローカル開発環境
-
sudo yum install -y vim
インストールが完了すれば、 vim コマンドを利用できるようになります。
vimのモードについて
key |
内容 |
ノーマルモード |
カーソル移動やテキストの削除、コピー、ペーストなどの簡単な指示を行う。 |
ビジュアルモード |
テキストを選択するだけのモード。 |
挿入モード |
実際にテキストを入力するモード。 |
コマンドラインモード |
ファイルを開いたり、検索・置換などの様々な指示を行う。 |
モード切り替え
key |
内容 |
i |
挿入モードへ |
o |
新しい行を追加し挿入モードへ |
R |
上書きモードへ |
v |
ビジュアルモードへ |
V (Shift + v) |
行選択のビジュアルモード |
Ctrl + v |
矩形選択のビジュアルモードへ |
ESC |
コマンドモードに戻る |
ctrl + [ |
コマンドモードに戻る |
ctrl + z |
vim を一時停止する |
ciw |
カーソル上の単語を削除してインサートモードへ |
Vimの保存と終了
key |
内容 |
:w [ファイル名] |
指定されたファイル名で保存する。ファイル名を省略した場合には、現在のファイルに上書きする |
:w! [ファイル名] |
書き込みを強行する |
ZZ |
Vimを終了する。ファイルが変更されている場合には、変更を保存する |
:wq |
ファイルを保存してVimを終了する |
:q |
Vimを終了する。ファイルに変更がある場合には警告が標示される |
:q! |
Vimを強制的に終了する。ファイルに変更がある場合は、変更分は無視 |
カーソル位置を移動
key |
内容 |
h(または←) |
左に1文字分移動する |
j(または↓) |
下に1文字分移動する |
k(または↑) |
上に1文字分移動する |
l(または→) |
右に1文字分移動する |
Ctrl + d |
半画面分下に移動する |
Ctrl + u |
半画面分上に移動する |
gg |
ファイルの先頭へ移動する |
G |
ファイルの末尾へ移動する |
O |
行頭へ移動する |
$ |
行末へ移動する |
w |
単語単位で右へ移動する |
b |
単語単位で左へ移動する |
Ctrl + f |
1画面分下に移動する |
Ctrl + b |
1画面分上に移動する |
zz |
カーソルが画面中央になるようにスクロール |
Ctrl + o |
古いカーソル位置に戻る。 (Old) |
Ctrl + i |
新しいカーソル位置に進む。 |
コピー&ペースト&削除
key |
内容 |
yy |
今いる行をコピー (yank) |
p |
カーソルの場所に、ペースト |
yy5p |
現在の行をコピーし、下に5行追加する |
gv |
直前の選択範囲を再選択 |
x |
カーソルの位置にある文字を削除する。キーボードの[Del]と同じ挙動です |
X |
カーソルの位置の左の文字を削除する。キーボードの[BS]と同じ挙動です |
dd |
カーソルのある行を1行削除する |
D |
カーソルのある位置から行末まで削除する |
検索と置換
key |
内容 |
* |
カーソル下の単語を検索 |
# |
カーソル下の単語を検索 (上方向に検索) |
:%s/hage/hoge/g |
単語の置換(hageをhogeへ置換)。% はファイル全体を表す。 |
編集
key |
内容 |
. |
直前の変更を繰り返す |
u |
Undo |
Ctrl + r |
Redo |
特殊文字
key |
内容 |
Ctrl-v return |
改行文字の入力 |
Ctrl-v tab |
Tab 文字の入力 |
ウィンドウ
key |
内容 |
:vsplit |
画面を左右に分割する |
:sp filename |
新しいバッファと分割ウィンドウでファイルを開く |
:e filename |
今いるWindowにファイルを開く (Edit) |
:e test*.cc |
ワイルドカードを指定してファイルを開く |
Ctrl +w h |
左のWindowへ移動 |
Ctrl + w l |
右のWindowへ移動 |
バッファ
key |
内容 |
:buffers |
編集中のバッファ一覧を表示 |
:bn |
次のバッファに移動 |
:bd[elete] |
バッファを削除 |
単語補完
key |
内容 |
Ctrl + p |
単語補完(前方検索) |
Ctrl + n |
単語補完(後方検索) |
マクロ
key |
内容 |
q<letter> |
マクロの記録開始 |
q |
マクロの記録停止 |
@<letter> |
マクロの実行 |
レジスタ
key |
機能 |
:reg |
レジスタの一覧表示 |
Ctrl + r " |
ヤンクした文字列をペースト |
コマンドの意味
その他
key |
内容 |
:!command |
外部コマンドの実行 |
: |
範囲選択中に : を入力すると、選択領域の範囲指定( ’<,’> )が自動で挿入された状態でコマンドモードに入る。これを置換に利用すると便利。 (例: :'<,'>s/old/new/g) |
Ctrl + a |
数値のインクリメント |
Ctrl + x |
数値のデクリメント |
Interactive Vim tutorial
Learning VIM while playing a game