読者です 読者をやめる 読者になる 読者になる

Furudateのブログ

プログラミングやネットワーク系の知識・技術がメインのブログ。技術メモ帳的な感じになるかと。岩手から発信していきます。

vimのよく使うコマンドや便利なコマンドなど

ツール

こんばんは。

今回はvimについて、よく使うコマンド、便利なコマンドなどを細かい部分を含めてメモしておきたいと思います(よく忘れるので…)。

基本的なコマンド

まずは基本的な部分です。
:(コロン)を使わない基本的なコマンドをここに記載します。

カーソル移動

hjklでの移動は省略します。

コマンド 説明
w 1単語前へ移動
b 1単語後ろへ移動
e 単語の最後の文字に移動
gj, gk 一行が折り返しているとき、表示行単位で移動
gg ファイルの先頭へ移動
G ファイルの最後へ移動
Ctrl-u 半画面上へ移動
Ctrl-d 半画面下へ移動
0 行の先頭に移動
$ 行末へ移動
fx(文字) カーソル位置から行末までにxがあればそこへ移動
Fx(文字) カーソル位置から行頭までにxがあればそこへ移動

文字列操作

コマンド 説明
yw カーソルのある単語をヤンク
yy カーソルのある行をヤンク
y0 行頭からカーソルの直前までをヤンク
y$ カーソルの位置から行末までをヤンク
dw カーソルのある単語を切り取り
dd カーソルの行を一行切り取り
x(数値)dd カーソル以下のx行を切り取り
d0 行頭からカーソルの直前までを切り取り
y$ カーソルの位置から行末までを切り取り
v ビジュアルモード
V 行単位でビジュアルモード
Ctrl-v 短形ビジュアルモード
p 貼り付け
P カーソルの前に貼り付け
Ctrl-a カーソル行の数字をインクリメント
Ctrl-x カーソル行の数字をデクリメント

その他の操作

コマンド 説明
u 元に戻す(undo)
Ctrl-r やり直す(redo)
(文字列打った後に)Ctrl-p 前候補を選択
(文字列打った後に)Ctrl-n 次候補を選択
. 直前のコマンドを実行

インサートモードについて

インサートモードに入る際、様々な方法があります。
使い分けると何気便利です。

コマンド 説明
i カーソル位置からインサート
a カーソルの次の位置からインサート
o カーソルの次の行からインサート
O カーソルの前の行からインサート
I カーソルのある行の行頭からインサート
A カーソルのある行の行末からインサート

複数行操作(コメントアウト

次にビジュアルモードで複数行操作する方法についてです。
私は基本的に v でビジュアルモードに入って、選択したものをヤンクしたり切り取ったりしています。
ここでは複数行を一気に操作(コメントアウトとか)する方法を記載しておきます。

  1. Ctrl-vで短形選択モードになり、複数行を指定
  2. Shift-iで入力モードに
  3. 挿入したい文字列(//とか)を入れる
  4. Esc

以上で複数行にまとめて文字列を挿入出来ます。
コメントアウトしたいときに非常に便利です。

コマンドラインモードにおけるコマンド

次はコマンドラインモード(コロン打ったとき)における基本的なものや便利コマンドを載せておきます。

文字列操作

コマンド 説明
:s/xxx/yyy/gc カーソル行にある全てのxxxをyyyに置換。cで確認ありにする。また/gを外すと一つずつになる
:%s/xxx/yyy/gc ファイル全てのxxxをyyyに置換
:%s;/xxx/yyy/;/www/zzz;gc ファイルにある全てのパス名を置換。パス名などの場合は;を区切り文字にする
= インデント整形。選択した部分を整形してくれる

画面操作

ウィンドウやタブ操作です。 ちなみにvim -p file1 file2でファイルをタブで開き、vim -o[-O] file1 file2でファイルを水平分割(垂直分割)して開くことができます。

コマンド 説明
:e file fileを現在のウィンドウで開く
:new file fileを新しいウィンドウで開く(垂直方向)
:vnew file fileを新しいウィンドウで開く(水平方向)
Ctrl-w h,j,k,l それぞれの方向のウィンドウへ移動
:tabe file fileを新しいタブで開く。file指定しないと空のタブを開く
:tabc 現在のタブを閉じる
gt 次のタブへ
gT 前のタブへ

以上です。
今後便利なコマンドが見つかり次第追記していきます。

それでは。

参考にさせていただいたサイト

覚えておきたい Vim コマンド 備忘録 - Qiita

脱初心者を目指すなら知っておきたい便利なVimコマンド25選 (Vimmerレベル診断付き) - Qiita

Linux - 【Vim入門】ノーマルVimで使えると便利かもなコマンド10つ - Qiita

Vimがちょっと便利になる5つ起動オプション(おまけあり) - Qiita

viの使い方/基本操作