はじめに
vimをなんとなく触ってたけどちょっと調べて自分用にまとめました。
初心者向けだとか上級者向けだとか書いてますが、知ってるか知らないかの違いでしかないので、あくまで目安として基本的なものから順に書いてみたって感じです。
🐣 初心者向け(まずこれ)
コマンド | 意味 |
---|---|
i | 挿入モードに入る |
ESC | ノーマルモードに入る |
:w | ファイルを保存 |
:q | Vimを終了 |
:wq | 保存して終了 |
:q! | 保存せず終了 |
hjkl | 左、下、上、右に移動 |
x | 一文字削除 |
u | 元に戻す(Undo) |
ctrl + r | Undoを取り消す(Redo) |
yy | 1行コピー |
dd | 1行削除(カット) |
p(ctrl + shift + v) | 貼り付け |
/文字列 | 前方検索 |
n | 次の検索結果へ移動 |
N | 前の検索結果へ移動 |
:help | ヘルプを開く |
📝 中級者向け(Vimらしさを感じる)
コマンド | 意味 |
---|---|
v | ビジュアルモード(範囲選択) |
V | 行単位で選択 |
ctrl + v | 矩形選択(ビジュアルブロック) |
:e ファイル名 | 別のファイルを開く |
:sp ファイル名 | 画面を上下に分割して開く |
:vsp ファイル名 | 画面を左右に分割して開く |
:bn / :bp | 次/前のバッファへ移動 |
:bd | バッファを閉じる |
:%s/旧/新/g | ファイル全体で文字列を置換 |
:set number | 行番号表示 |
:set relativenumber | 相対行番号表示 |
. | 直前の操作を繰り返す |
gg | ファイルの先頭へ |
G | ファイルの最後へ |
:tabnew | 新しいタブを開く |
gt / gT | 次/前のタブに移動 |
📌 ビジュアルモード(範囲選択)とは?
ビジュアルモードは、カーソルで文字の範囲を選択するモードのことです。
例えば、普通のテキストエディタでドラッグして選択するのと同じ感覚です。
✅ 操作方法
操作 | 動作 |
---|---|
v | 文字単位で選択開始(Visual) |
V | 行単位で選択開始(Visual Line) |
ctrl + v | 矩形(ブロック)選択開始(Visual Block) |
✅ できること
ビジュアルモードで選択した範囲に対して
- y → コピー
- d → 削除
- p → 貼り付け
- > / < → インデント
- gU → 大文字化
- gu → 小文字化
などができる
🔥 上級者向け(爆速・効率化)
コマンド | 意味 |
---|---|
:%y+ | ファイル全体をクリップボードにコピー |
:r ファイル名 | ファイルの内容を現在のカーソル位置に挿入 |
:!コマンド | シェルコマンドを実行(例::!ls) |
:m .+1 | 現在行を下に移動 |
:m .-2 | 現在行を上に移動 |
gU + v で選択 → U | 選択範囲を大文字に |
gu + v で選択 → u | 選択範囲を小文字に |
Ctrl + o | ジャンプリストの戻る |
Ctrl + i | ジャンプリストの進む |
:noh | ハイライト(検索結果)を消す |
:set paste / :set nopaste | 貼り付けモードのON/OFF |
q: | コマンド履歴を見る |
q/ / q? | 検索履歴を見る |
:syntax on / :syntax off | シンタックスハイライトのON/OFF |
:marks | マーク一覧表示 |
m{a-z} | カーソル位置にマーク設定(例:ma) |
'a | aマークの位置にジャンプ |
📌 ジャンプリストの戻る・進むとは?
ジャンプリストは、Vimで
- Gで移動したり
- :eでファイル開いたり
- 検索で飛んだり
と「ジャンプした履歴」を管理してるリストのこと。
✅ 操作方法
操作 | 動作 |
---|---|
Ctrl + o | ジャンプリストの前に戻る |
Ctrl + i | ジャンプリストの次へ進む |
✅ イメージ
- A行 → G → B行 → /search → C行 とジャンプしたとき
Ctrl + oで B → A → (さらに前)
Ctrl + iで A → B → C に行ける感じ
「戻る・進むボタン付きの履歴ジャンプ機能」ですね。
📌 カーソル位置にマーク設定とは?
マーク(mark)は、特定の行・位置に「しおり」を付けておいて、
あとでそこに一発でジャンプできる機能です。
✅ 操作方法
操作 | 動作 |
---|---|
m[a-z] | 現在の位置にマークを付ける(例:maで「aマーク」) |
'a | 行頭にジャンプ(例:'aでaマークへ行く) |
`a | マークした正確なカーソル位置へジャンプ |
🎁 おまけ:便利な.vimrc設定例
vim
set number " 行番号表示
syntax on " シンタックスハイライト
set tabstop=4 " タブ幅を4に設定
set expandtab " タブをスペースに変換
set clipboard=unnamedplus " クリップボード共有 (対応Vimのみ)
set hlsearch " 検索結果をハイライト
set incsearch " インクリメンタルサーチ
📖 使い方のおすすめ
まずは初心者向けを完全に覚える
→ 中級者向けを少しずつ取り入れる
→ 上級者向けで自分流の効率化を目指す
Vimは一気にやると大変なので、日々のメモや勉強用のノート記述にVimを使ったりして、少しずつ「これ便利だな」と思ったものを取り入れるのが良い気がします。