- 技術 💻
vimコマンド一覧|モード別早見表と置換・マクロの実行結果つき
vimコマンドとは、テキストエディタ Vim で移動・編集・保存を行うためのキー操作のことで、「操作(d・c・y)+範囲(w・$・iw など)」の組み合わせで覚えるのが近道です。サーバーの設定ファイルの修正や Git のコミットメッセージなど、Vim を使う場面はいまも多くあります。
この記事では、よく使うコマンドをモード別の早見表にまとめ、主な操作は Vim 9.1(Ubuntu 24.04 の apt パッケージ)に実際にキー入力を送り、「操作前 → 操作後」のファイル内容を確認して載せています。テキストオブジェクト、確認付き置換、矩形選択、マクロ、:g、レジスタまで扱い、抜けられない・保存できない・スワップファイルの警告・ペーストでインデントが崩れる、といったときの実際のメッセージと対処もまとめました。
検証方法:設定ファイルを読まない
vim -N -u NONEで起動し、キー入力を再生して保存後の内容を確認しました。メッセージは tmux で画面を取得しています。最新版は Vim 9.2(2026年2月14日リリース)ですが、この記事のコマンドは 9.1 と共通です。
vimコマンドの早見表(まずはこれだけ)
| 分類 | やりたいこと | コマンド |
|---|---|---|
| 保存・終了 | 保存 / 保存して終了 | :w / :wq(:x、ZZ) |
| 保存・終了 | 保存せずに終了 | :q!(ZQ) |
| 保存・終了 | 変更を捨てて読み直す | :e! |
| 入力 | カーソルの前 / 後ろから入力 | i / a |
| 入力 | 行頭 / 行末から入力 | I / A |
| 入力 | 下 / 上に行を追加して入力 | o / O |
| 入力 | ノーマルモードに戻る | Esc |
| 移動 | 左・下・上・右 | h j k l |
| 移動 | 次の単語 / 前の単語 / 単語末 | w / b / e |
| 移動 | 行頭 / 最初の文字 / 行末 | 0 / ^ / $ |
| 移動 | 先頭行 / 最終行 / 42行目 | gg / G / 42G(:42) |
| 移動 | 行内の文字「x」へ(次 ;) |
fx |
| 移動 | 対応する括弧へ | % |
| 移動 | 半画面下 / 上 | Ctrl-d / Ctrl-u |
| 移動 | 前にいた位置へ戻る | Ctrl-o |
| 削除 | 1文字 / 1行 / 3行 | x / dd / 3dd |
| 削除 | 単語 / 行末まで | dw / D |
| コピー | 1行 / 単語 | yy / yiw |
| 貼り付け | 下(後ろ)/ 上(前) | p / P |
| 変更 | 単語を書き換え | ciw |
| 変更 | 「"」や「()」の中を書き換え | ci" / ci( |
| 変更 | 1文字置換 / 大文字小文字切り替え | r / ~ |
| 変更 | 行を連結 | J |
| 取り消し | 元に戻す / やり直す | u / Ctrl-r |
| 繰り返し | 直前の変更を繰り返す | . |
| 検索 | 下へ / 上へ、次 / 前 | /word / ?word、n / N |
| 検索 | カーソル位置の単語を検索 | * |
| 置換 | 全行のすべて / 確認しながら | :%s/old/new/g / :%s/old/new/gc |
| 選択 | 文字 / 行 / 矩形 | v / V / Ctrl-v |
| 選択 | 複数行の先頭に一括入力 | Ctrl-v → I → 入力 → Esc |
| マクロ | 記録 / 終了 / 再生 | qa / q / @a |
| 一括 | パターンに合う行を削除 | :g/pattern/d |
| レジスタ | 名前付きでコピー / 貼り付け | "ayy / "ap |
| 画面 | 横分割 / 縦分割 / 移動 | :sp / :vs / Ctrl-w + hjkl |
| タブ・バッファ | 新しいタブ / 次のタブ / 一覧 | :tabnew / gt / :ls |
| その他 | 並べ替え / 数値を増やす | :sort / Ctrl-a |
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「vimコマンド一覧|モード別早見表と置換・マクロの実行結果つき」
Vimのモードと切り替え方
Vim は「キーが何をするか」がモードで変わります。起動直後はノーマルモード(移動・編集コマンドを打つモード)で、文字を入力するときだけ挿入モードに入ります。迷ったら Esc でノーマルモードに戻るのが基本です。
| モード | 何をするか | 入り方 | 戻り方 |
|---|---|---|---|
| ノーマル | 移動・削除・コピー | 起動直後 / Esc |
― |
| 挿入 | 文字を入力 | i a I A o O c... |
Esc |
| ビジュアル | 範囲を選択 | v V Ctrl-v |
Esc |
| コマンドライン | :w :%s などを入力 |
: / ? |
Enter で実行 / Esc で中止 |
stateDiagram-v2
[*] --> ノーマル
ノーマル --> 挿入: i a o
挿入 --> ノーマル: Esc
ノーマル --> ビジュアル: v V Ctrl-v
ビジュアル --> ノーマル: Esc
ノーマル --> コマンドライン: : / ?
コマンドライン --> ノーマル: Enter / Esc
起動・保存・終了のコマンド
保存は :w、終了は :q、保存せずに終了は :q! です。! は「警告を無視して実行する」という意味です。
| やりたいこと | コマンド |
|---|---|
| 42行目を表示して起動 / 最初の「word」へ | vim +42 file / vim +/word file |
| 読み取り専用で開く | vim -R file(view file) |
| 別名で保存 | :w new.txt |
| 変更があるときだけ保存して終了 | :x / ZZ |
| すべて閉じる / すべて保存して閉じる | :qa! / :wqa |
| 10〜20行目だけ別ファイルに保存 | :10,20w part.txt |
| 別ファイルやコマンド結果を挿入 | :r other.txt / :r !date |
削除・コピー・貼り付け(オペレーター+モーション)
Vim の編集は「オペレーター(何をするか)+モーション(どこまで)」の組み合わせです。d(削除)+w(単語)で dw、y(コピー)+$(行末)で y$ になります。同じキーを2回(dd yy cc)打つと1行が対象です。前に数字をつけると回数を指定できます。
| オペレーター | 意味 | 例 |
|---|---|---|
d |
削除(切り取り) | dw d$ dd dG dt. |
c |
削除して入力開始 | cw c$ cc |
y |
コピー(ヤンク) | yw y$ yy |
> / < |
インデントを増やす / 減らす | >> 3>> |
= |
自動インデント | gg=G |
gU / gu / g~ |
大文字 / 小文字 / 反転 | gUU g~iw |
Vim の削除は「切り取り」なので、dd で消した行はそのまま p で貼り付けられます。
実行結果(操作前 → 操作後)
カーソルは1行目の先頭から開始しています。「/」は改行の区切りです。
| キー入力 | 操作前 | 操作後 |
|---|---|---|
jdd |
task-1 / task-2 / task-3 / task-4 |
task-1 / task-3 / task-4 |
3dd |
task-1 / task-2 / task-3 / task-4 |
task-4 |
yyp |
item: pen / item: note |
item: pen / item: pen / item: note |
ddp |
line A / line B |
line B / line A |
wdw |
order 1024 shipped today |
order shipped today |
wD |
order 1024 shipped today |
order(行末まで削除) |
5x |
abcdefghij |
fghij |
d3w |
one two three four five |
four five |
lxp |
teh |
the |
jdG |
1 / 2 / 3 / 4 |
1 |
dt. |
path/to/file.txt |
.txt |
2wcwpublished Esc |
status = draft |
status = published |
3J |
red / green / blue / white |
red green blue / white |
gJ |
foo / bar |
foo bar(空白を整えずに連結) |
gUU |
hello vim |
HELLO VIM |
5 Ctrl-a |
count: 7 |
count: 12 |
Ctrl-a はカーソル以降で最初に見つかった数値が対象です。カーソルが行頭の count: にあっても 7 が増えます。
テキストオブジェクト(ciw・ci"・dap・cit)
テキストオブジェクトは「単語」「引用符の中」「括弧の中」「段落」「タグの中」といった“まとまり”を指す範囲です。i は内側、a は外側(引用符・括弧・空白)も含みます。カーソルがまとまりの途中にあっても全体が対象になるので、cw より ciw のほうが位置を気にせず使えます。
| オブジェクト | 対象 | よく使う形 |
|---|---|---|
iw / aw |
単語 / 単語+空白 | ciw daw yiw |
i" / a"(i' も同様) |
引用符の中 / 引用符も含む | ci" da" |
i( / a( |
() の中 / () も含む |
ci( da( |
i{ / i[ |
{} / [] の中 |
di{ ci[ |
it / at |
タグの中 / タグも含む | cit yit dat |
ip / ap |
段落 / 段落+後ろの空行 | dap yap vip |
| キー入力 | 操作前 | 操作後 |
|---|---|---|
wwciw980 Esc |
price = 1200 yen |
price = 980 yen |
ci"new name Esc(行頭から) |
name = "old name" # memo |
name = "new name" # memo |
fhda" |
say "hi" now |
say now |
fwdaw |
one two three |
one three |
f1ci(x, y Esc |
print(add(1, 2)) |
print(add(x, y)) |
f(lci(result Esc |
print(add(1, 2)) |
print(result) |
jdi{ |
task { / id: 1 / title: "write" / } |
task { / } |
citnew text Esc |
<p>old text</p> |
<p>new text</p> |
fayit j0f>p |
<li>apple</li> / <li></li> |
<li>apple</li> / <li>apple</li> |
dap |
para1 line1 / para1 line2 / (空行)/ para2 line1 |
para2 line1 |
ci" はカーソルが行頭にあっても、同じ行で後ろにある最初の "..." を探して書き換えます。一方 ci( は「カーソルを囲んでいる括弧」が対象なので、カーソルが内側の 1 にあれば add(...) の中、外側の a にあれば print(...) の中が書き換わります。
元に戻す・やり直す・繰り返す
u で元に戻し、Ctrl-r でやり直します。.(ドット)は直前の変更をもう一度実行します。挿入モードに入ってから Esc で抜けるまでが「1回の変更」です。
| コマンド | 動き |
|---|---|
u / Ctrl-r |
元に戻す / やり直す |
U |
最後に変更した行の変更をまとめて取り消す |
. |
直前の変更を繰り返す |
:earlier 5m / :later 5m |
5分前の状態へ / 戻す |
| キー入力 | 操作前 | 操作後 |
|---|---|---|
A; Esc j. j. |
x = 1 / y = 2 / z = 3 |
x = 1; / y = 2; / z = 3; |
Aa Esc Ab Esc uu |
x |
x(2回分の追加を取り消し) |
検索・置換のコマンド
検索は /word、置換は :範囲s/検索/置換/フラグ です。範囲を省略すると今の行、% をつけると全行が対象です。
| やりたいこと | コマンド |
|---|---|
単語「id」だけを検索(idx は対象外) |
/\<id\> |
| 大文字小文字を区別せず検索 | /\cword |
| 検索ハイライトを消す | :noh |
| 件数だけ数える(置換しない) | :%s/word//gn |
| 今の行の最初の1つ / すべて | :s/old/new/ / :s/old/new/g |
| 2〜3行目 / 今の行から末尾まで | :2,3s/old/new/g / :.,$s/old/new/g |
| 選択範囲だけ | V で選択 → :(:'<,'> が入る)→ s/old/new/g |
| 確認しながら / 大文字小文字を無視 | :%s/old/new/gc / :%s/old/new/gi |
| 見つからなくてもエラーにしない | :%s/old/new/ge |
/ を含む文字列 |
:%s#/usr/local#/opt#g(区切りを # に) |
| 直前の検索パターンで置換 | :%s//new/g |
| 改行に置換 / 行末の空白を削除 | :s/,/\r/g / :%s/\s\+$//e |
確認付き置換(c)では、一致するたびに y(置換)/ n(飛ばす)/ a(残りすべて)/ q(終了)/ l(これで最後)を選びます。
| コマンド | 操作前 | 操作後 |
|---|---|---|
:s/cat/fox/ |
cat cat cat / cat dog |
fox cat cat / cat dog |
:%s/cat/fox/g |
cat cat cat / cat dog |
fox fox fox / fox dog |
:2,3s/v1/v2/ |
v1 / v1 / v1 / v1 |
v1 / v2 / v2 / v1 |
:s/test/TEST/gc → y n y |
test test test |
TEST test TEST |
Vj:s/a/b/ |
a=1 / a=2 / a=3 |
b=1 / b=2 / a=3 |
:s/,/\r/g |
a,b,c |
a / b / c |
:%s/\s\+$//e |
foo / bar(末尾タブ) |
foo / bar |
正規表現で置換する
Vim の正規表現は、標準では + ( ) の前に \ が必要です。先頭に \v(very magic)をつけると、他の言語と同じ書き方になります。
" 標準の書き方(\( \) \+ が必要)
:%s/\(\d\+\)-\(\d\+\)-\(\d\+\)/\3\/\2\/\1/
" \v をつけると ( ) + をそのまま書ける。区切りを # にすると / のエスケープも不要
:%s#\v(\d+)-(\d+)-(\d+)#\1年\2月\3日#
" = の後ろの単語だけを大文字に(\zs で一致の開始位置を指定、& は一致全体)
:%s/=\zs\w\+/\U&/
| コマンド | 操作前 | 操作後 |
|---|---|---|
| 1つ目 | 2026-09-28 / 2026-10-01 |
28/09/2026 / 01/10/2026 |
| 2つ目 | 2026-09-28 / 2026-10-01 |
2026年09月28日 / 2026年10月01日 |
| 3つ目 | id=abc / id=xyz |
id=ABC / id=XYZ |
置換側では \1〜\9(グループ)、&(一致全体)、\U / \L(大文字 / 小文字)、\r(改行)が使えます。
ビジュアルモード・矩形選択
v は文字単位、V は行単位、Ctrl-v は矩形(ブロック)単位の選択です。選択後にオペレーター(d y c > U など)を押すと、その範囲に適用されます。gv で直前の選択範囲を再選択できます。
| キー入力 | 操作前 | 操作後 |
|---|---|---|
jVjd |
1 / 2 / 3 / 4 |
1 / 4 |
Ctrl-v jj I# Esc |
alpha / beta / gamma |
# alpha / # beta / # gamma |
Ctrl-v jj $A, Esc |
alpha / beta / gamma |
alpha, / beta, / gamma, |
Ctrl-v jjll d |
01 apple / 02 grape / 03 peach |
apple / grape / peach |
f0 Ctrl-v jj g Ctrl-a |
item0 / item0 / item0 |
item1 / item2 / item3 |
fovitU |
<b>bold</b> |
<b>BOLD</b> |
矩形選択の I は、入力中は1行目にしか文字が見えませんが、Esc を押した時点で全行に反映されます。長さの違う行の末尾に追加するときは $ を押してから A にします。
マクロで繰り返し作業を記録する
マクロは「キー操作の記録と再生」です。qa で記録開始、操作して q で終了、@a で再生、3@a で3回再生します(直前のマクロの再実行は @@)。
| キー入力 | 操作前 | 操作後 |
|---|---|---|
qa I- Esc j q 3@a |
apple / banana / cherry / durian |
- apple / - banana / - cherry / - durian |
j qa f,r Tab j0 q @a |
name,qty / pen,3 / note,5 |
name,qty / pen Tab 3 / note Tab 5 |
コツは「位置を決める → 編集 → 次の行へ移動」までを1セットで記録することです。0 や f で位置を決めてから編集すると、どの行でも同じ結果になります。全行に適用するなら :%norm @a も使えます。
:g コマンドで条件に合う行をまとめて操作する
:g/パターン/コマンド は一致するすべての行にコマンドを実行します。:v/パターン/コマンド は一致しない行が対象です。
| コマンド | 操作前 | 操作後 |
|---|---|---|
:g/^#/d(# で始まる行を削除) |
keep 1 / # memo / keep 2 / # memo2 |
keep 1 / keep 2 |
:v/ERROR/d(ERROR 行だけ残す) |
ERROR a / INFO b / ERROR c |
ERROR a / ERROR c |
:g/=/normal A;(各行でノーマルコマンド) |
x = 1 / y = 2 |
x = 1; / y = 2; |
:g/TODO/t$(末尾にコピー) |
TODO a / done b / TODO c |
TODO a / done b / TODO c / TODO a / TODO c |
:g/^/m0(行を逆順に) |
1 / 2 / 3 |
3 / 2 / 1 |
:%norm A!(全行の末尾に追加) |
a / b / c |
a! / b! / c! |
:sort |
b / 10 / a / 2 / b |
10 / 2 / a / b / b |
:sort n(数値順) |
10 / 2 / 33 / 1 |
1 / 2 / 10 / 33 |
:sort u(重複を削除) |
b / a / b / a |
a / b |
数値を並べるときは :sort n を使います。:sort は文字の順なので、10 が 2 より前になります。空行の削除は :g/^$/d です。
レジスタを使い分ける
レジスタは Vim 内の複数のクリップボードです。"a のように「"+名前」を前につけると、そのレジスタでコピー・貼り付けできます。中身は :reg で確認できます。
| レジスタ | 入るもの |
|---|---|
""(無名) |
直前に削除・コピーした内容(p の対象) |
"0 |
直前にコピー(y)した内容。削除では上書きされない |
"1〜"9 |
直前に削除した行(古いものが後ろへずれる) |
"a〜"z |
名前付き。"A のように大文字で書くと追記 |
"+ |
OS のクリップボード(+clipboard 対応版のみ) |
"_ |
捨てる。"_dd は他のレジスタを変えない |
| キー入力 | 操作前 | 操作後 |
|---|---|---|
"ayy j "ap |
first / second |
first / second / first |
yy j dd "0p |
copy me / junk |
copy me / copy me |
"ayy j "Ayy j "ap |
one / two / three |
one / two / three / one / two |
yiw o Ctrl-r 0 world Esc |
hello |
hello / hello world |
「コピーした行を、別の行を消したあとに貼りたい」ときは "0p です。dd の直後の p は、消した行のほうを貼り付けます。挿入モードでは Ctrl-r +レジスタ名で貼り付けられます。
画面分割・タブ・バッファ
開いたファイルは「バッファ」、表示する枠は「ウィンドウ」、ウィンドウのまとまりが「タブ」です。
| やりたいこと | コマンド |
|---|---|
| 横分割 / 縦分割 | :sp file / :vs file |
| ウィンドウ間の移動 | Ctrl-w + h j k l |
| 今のウィンドウだけ残す / 大きさをそろえる | Ctrl-w o / Ctrl-w = |
| 新しいタブ / 次 / 前 | :tabnew file / gt / gT |
| バッファ一覧 / 切り替え / 閉じる | :ls / :b 2(:bn :bp)/ :bd |
| 2ファイルの差分 | vim -d a.txt b.txt(]c [c で移動) |
vim a.txt b.txt で起動して :ls を実行した表示です。% は今のバッファ、a は表示中を表します。
:ls
1 %a "a.txt" line 1
2 "b.txt" line 0
画面を開かずに一括編集する(vim -Es)
vim -Es は画面を出さずに Ex コマンドを実行するモードです。-c でコマンドを渡すと、複数ファイルの置換などをスクリプトで行えます。
printf 'version: v1\n' > a.txt
printf 'version: v1\nname: x\n' > b.txt
# すべての .txt で置換して保存(e フラグで一致しないファイルもエラーにしない)
vim -Nu NONE -Es -c 'args *.txt' -c 'argdo %s/v1/v2/ge | update' -c 'qa'
head a.txt b.txt
==> a.txt <==
version: v2
==> b.txt <==
version: v2
name: x
エディタの中なら :args *.txt → :argdo %s/v1/v2/ge | update で同じことができます。
困ったときの対処
Vim から抜けられない
Esc を押してから :q! + Enter で、保存せずに終了します。Ctrl-c を押すと、Vim 9.1 では画面下に抜け方が表示されます。変更があるまま :q を打ったときのエラーもあわせて載せます(実際の表示)。
Type :qa! and press <Enter> to abandon all changes and exit Vim
E37: No write since last change (add ! to override)
権限がなくて保存できない(:w !sudo tee %)
一般ユーザーで root 所有のファイルを編集すると、:w と :w! は次のエラーになりました。
E45: 'readonly' option is set (add ! to override)
"/tmp/t26etc/app.conf" E212: Can't open file for writing
sudo が使えるユーザーなら、:w !sudo tee % > /dev/null で Vim を閉じずに保存できます。バッファの内容を sudo tee に渡し、%(今のファイル名)に書き込む仕組みです。実行後に W12: Warning: File "..." has changed and the buffer was changed in Vim as well の確認が出るので、L(Load File)で読み直します。検証では port=80 を port=8080 に書き換えて保存できました。最初から管理者権限で編集するなら sudoedit ファイル名(sudo -e)が確実です。
スワップファイルの警告(E325: ATTENTION)
同じファイルを別の Vim で開いている、または前回 Vim が異常終了したときに出ます(実際の表示の抜粋)。
E325: ATTENTION
Found a swap file by the name ".memo.txt.swp"
modified: YES
process ID: 5106 (STILL RUNNING)
Swap file ".memo.txt.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:
| 状況 | 選ぶキー |
|---|---|
STILL RUNNING(別の端末で開いている) |
Q で閉じ、開いている方で作業する |
| 異常終了し、未保存の変更を取り戻したい | R → 内容を確認して :w → .swp を削除 |
| 変更は不要 | E → 作業後に .swp を削除 |
ペーストするとインデントが崩れる
自動インデントが有効なときに、貼り付けた文字が「1文字ずつ入力された」と扱われると、インデントが二重になります。set autoindent の状態で if x: / a / b を送った結果です。
| 条件 | 結果 |
|---|---|
set autoindent(通常の入力として送る) |
if x: / a / b(3行目がずれる) |
set autoindent paste |
if x: / a / b |
set autoindent + ブラケットペースト |
if x: / a / b |
Vim 8.0 以降はブラケットペースト(端末が貼り付けの開始・終了を知らせる仕組み)に対応しており、対応端末では自動で崩れを防ぎます。それでも崩れる場合は :set paste → 貼り付け → :set nopaste とします。
最小の .vimrc の例
設定は ~/.vimrc に書きます。Vim 9.2 からは ~/.config/vim/vimrc(XDG の置き場所)にも対応しました。次の設定は vim -Nu vimrc -Es で読み込み、:set で反映を確認しています。
set number cursorline " 行番号・カーソル行の強調
syntax on
set hlsearch incsearch " 検索のハイライト・入力中に検索
set ignorecase smartcase " 小文字なら区別しない・大文字を含めば区別
set expandtab tabstop=4 shiftwidth=4 softtabstop=4
set autoindent
filetype plugin indent on
set backspace=indent,eol,start
set encoding=utf-8 fileencodings=utf-8,cp932,euc-jp
set undofile undodir=~/.vim/undo " 閉じても undo 履歴を残す(先に mkdir -p ~/.vim/undo)
nnoremap <Esc><Esc> :nohlsearch<CR>
設定の影響を切り分けたいときは vim --clean で既定の状態から起動できます。OS のクリップボードを使うには +clipboard 版が必要で、Ubuntu の vim パッケージは -clipboard でした(vim --version で確認できます)。
Neovim との違い(要点)
Neovim は Vim から派生したエディタで、この記事のコマンドはほぼそのまま使えます。2026年4月の Neovim 0.12 では組み込みのプラグイン管理(vim.pack)が加わりました。
| 項目 | Vim | Neovim |
|---|---|---|
| 設定ファイル | ~/.vimrc |
~/.config/nvim/init.lua(または init.vim) |
| 既定値 | hlsearch などは設定が必要 |
hlsearch incsearch autoindent などが最初から有効 |
:w !sudo tee % |
使える | :! が対話的なコマンドに対応しないため、パスワード入力が必要な sudo では使えない(公式 FAQ) |
よくある質問
Q. vi と vim は何が違いますか? A. vim は vi を拡張したエディタで、複数回の undo、ビジュアルモード、テキストオブジェクト、画面分割などが加わっています。基本操作は vi でも使えますが、テキストオブジェクトや矩形選択は vim の機能です。
Q. 覚える順番のおすすめは?
A. 「i → 入力 → Esc → :wq」と :q!、次に hjkl w b 0 $ gg G、その後 dd yy p u .、慣れたら ciw ci"、:%s、矩形選択、マクロの順がおすすめです。vimtutor コマンド(Vim 9.2 では :Tutor も)で練習できます。
Q. 置換で「E486: Pattern not found」が出て止まります。
A. 一致する文字列がないときのメッセージです。:argdo などでまとめて実行するときは、e フラグ(:%s/old/new/ge)をつけるとエラーを出さずに進みます。
まとめ
- 基本は「
iで入力 →Esc→:wq」、保存せず抜けるなら:q! - 編集は「オペレーター+モーション」:
dwy$c3w、数字で回数を指定(3dd5x) ciwci"ci(dapcitはカーソルが途中でもまとまり全体が対象- 置換は
:%s/old/new/g、確認はgc、正規表現は\vで書きやすくなる - 同じ編集の繰り返しは
.、複数行は矩形選択・マクロ・:gで一度に - コピーした内容は
"0に残るので、削除のあとに貼るなら"0p - 保存できないときは
:w !sudo tee % > /dev/null、ペーストの崩れは:set paste
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「vimコマンド一覧|モード別早見表と置換・マクロの実行結果つき」
株式会社RJCでは、エディタ操作のような日々の小さな効率化も、メンバー同士で便利な使い方を教え合いながら取り入れています。こうした知識を共有しながら、日々技術を磨いています。
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。