基本
- ヘルプコマンドの使い方 (
:help
,:helpgrep
) - 移動
- 文字の削除方法まとめ (
d
,delete
) - 文字の置換方法まとめ (
:s
,:substitute
) - ウィンドウを分割する
- アンドゥとリドゥ操作
- ビジュアルモードの基本
コマンドモード
検索
- Vim 内で grep を実行して見つかったファイルへジャンプする
- ファイル内の文字列を検索する
- カーソル位置の単語を検索する
- カーソル位置の単語に対して任意のコマンド(ヘルプなど)を実行する (keywordprg)
- 大文字と小文字を区別しないで検索する
- 検索に関する設定
コマンドライン
ファイル
ファイルを開く
- ファイル名を指定してファイルを開く
- カーソル位置の単語をファイル名としてファイルを開く (gf)
- 編集中のファイルと拡張子だけが異なるファイルを開く (%<)(Hello.cpp を編集中に Hello.h を開く)
- ディレクトリエクスプローラー (Explore) を使用してファイルを開く (:E, :Ve, :He)
- カレントディレクトリを Windows エクスプローラーで開く
ファイルを保存する
その他
- 別ファイルの内容や外部コマンドの実行結果をカーソル位置に挿入する (:read)
- ファイルのエンコーディング形式、改行コードを変更する (fenc, ff)
- スワップファイルからファイルを復旧する (:recover)
- 2 つのファイルの差分を取る・マージする (vimdiff, vim -d)
編集操作
文字の追加
削除
整形/変換
- 行を連結する
- 文字を入れ替える、行を入れ替える(スワップ操作)
- インデント用のスペースを入力する(シフトコマンド)
- 選択した範囲を自動インデントする
- すでに入力されているタブをスペースに変換する (:retab)
- テキストを中央寄せ/左寄せ/右寄せする
- 大文字と小文字を変換する
- カーソル位置の数字をインクリメント/デクリメントする
- ソート
カット&ペースト
応用操作
- Vim 上でディレクトリツリーを表示する (NERDTree)
- 折りたたみ機能 (folding) を使用する
- 指定した行範囲を一時的に表示する
- 一時的にシェル(ターミナルやコマンドプロンプト)を起動する
- キーボードマクロを記録して一連のキー入力を繰り返し実行する
- プリンタで印刷する (hardcopy)
- 行の情報を表示する
- ファイルに保存した ex スクリプトを実行する
- プログラマ向け操作
インストール/環境
- MacOSX に香り屋版の GVim をインストールする
- Vundle をインストールして Vim のプラグイン環境を作る
- Windows の右クリックから Vim を開けるようにする
- Windows でファイルを開くときに既存の GVim 内のタブで開く
Vim の設定
ファイル・ディレクトリに関する設定と操作
- 設定ファイルのパスを確認する
- 設定ファイル (
.vimrc
) を開く、リロードする - モードラインでファイルごとに書式を設定する
- バックアップファイル/スワップファイル/アンドゥファイルの設定 (backup, swapfile, undofile)
- ウィンドウ(タブ)移動時にカレントディレクトリも自動で移動する (autochdir)
キーマップ設定
- キーマップの基本 (map, noremap)
- 現在のキーマップの一覧を表示する (map)
- map、noremap 系コマンドで使用できる特殊キーの一覧 (keycodes)
- Leader キーを使ったキーコンビネーションを定義する (mapleader)
- キーマップの例
autocmd(自動コマンド)による設定
表示の設定
- 行番号を表示する (
set number
) - 80文字目に縦線を表示する (colorcolumn)
- 構文強調(シンタックスハイライト)を有効にする (syntax)
- カーソル下の行や列をハイライト表示する (cursorline, cursorcolumn)
- フォント設定ダイアログを開いてフォントを設定する (guifont)
- 改行、タブ文字、行末のスペースを表示する (list, listchars)
- 全角スペースを表示する
- ■や※などの記号が重なって表示される問題の解決 (ambiwidth)
- GVim 起動時のウィンドウの幅、高さを設定する (columns, lines)
- ステータスラインの表示内容を設定する (statusline, laststatus)
入力に関する設定
- インサートモード中に Backspace キーや CTRL-W で文字を削除するときの振る舞いを変更する (backspace)
- タブ文字の設定 (tabstop, expandtab)
- インデント(シフトコマンド)の設定 (shiftwidth, shiftround)
- 省略形を用いたテキスト入力を行えるようにする (abbrevaite)
- スペルチェックを有効にする (spell)
- 自動インデントモードを有効にする (autoindent, cindent, smartindent)
- Java や C/C++ のコメント記述に便利な formatoptions の設定
- ビジュアルモードで簡単にインデントを行えるようにする