Vimの基本操作から応用までのまとめ

最近はIntelliJやVS Codeなどの高機能エディタの使い勝手が良いです。

なのでVimを開発用のエディターとして使う人は少ないようですが、ターミナルで操作するあの独特な感覚は中毒性があり、ギークな魅力があります。

それにサーバーでの作業など、特定の環境下ではVim以外の選択肢が選べない状況もあるかと思います。

この記事ではVimのカーソル移動やテキストオブジェクトなどの基本的な操作から、バッファーやプラグインなど応用的な使い方まで幅広くまとめていきます。

モードの切り替え

esc … ノーマルモード

i, a, oなど… インサートモード

esc の後に: … コマンドモード

ctrl + v … ビジュアルモード

escの後に:terminal…ターミナルモード

基本の操作・テキストオブジェクト

カーソルの移動

h j k l を使う。

h … 左

j … 下

k … 上

l … 右

もっと大雑把なカーソル移動

数字の 0 … カーソル行の行頭へ移動

$ … カーソル行の行末へ移動

w … 次の単語の先頭へ移動

b … 前の単語の先頭へ移動

gg … ファイル先頭へ移動

G … ファイル末尾へ移動

コピー・貼り付け・削除・切り取り

単語・範囲を選択してコピー

yw … 単語をコピー

ctrl + v して範囲を選択後に y … 範囲を選択してコピー

文字・単語を削除

x … カーソル位置の文字を1文字削除

s … カーソル位置の文字を1文字削除してインサートモードに入る

dw … カーソル位置の単語を削除

cw … カーソル位置の単語を削除しつつインサートモードに入る

括弧やダブルクォーテーション(”)内の単語を削除

di" … ダブルコーテーションの中身を削除

di( … 括弧の中身を削除

da" … 括弧も含めて削除

da( … ダブルクオーテーションも含めて削除

行ごと削除・コピー

dd … カーソル行を行ごと削除

yy … カーソル行をコピー(ヤンク)

複数行の削除・コピー

複数行の削除・コピーを行い時は先頭に数字をつける。

例えば下記で、カーソル行から数えて3行分をまとめて削除

3dd

3ddj … カーソル行と下3行を削除

3ddk … カーソル行つ上3行を削除

yy も同上

全ての行の削除・コピー

dd や yy の前に10000 とかめちゃくちゃでかい数字を入力する。

10000dd … カーソル行から10000行を削除

貼り付け

p … カーソル行の下に空白行を挿入し、貼り付ける。

P … カーソル行の上に空白行を挿入し、貼り付ける。

切り取り

dd や dw などで削除した行や単語は自動的にヤンクされるので、そのままp or P で貼り付ければOK。

検索

/hoge … 単語「hoge」をカーソルより後方へ向かって検索

?hoge …単語「hoge」をカーソルより前方へ向かって検索

n または N を押下すると次の単語を続けて検索できる。

置換

:%s/置換前/置換後/ … ファイル全体を対象に全て置換する

% はファイル全体を、 s はsubstitution(置換)を表す。

:%s/置換前/置換後/g … ファイル全体を対象に、カーソル行の文字列の置換を行う

:%s/置換前/置換後/c … ファイル全体を対象に、確認しながら置換する

確認が表示された時の操作は次のようなものがある。

y … 置換する

n … 置換しない

a … 全て置換する

q … 置換終了

ファイルの上書き保存・終了

:w … 上書き保存

:q… 保存せずに終了

:wq … 上書き保存して終了

:q! … 変更分があったとしても保存せずに強制終了

指定の行番号へジャンプ

:n … n行目へジャンプ

例えば :10 とすると10行目へジャンプする。

行頭に行番号をつける/表示する

:set number … 全ての行頭に行番号を表示する

行番号をデフォルトで表示する設定

ホームディレクトリに .vimrc ファイルを作成し、

vi ~/.vimrc

set number を記入して保存

その後 source コマンドで.vimrcを実行する

source ~/.vimrc

タブ・スプリット機能

複数のファイルをタブとして開いたり、画面を分割して表示したりできます。

:tabe hogehoge…hogehogeファイルを別タブで開く

:tabnew hogehoge…hogehogeファイルを新規作成し、別タブで開く

:vs…開いているファイルを垂直方向に分割して開く

:sp…開いているファイルを水平方向に分割して開く

:vs hogehoge…hogehogeファイルを垂直方向に分割して開く

タブの移動はgt or gT

スプリットした画面の移動は↓

ctrl + w + h…左

ctrl + w + j…下

ctrl + w + k…上

ctrl + w + l…右

バッファー

vimのメモリ上に編集対象のファイルを展開できる、見えないメモ帳のような機能。一度閉じたファイルを再度開き直したりできます。

:b hogehoge…バッファーにある対象のファイルを開く。ファイル名はtabで補完可能。

:ls…バッファーの一覧を確認

:bd hogehoge…対象のファイルのバッファーを取り除く(ファイルの実態は残る)。

プラグイン

ある程度使えるようになると、もう少し便利にカスタマイズしたくなるかと思います。

Vimには先駆者が開発したプラグインが豊富なため、それを活用することで様々な機能が実現可能です。

〜執筆中

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください