Skip to content
Published on

Vimコマンド完全ガイド:究極のテキストエディタをマスターする全コマンド総まとめ

Authors
  • Name
    Twitter

1. Vimの紹介

1.1 歴史:Vi → Vim → Neovim

Viは1976年にBill JoyがBSD Unix向けに作成したテキストエディタである。当時のターミナル環境でキーボードのみで効率的な編集を可能にした革新的なツールであった。Viの核心的なアイデアである**モーダル編集(Modal Editing)**は今日まで生き続けている。

Vim(Vi IMproved)は1991年にBram Moolenaarが公開したViの大幅拡張版である。シンタックスハイライト、プラグインシステム、マルチウィンドウ、マクロ、正規表現置換など数百もの機能が追加された。VimはGNU/Linuxサーバーにデフォルトで搭載され、世界中の開発者やシステム管理者が日常的に使用する標準エディタとなった。

Neovimは2014年に始まったVimのリファクタリングフォークである。Luaベースの設定、内蔵LSP(Language Server Protocol)、非同期プラグインAPIを提供し、VS Codeレベルの IDE体験をターミナルで実現することを目指している。

エディタリリース特徴
Vi1976モーダル編集の元祖、軽量
Vim1991プラグイン、シンタックスハイライト、マクロ
Neovim2014Lua API、内蔵LSP、非同期処理

1.2 なぜVimを学ぶべきか

  • どこでも使える:SSH接続したリモートサーバー、Dockerコンテナ、組み込みデバイス — ほぼすべてのUnix環境にVi/Vimがインストールされている。
  • 手がキーボードから離れない:マウスなしですべての操作が可能なため、編集速度が劇的に向上する。
  • 強力な組み合わせ言語d3w(単語3つ削除)、ci"(引用符内の内容変更)のように、動詞+回数+名詞の構造で複雑な操作を簡潔に表現できる。
  • マクロと自動化:繰り返し作業をマクロに記録し、数千行を一瞬で変換できる。
  • Vimキーバインドの汎用性:VS Code、IntelliJ、Obsidian、Jupyter、bash readline、tmux copy modeなど数十のツールがVimキーバインドをサポートしている。Vimを学べばすべてのツールが速くなる。

2. モード(Mode)の概念

Vimの最も重要な特徴はモーダル編集である。キーを押したときの動作が現在のモードによって完全に変わる。

2.1 主要モードと遷移

モード説明進入方法脱出方法
Normal移動、コマンド実行<Esc><C-c>—(デフォルトモード)
Insertテキスト入力iaoIAOsc<Esc><C-c>
Visual文字単位の選択v<Esc>v
Visual Line行単位の選択V<Esc>V
Visual Blockブロック(列)単位の選択<C-v><Esc><C-v>
Command-line:コマンド入力:/?!<Esc><CR>
Replace文字の上書きR<Esc>

2.2 モード遷移ダイアグラム

         ┌─────────────────────────────────────────┐
Normal Mode           (起動時のデフォルト / <Esc>で常に復帰)         └────┬───────┬───────┬────────────────────┘
              │       │       │
         i,a,o│    v,V   :,/,?              │       │       │
         ┌────▼──┐ ┌──▼────┐ ┌▼────────────┐
         │Insert │ │Visual │ │Command-line │
Mode  │ │ Mode  │ │    Mode         └───────┘ └───────┘ └─────────────┘

ルール:いつでも<Esc>を押せばNormal Modeに戻る。迷ったときに<Esc>を2回押すのがVimサバイバルルール第1条である。


3. 移動コマンド

3.1 基本移動(hjkl)

キー動作
h左に1文字移動
j下に1行移動
k上に1行移動
l右に1文字移動
5j下に5行移動(数字プレフィックス可能)
10k上に10行移動

3.2 単語単位の移動

キー動作
w次の単語の先頭へ移動(句読点区切り)
W次のWORDの先頭へ移動(空白区切り)
b前の単語の先頭へ移動
B前のWORDの先頭へ移動
e現在/次の単語の末尾へ移動
E現在/次のWORDの末尾へ移動
ge前の単語の末尾へ移動

小文字(wbe)は句読点を単語の境界として認識し、大文字(WBE)は空白のみを境界として認識する。hello_worldではwは2回、Wは1回で移動する。

3.3 行単位の移動

キー動作
0行の先頭(カラム0)へ移動
^行の最初の非空白文字へ移動
$行の末尾へ移動
g_行の最後の非空白文字へ移動
ggファイルの最初の行へ移動
Gファイルの最後の行へ移動
42G42行目へ移動
:4242行目へ移動(コマンドモード)
%マッチする括弧/中括弧/大括弧へ移動

3.4 画面スクロール

キー動作
<C-u>画面を半分上にスクロール
<C-d>画面を半分下にスクロール
<C-f>画面全体を下にスクロール(Page Down)
<C-b>画面全体を上にスクロール(Page Up)
H画面最上行にカーソル移動(High)
M画面中央行にカーソル移動(Middle)
L画面最下行にカーソル移動(Low)
zz現在行を画面中央に配置
zt現在行を画面上部に配置
zb現在行を画面下部に配置

3.5 検索移動

キー動作
/pattern下方向にpatternを検索
?pattern上方向にpatternを検索
n同じ方向に次の検索結果へ
N反対方向に次の検索結果へ
*カーソル下の単語を下方向に検索
#カーソル下の単語を上方向に検索
f{char}現在行でcharを前方検索し、その位置へ移動
F{char}現在行でcharを後方検索
t{char}charの直前へ移動(till)
T{char}charの直後(逆方向)へ移動
;f/F/t/Tの方向に繰り返し
,f/F/t/Tの逆方向に繰り返し

3.6 ジャンプ移動

キー動作
<C-o>前のカーソル位置へ移動(jump back)
<C-i>次のカーソル位置へ移動(jump forward)
''直前のジャンプ位置へ復帰(シングルクォート2回)
m{a-z}現在位置をマークa〜zに保存
'{a-z}マークへ移動
gdローカル定義(declaration)へ移動
gDグローバル定義へ移動

4. 編集コマンド

4.1 Insertモードへの進入

キー動作
iカーソルの前でInsert Mode進入
I行の最初の非空白文字の前でInsert Mode進入
aカーソルの後でInsert Mode進入(append)
A行の末尾でInsert Mode進入
o現在行の下に新しい行を追加してInsert Mode進入
O現在行の上に新しい行を追加してInsert Mode進入
gi最後に編集した位置でInsert Mode進入

4.2 削除コマンド

キー動作
xカーソル下の文字を削除
Xカーソル前の文字を削除(Backspace)
dd現在行を削除
3dd現在行から3行削除
Dカーソルから行末まで削除(d$と同じ)
dwカーソルから次の単語の先頭まで削除
deカーソルから単語の末尾まで削除
d0カーソルから行頭まで削除
dG現在行からファイル末尾まで削除
dgg現在行からファイル先頭まで削除

削除されたテキストはレジスタに保存され、pで貼り付けできる。Vimの削除は「カット(Cut)」と同じである。

4.3 変更コマンド

キー動作
r{char}カーソル下の文字をcharに置換(Normal Mode維持)
RReplace Mode進入(連続上書き)
sカーソル下の文字を削除してInsert Mode進入
S現在行の内容を削除してInsert Mode進入(ccと同じ)
cwカーソルから単語の末尾まで変更
cc現在行の内容を変更
Cカーソルから行末まで変更(c$と同じ)
c0カーソルから行頭まで変更
~カーソル下の文字の大文字/小文字を切り替え
g~w単語の大文字/小文字を切り替え
guw単語を小文字に変換
gUw単語を大文字に変換

4.4 コピーと貼り付け

キー動作
yy現在行をコピー(yank)
Y現在行をコピー(yyと同じ)
3yy現在行から3行コピー
ywカーソルから単語の末尾までコピー
y$カーソルから行末までコピー
y0カーソルから行頭までコピー
pカーソルの後(下)に貼り付け
Pカーソルの前(上)に貼り付け
gppと同じだが、貼り付け後カーソルをテキストの末尾に移動
"ayyレジスタaに現在行をコピー
"apレジスタaの内容を貼り付け

4.5 Undo / Redo

キー動作
u最後の変更を取り消し(Undo)
3u最後の3つの変更を取り消し
<C-r>Undoを取り消し(Redo)
U現在行に対するすべての変更を取り消し

