
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