作業中のメモ

よく「計算機」を使って作業をする.知らなかったことを中心にまとめるつもり.

vim で利用できるコマンド

どうも,筆者です.

vim を使い始めて数日が経つ(前回の記事の段階で,ある程度は使えるようにはなっていた).しかし,まだ,コマンドをよく把握していない. こういうものは使いながら覚えていくのがいいが,どうしても忘れやすいため,ここに,記録しておく.

移動

コマンド 処理内容
h 左に 1 文字分移動(←)
j 下に 1 文字分移動(↓)
k 上に 1 文字分移動(↑)
l 右に 1 文字分移動(→)
gg ファイルの先頭(1 行目)に移動
G ファイルの末尾(最後の行)に移動
w 前方に 1 単語分移動
b 後方に 1 単語分移動
W 空白を挟んで,前方に 1 単語分移動
B 空白を挟んで,後方に 1 単語分移動
^ テキストの先頭に移動(空白は無視)
0 行頭に移動(空白も含む)
$ 行末に移動
Ctrl + d 半ページ分下にスクロール
Ctrl + u 半ページ分上にスクロール
Ctrl + f 1 ページ分下にスクロール
Ctrl + b 1 ページ分上にスクロール

f[char]
次の [char] に移動
「;」でさらにを調べる,
「,」で後ろを調べる

テキスト内の編集

[n] は数字が入る.例えば,3yy としたら,現在のカーソルの位置から,3 行コピーされる

コピー関連

コピーコマンド 処理内容
yw カーソルの位置から,前方に 1 単語分コピー
yb カーソルの位置から,後方に 1 単語分コピー
y0 カーソルの位置から,行頭までコピー
y^ カーソルの位置から,その行のテキストの先頭までコピー
y$ カーソルの位置から,行末までコピー
yy 1 行コピー
[n]yy n 行コピー
y[n]G 現在のカーソルの位置から,n 行目までをコピー

切り取り関連

切り取りコマンド 処理内容
dw カーソルの位置から,前方に 1 単語分カット
db カーソルの位置から,後方に 1 単語分カット
d0 カーソルの位置から,行頭までカット
d^ カーソルの位置から,その行のテキストの先頭までカット
d$ カードルの位置から,行末までカット
dd 1 行切り取り
[n]dd n 行切り取り
d[n]G 現在のカーソルの位置から,n 行目までを切り取り

マーカーを利用したコピーと切り取り

まずは,マーカーの使い方を以下に示す.

コマンド 処理内容
mk 現在のカーソルの位置を k にマークする
'k k の位置にカーソルを移動する

これを利用して,任意の行から,任意の行までをコピー,切り取りを行うことが出来る.編集したい最初の行で「mk」とし,編集した最後の行で「d'k」もしくは,「y'k」とするとこで編集が行える. 行番号が分かっているならば,上の方法を利用した方が早い.

テキスト内の検索

検索を行うには,ノーマルモード中で,「/」を押す.すると,コマンドラインのところに,「/」が表示されるので,検索したい文字列を入力して Enter を押す.

コマンド 処理内容
n ヒットした次の単語に移動
N ヒットした前の単語に移動

テキスト内の置換

ここでは,よく使うものだけ紹介する.先ほどと同様にして,[n] は行数を表す.

コマンド 処理内容
:s/[old]/[new]/ 現在カーソルがある行で,最初の [old] を [new] に置換
:s/[old]/[new]/g 現在カーソルがある行で,すべての [old] を [new] に置換
:%s/[old]/[new]/g ファイル全体で,[old] を [new] に置換
:[n],$s/[old]/[new]/g n 行目からファイルの末尾までの [old] を [new] に置換
:g/string/d string を含んでいる行を削除
:v/string/d string を含んでいない行を削除
Ctrl + a 現在のカーソルの位置から,最初に見つかった数字をインクリメント
Ctrl + x 現在のカーソルの位置から,最初に見つかった数字をデクリメント

範囲選択による大文字小文字の入れ変え

コマンド 処理内容
Vu 現在の行の文字を小文字にする
VU 現在の行の文字を大文字にする
g~~ 現在の行の文字の大文字小文字を反転させる
vEU 単語単位で大文字にする
vEu 単語単位で小文字にする
vE~ 単語単位で大文字小文字を反転させる

参考サイト

vimエディタ・スターターマニュアル #3 (カーソルの移動) — 名無しのvim使い

Vimを体系的に学ぶつもりのない人のためのVim講座 - Qiita

プログラマが知っておくべき100のVimコマンド | Lonely Mobiler