4.6 インデント

キー動作
>>現在行をインデント
<<現在行をアウトデント
3>>3行をインデント
=自動インデント(Visual選択後または==で現在行)
==現在行を自動インデント
gg=Gファイル全体を自動インデント

5. Visual Mode

5.1 Visual Modeの種類

キーモード説明
vVisual(文字)文字単位の選択
VVisual Line行単位の選択
<C-v>Visual Block列(column)単位のブロック選択
gv前回のVisual選択範囲を再選択

5.2 Visual Modeで使用可能な操作

キー動作
d / x選択範囲を削除
y選択範囲をコピー
c選択範囲を削除してInsert Mode進入
> / <選択範囲をインデント / アウトデント
=選択範囲を自動インデント
~選択範囲の大文字/小文字を切り替え
u選択範囲を小文字に変換
U選択範囲を大文字に変換
:選択範囲にコマンドを適用(:'<,'>
o選択範囲の反対端にカーソルを移動

5.3 Visual Block 実践例

Visual Block(<C-v>)は複数行に同時にテキストを挿入または削除する際に非常に便利である。

例:複数行の先頭に//コメントを追加する

1. <C-v>でVisual Block進入
2. jを押して必要な行数を選択
3. Iを押してブロックInsert Mode進入
4. // を入力
5. <Esc>を押すと、選択されたすべての行に // が挿入される

例:複数行の特定カラムの内容を削除

1. <C-v>でVisual Block進入
2. 必要な範囲を選択(hjklで列範囲を調整可能)
3. dで削除

6. テキストオブジェクト(Text Objects)

テキストオブジェクトはVim編集の核心的な概念である。{operator}{a|i}{object}の構造で「動詞 + 前置詞 + 名詞」形式のコマンドを構成する。

  • a(around):オブジェクトと周囲の空白/区切り文字を含む
  • i(inner):オブジェクトの内部のみを選択

6.1 テキストオブジェクト一覧

オブジェクトi(inner)a(around)
w単語の内部単語 + 周囲の空白
WWORDの内部WORD + 周囲の空白
s文の内部文 + 後続の空白
p段落の内部段落 + 前後の空行
""..."の内側"..."全体
''...'の内側'...'全体
``...`の内側`...`全体
( / )(...)の内側(...)全体
[ / ][...]の内側[...]全体
{ / }{...}の内側{...}全体
< / ><...>の内側<...>全体
tXML/HTMLタグの内部タグを含む全体

6.2 テキストオブジェクト + Operator 組み合わせ例

コマンド動作例示
diwカーソル下の単語を削除helloの上で → 単語削除
dawカーソル下の単語 + 空白を削除文中の単語を完全に除去
ci""..."内の内容を変更"old" → 引用符を保持して内容を置換
ca""..."全体を変更"old" → 引用符ごと置換
di((...)内の内容を削除関数の引数をすべて削除
da((...)全体を削除括弧ごと削除
yip現在の段落をコピー段落全体をコピー
dap現在の段落を削除段落全体を削除
vitHTMLタグ内部をVisual選択<div>content</div>のcontentを選択
citHTMLタグ内部を変更タグの内容を置換
=i{中括弧内を自動インデント関数本体全体を整列
>i{中括弧内にインデントを追加

7. コマンドモード(Command-line Mode)

7.1 ファイル操作

コマンド動作
:w保存
:w filename別名で保存
:q終了(変更がない場合)
:q!変更を無視して強制終了
:wq保存して終了
:wq!強制保存して終了
:x変更がある場合のみ保存して終了(ZZと同じ)
ZZ:xと同じ
ZQ:q!と同じ
:e filenameファイルを開く
:e!現在のファイルの変更を破棄して再読み込み
:r filenameファイルの内容を現在位置に挿入
:r !commandコマンドの実行結果を現在位置に挿入

7.2 検索と置換

コマンド動作
:%s/old/new/gファイル全体でoldをnewにすべて置換
:%s/old/new/gc全体置換、各項目ごとに確認
:%s/old/new/gi大文字小文字を無視して全体置換
:5,20s/old/new/g5〜20行目で置換
:'<,'>s/old/new/gVisual選択範囲で置換
:%s/\s\+$//e行末の空白を除去
:%s/^/ /すべての行の先頭に空白4つを追加

7.3 外部コマンド実行

コマンド動作
:!command外部コマンドを実行(例::!ls -la
:!python %現在のファイルをPythonで実行
:%!commandファイル全体をcommandの入力として渡し、出力で置換
:.!command現在行をcommandの入力として渡し、出力で置換
:shell一時的にシェルに移行(exitで復帰)

7.4 範囲指定

範囲表現意味
:55行目
:5,105行目から10行目
:%ファイル全体(1,$と同じ)
:.現在行
:.,$現在行からファイル末尾
:'<,'>Visual選択範囲
:.,+5現在行から5行

8. バッファ、ウィンドウ、タブ

8.1 バッファ管理

**バッファ(Buffer)**はメモリに読み込まれたファイルである。複数のファイルを同時に開いて編集できる。

コマンド動作
:ls / :buffers開いているバッファの一覧を表示
:b2バッファ2に切り替え
:bn次のバッファに切り替え
:bp前のバッファに切り替え
:bd現在のバッファを閉じる
:baすべてのバッファを分割ウィンドウで開く

8.2 ウィンドウ分割

コマンド動作
:sp / :split水平分割(horizontal split)
:vsp / :vsplit垂直分割(vertical split)
:sp filenameファイルを新しい水平分割で開く
:vsp filenameファイルを新しい垂直分割で開く
<C-w>s水平分割(Normal Mode)
<C-w>v垂直分割(Normal Mode)
<C-w>w次のウィンドウにフォーカス移動
<C-w>h/j/k/l方向でウィンドウ移動
<C-w>H/J/K/Lウィンドウをその方向に移動
<C-w>=すべてのウィンドウサイズを均等化
<C-w>+ / <C-w>-水平サイズ調整
Ctrl-w > / Ctrl-w <垂直サイズ調整
Ctrl-w _現在のウィンドウを垂直最大化
Ctrl-w |現在のウィンドウを水平最大化
<C-w>q現在のウィンドウを閉じる
<C-w>o他のすべてのウィンドウを閉じる(only)

8.3 タブ管理

コマンド動作
:tabnew新しいタブを開く
:tabnew filenameファイルを新しいタブで開く
gt次のタブに移動
gT前のタブに移動
2gtタブ2に移動
:tabclose現在のタブを閉じる
:tabonly他のすべてのタブを閉じる
:tabsタブ一覧を表示

9. マクロとレジスタ

9.1 マクロ(Macro)

マクロは一連のキー入力を記録して繰り返し実行する機能である。

キー動作
q{a-z}レジスタa〜zにマクロ記録を開始
qマクロ記録を終了
@{a-z}レジスタのマクロを実行
@@最後に実行したマクロを再実行
10@aレジスタaのマクロを10回繰り返し実行

マクロ実践例:CSVの各行の最初のフィールドに引用符を追加

原文:  hello,world
目標:  "hello",world

1. q a          (レジスタaに記録開始)
2. 0            (行の先頭へ移動)
3. i"<Esc>      (行の先頭に " を挿入)
4. f,           (最初の , へ移動)
5. i"<Esc>      (, の前に " を挿入)
6. j            (次の行へ移動)
7. q            (記録終了)
8. 99@a         (残りの行に繰り返し適用)

9.2 レジスタの種類

レジスタ説明
" (unnamed)デフォルトレジスタ。削除/コピー時に自動使用
0最後のyank(コピー)内容
19最近の削除/変更内容(循環)
azユーザー指定レジスタ
AZ小文字レジスタに追加(append)
+システムクリップボード
*Primary selection(Linux X11)
_Black holeレジスタ(削除してもレジスタを汚染しない)
%現在のファイル名
:最後に実行したコマンド
/最後の検索パターン

レジスタの使用例:

"+yy        " 現在行をシステムクリップボードにコピー
"+p         " システムクリップボードの内容を貼り付け
"_dd        " 行を削除するがレジスタを汚染しない
"ayy        " レジスタaに現在行をコピー
"Ayy        " レジスタaに現在行を追加(append)
:reg        " すべてのレジスタの内容を確認
:reg a      " レジスタaの内容を確認

10. .vimrc 必須設定

10.1 基本設定コードブロック

" ===================================================
" .vimrc 基本必須設定
" ===================================================

" 基本便利設定
set nocompatible            " Vimモード(Vi互換モード無効化)
set encoding=utf-8          " エンコーディング
set fileencoding=utf-8
set number                  " 行番号表示
set relativenumber          " 相対行番号(現在行基準)
set cursorline              " 現在行をハイライト
set showmatch               " マッチする括弧をハイライト
set nowrap                  " 行折り返し無効化
set scrolloff=8             " 画面スクロール時のマージン維持
set signcolumn=yes          " サインカラムを常に表示

" 検索設定
set hlsearch                " 検索結果をハイライト
set incsearch               " インクリメンタル検索
set ignorecase              " 大文字小文字を無視
set smartcase               " 大文字を含む場合はcase sensitive

" タブ/インデント設定
set tabstop=4               " タブ = 4スペース
set shiftwidth=4            " インデント = 4スペース
set softtabstop=4
set expandtab               " タブをスペースに変換
set autoindent              " 自動インデント
set smartindent             " スマートインデント

" パフォーマンス/UX設定
set lazyredraw              " マクロ実行中の画面更新を最小化
set updatetime=250          " Swapファイル更新間隔(ms)
set timeoutlen=300          " キー入力待ち時間(ms)
set hidden                  " バッファの非表示を許可(保存せずに切り替え可能)
set history=1000            " コマンド履歴1000件
set undolevels=1000         " Undo最大回数

" ファイルタイプとシンタックスハイライト
filetype plugin indent on   " ファイルタイプ別プラグイン/インデント有効化
syntax on                   " シンタックスハイライト有効化
set background=dark         " 暗い背景

" クリップボード
set clipboard=unnamedplus   " システムクリップボード使用(Linux)
" set clipboard=unnamed     " macOS

" バックアップファイル無効化
set nobackup
set nowritebackup
set noswapfile

" ステータスバー
set laststatus=2            " ステータスバーを常に表示
set ruler                   " カーソル位置を表示
set showcmd                 " 入力中のコマンドを表示

" マウスサポート(オプション)
set mouse=a

10.2 便利なキーマッピング

" ===================================================
" Key Mappings
" ===================================================

let mapleader = " "         " Leaderキーをスペースバーに設定

" 一般的な便利マッピング
nnoremap <Leader>w :w<CR>         " <Space>w で保存
nnoremap <Leader>q :q<CR>         " <Space>q で終了
nnoremap <Leader>wq :wq<CR>       " <Space>wq で保存+終了
nnoremap <Leader>ev :e ~/.vimrc<CR>  " vimrcのクイック編集

" 検索結果のハイライト解除
nnoremap <Leader>/ :nohlsearch<CR>

" ウィンドウ移動(Ctrl + hjkl)
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l

" 行移動(Alt + j/k)
nnoremap <A-j> :m .+1<CR>==
nnoremap <A-k> :m .-2<CR>==
vnoremap <A-j> :m '>+1<CR>gv=gv
vnoremap <A-k> :m '<-2<CR>gv=gv

" インデント後にVisualを維持
vnoremap < <gv
vnoremap > >gv

" ターミナルモード脱出
tnoremap <Esc> <C-\><C-n>

" YをD、Cのように動作させる(カーソルから行末までコピー)
nnoremap Y y$

" 中央揃えを維持しながら検索
nnoremap n nzzzv
nnoremap N Nzzzv

" 貼り付け後にレジスタを維持
xnoremap <Leader>p "_dP

" バッファ移動
nnoremap <Leader>bn :bnext<CR>
nnoremap <Leader>bp :bprevious<CR>
nnoremap <Leader>bd :bdelete<CR>

11. プラグインエコシステム

11.1 vim-plugのインストール

# Vim
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

# Neovim
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

11.2 .vimrc プラグイン設定例

call plug#begin('~/.vim/plugged')

Plug 'preservim/nerdtree'           " ファイルツリー
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'             " ファジーファインダー
Plug 'neoclide/coc.nvim', {'branch': 'release'}  " LSP
Plug 'vim-airline/vim-airline'      " ステータスバー
Plug 'vim-airline/vim-airline-themes'
Plug 'tpope/vim-fugitive'           " Git統合
Plug 'tpope/vim-surround'           " 括弧/引用符操作
Plug 'tpope/vim-commentary'         " コメント処理
Plug 'airblade/vim-gitgutter'       " Git diff表示
Plug 'morhetz/gruvbox'              " カラーテーマ

call plug#end()

11.3 主要プラグイン紹介

プラグイン機能主要コマンド
NERDTreeファイルツリーエクスプローラ:NERDTreeToggle<C-n>
fzf.vimファジーファイル/内容検索:Files:Rg:Buffers
coc.nvimLSP、自動補完、診断gd(定義へ移動)、K(ドキュメント)
vim-surround括弧/引用符の囲み/変更cs"'ds"ysiw"
vim-commentaryコメントトグルgcc(行)、gc(Visual)
vim-fugitiveGit統合:G:Gblame:Gdiff
vim-gitgutter変更のgutter表示]c / [c(hunk移動)
vim-airline強化されたステータスバー自動有効化
gruvboxレトロカラーテーマcolorscheme gruvbox

11.4 vim-surroundの使い方

cs"'        → "Hello" を 'Hello' に変更(change surrounding)
cs({         (Hello){ Hello } に変更
ds"         → "Hello" の引用符を削除(delete surrounding)
ysiw"       → カーソル下の単語に "" を追加(you surround inner word)
yss)現在行全体を () で囲む
S"          → Visual選択範囲を "" で囲む

11.5 Neovimへの移行理由

NeovimはVimと互換性を持ちつつ、以下の利点を提供する。

機能VimNeovim
設定言語VimscriptVimscript + Lua
内蔵LSPなし(プラグイン必要)内蔵サポート
非同期API限定的完全な非同期
Treesitterなし内蔵サポート
設定ファイル~/.vimrc~/.config/nvim/init.lua
推奨ディストリビューションLazyVim、AstroNvim、NvChad
# Neovimのインストール
brew install neovim              # macOS
sudo apt install neovim          # Ubuntu
sudo dnf install neovim          # Fedora/RHEL

# LazyVim(推奨ディストリビューション)のインストール
git clone https://github.com/LazyVim/starter ~/.config/nvim

12. チートシート総合テーブル

12.1 最優先で覚えるべきコマンド

カテゴリコマンド説明
脱出<Esc>Normal Modeに復帰
保存/終了:wq保存して終了
強制終了:q!変更を無視して終了
移動gg / Gファイルの先頭 / 末尾
移動/pattern検索
移動n / N次/前の検索結果
編集dd行削除
編集yy行コピー
編集p貼り付け
編集uUndo
編集<C-r>Redo
編集ciw単語を変更
モードv / V / <C-v>Visualモード
ウィンドウ<C-w>s / <C-w>v分割
置換:%s/old/new/g全体置換

12.2 Operator + Motion 組み合わせ公式

{回数}{operator}{motion または text object}

例:
  3dd     → 3行削除
  2yy     → 2行コピー
  d3w     → 単語3つ削除
  ci"     → 引用符内の内容を変更
  da(     → 括弧ごと削除
  >ip     → 段落をインデント

12.3 Insert Modeショートカット

キー動作
<C-w>前の単語を削除
<C-u>行頭まで削除
<C-h>1文字削除(Backspace)
<C-t>インデント追加
<C-d>インデント削除
<C-r>{reg}レジスタの内容を挿入
<C-r>=数式の結果を挿入(例:<C-r>=2+2<CR>4
<C-o>{cmd}Normal Modeコマンドを1回実行後Insert Modeに復帰

12.4 Command Mode 必須パターン

コマンド説明
:%s/\n/,/g改行をカンマに置換
:%s/^\s*$\n//g空行を除去
:%s/\s\+$//e行末の空白を除去
:%!sortファイル全体をソート
:%!sort -uファイル全体をソートして重複を除去
:g/pattern/dpatternがある行を削除
:v/pattern/dpatternがない行を削除(inverse)
:g/pattern/y Apatternがあるすべての行をレジスタAにコピー

13. Reference

この記事で取り上げたコマンドは、:help {command}でVim内からいつでも詳細なドキュメントを確認できる。例::help text-objects:help registers:help macros