Vimコマンド入門】書き方や使い方の基本から実例付きで丁寧に解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2023年月)

✔このような方へ向けて書かれた記事となります

「vimコマンドとviって何が違うの?」

「vimコマンドの使い方を知りたい」

「vimコマンドを使っている実例が見たい」

✔当記事を通じてお伝えすること

  • vimコマンドとは?
  • vimコマンドの書き方・オプションについて
  • vimコマンドの実例

当記事では、vimコマンドの基本的な書き方はもちろん、vimコマンドを使った実例やオプション一覧などもご説明しています。

ぜひ最後までご覧ください。

Vimコマンドについて知っておきたい基礎知識

Vimコマンドについて必ず知っておきたいことからご紹介します。

詳しいやり方の前に、必ず目を通してください。

  • Vimとは?
  • Vimの特徴
  • Vimのインストール方法
  • 起動方法
  • 終了方法

Vimとは?

Vimは、UNIX系オペレーティングシステムで広く使われているテキストエディタです。

Viエディタをベースにして開発され、機能や使い勝手が大幅に向上しています。

プログラマやシステム管理者など、テキスト編集作業が多い人に非常に人気があります。

Viについて詳しく知りたい人はこちらからどうぞ。

Vimの特徴

Vimの特徴は以下のとおり。

  • 豊富なキーバインド: マウスを使わずにすべての操作が可能
  • カスタマイズ性: 設定ファイルやプラグインで自分好みにカスタマイズできる
  • 軽量で高速: リソースをあまり使わず、大量のテキストファイルでもスムーズに動作する
  • マルチプラットフォーム対応: Windows, macOS, Linuxなどで動作する

OS問わず、幅広く使われているのが特徴です。

Vimのインストール方法

Vimは多くのLinuxディストリビューションにデフォルトでインストールされていますが、もしインストールされていない場合は以下のコマンドでインストールできます。

  • Windows
  • macOS
  • Ubuntu/Debian
  • Fedora/CentOS

Windows

公式サイト(https://www.vim.org/download.php)からインストーラをダウンロードし、インストールします。

macOS

brew install vim

Ubuntu/Debian

sudo apt install vim

Fedora/CentOS

sudo yum install vim

vimの起動方法

コマンドラインから`vim`と入力し、Enterキーを押すとVimが起動します。

特定のファイルを開く場合は、`vim ファイル名`と入力します。

$ vim itc.txt

vimの終了方法

Vimを終了するには、ノーマルモードで`:q`と入力し、Enterキーを押します。

保存に関しては以下のとおり。

  • 変更を保存せずに終了する場合「:q!」
  • 変更を保存して終了する場合「:wq」

変更する場合もしない場合も、一度「esc」でノーマルモードに戻ってからおこないます。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Vimの基本モード

vimには複数のモードがあります。

それぞれのモードについて見ていきましょう。

  • ノーマルモード
  • インサートモード
  • コマンドラインモード
  • ビジュアルモード

ノーマルモード

Vim起動時のデフォルトモード。

カーソル移動やコマンド実行などの基本操作ができます。

ほかのモードから戻るときは、Escキーを押します。

インサートモード

ノーマルモードからiキーを押すとインサートモードに切り替わります。

このモードでは、通常のテキストエディタと同様にテキストの入力ができます。

インサートモードを終了するには、Escキーを押してノーマルモードに戻ります。

コマンドラインモード

ノーマルモードでコロン(:)キーを押すと、コマンドラインモードに移行します。

コマンドラインモードでは、Vimの内部コマンドが実行可能。

コマンドの実行が終わると自動的にノーマルモードに戻ります。

ビジュアルモード

ノーマルモードでvキーを押すとビジュアルモードになります。

このモードでは、テキストを選択してコピー、カット、ペーストなどの操作ができます。

ビジュアルモードを終了するには、Escキーを押します。

Vimの基本操作

Vimにおける基本操作は少し複雑です。

しっかりと基本を覚えましょう。

  • ファイル操作
  • カーソル移動
  • 編集操作
  • ウィンドウやタブの操作

ファイル操作

ファイルの開き方

vim ファイル名

ファイルの保存

ノーマルモードで:wを入力

ファイルの閉じ方

ノーマルモードで:qを入力(変更がある場合は:q!)

カーソル移動

基本的なカーソル移動

h(左)、j(下)、k(上)、l(右)

単語単位でのカーソル移動

w(次の単語の先頭へ)、b(前の単語の先頭へ)

行単位でのカーソル移動

0(行頭へ移動)、$(行末へ移動)

編集操作

挿入操作

i(インサートモードへ切り替え)

削除操作

x(カーソル位置の文字を削除)、dd(カーソル行を削除)

コピーとペースト

yy(カーソル行をコピー)、p(カーソルの後ろにペースト)

ウィンドウやタブの操作

ウィンドウの横分割

ノーマルモードで:splitまたは:spを入力

ウィンドウの縦分割

ノーマルモードで:vsplitまたは:vspを入力

ウィンドウ間の移動

Ctrl + w + (h, j, k, l)

タブを開く

ノーマルモードで:tabnewを入力

タブ間の移動

ノーマルモードでgt(次のタブへ)、gT(前のタブへ)

Vimのアンドゥ・リドゥ

Vimでやり直しや元に戻す方法を見ていきましょう。

知っておくととても便利。

  • アンドゥ (元に戻す)
  • リドゥ (やり直し)

アンドゥ (元に戻す)

ノーマルモードでuキーを押すと、直前の操作を元に戻すことができます。

リドゥ (やり直し)

ノーマルモードでCtrl + rキーを押すと、アンドゥした操作をやり直すことができます。

Vimのマクロとスニペット

Vimのマクロとスニペットについてご覧いただきます。

  • マクロの作成と実行
  • スニペットの利用方法

マクロとは?

Vimのマクロとは、一連のキーストロークやコマンドを記録し、後で再実行できる機能。繰り返し行われる操作や複雑な編集作業を効率化できます。マクロはVim内で定義されたバッファに記録され、任意の英小文字キーを使ってアクセスできます。

マクロの作成と実行

マクロを作成して実行するまでを解説します。

  • マクロの作成手順
  • マクロの実行手順

マクロの作成手順

ノーマルモードでqキーを押し、続けて任意の英小文字キー(例: a)を押して、そのキーにマクロを割り当てます。

記録したい操作を実行。

これにはカーソル移動、編集操作、コマンドの実行などが含まれます。

ノーマルモードでqキーを再度押して、マクロの記録を終了します。

マクロの実行手順

ノーマルモードで@キーを押し、続けて先ほど設定した英小文字キー(例: a)を押します。

これにより、記録されたマクロが実行されます。

マクロを繰り返し実行する場合、回数を指定してから@キーを押します。

例えば3回繰り返す場合は、ノーマルモードで「3@a」と入力します。

スニペットの利用方法

Vimのスニペットとは、あらかじめ定義されたコードやテキストの断片を、短いキーワードやトリガーを使って素早く挿入できる機能です。

スニペットは、コードの定型文やよく使うテキストを短時間で入力する際に役立ちます。

ただしVim自体にはスニペット機能は組み込まれていないため、プラグインを導入する必要があります。

代表的なスニペットプラグインは、UltiSnipsやvim-snippetsなどです。

【例:UltiSnips】スニペット機能の利用手順

プラグインマネージャー(例: vim-plug)を使用して、UltiSnipsプラグインをインストールします。

vimrcファイルにプラグインの設定を追加し、スニペットファイルのパスやトリガーキーを定義します。

スニペットファイルを作成し、スニペットの定義を記述します。スニペットファイルは通常、拡張子ごとに別々のファイルになります(例: Python用は.snippetsファイル)。

Vimでスニペットを利用する際に、定義したトリガーキーを押すことで、スニペットが展開されます。

Vimの設定とカスタマイズ

Vimの設定方法についてもご紹介します。

Vimの動作をカスタマイズできるようになるからです。

  • vimrcファイルの基本
  • 便利な設定例
  • プラグインの導入方法

vimrcファイルの基本

vimrcファイルは、Vimの設定を記述するファイルです。

通常、ホームディレクトリに配置されています。

このファイルに設定を追記することで、Vimの動作をカスタマイズできます。

便利な設定例

設定内容設定コマンド
インデント表示set listchars=tab:▸\ ,eol:¬
シンタックスハイライトsyntax on
行番号表示set number
検索時に大文字・小文字を区別しないset ignorecase
ステータスラインの設定set laststatus=2 (常に表示),
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v]
インデントの自動調整set autoindent
インデントの幅設定set tabstop=4, set shiftwidth=4
タブをスペースに変換set expandtab
バックアップファイルを作成しないset nobackup, set nowritebackup
スワップファイルを作成しないset noswapfile
検索文字列にマッチした部分をハイライト表示set hlsearch
挿入モードでのカーソル形状変更set t_SI=”\e[5 q”, set t_EI=”\e[1 q”
(※端末エミュレータによっては対応していない場合があります)
スクロールオフセット設定set scrolloff=3
マウスの有効化set mouse=a

プラグインの導入方法

Vimプラグインの導入にはプラグインマネージャーを使うと便利です。vim-plugは人気のあるプラグインマネージャーの一つで、次の手順で導入できます。

  • vim-plugをインストール:  https://github.com/junegunn/vim-plug
  • vimrcにプラグインの設定を追加
  • Vimで:PlugInstallコマンドを実行してプラグインをインストール

Vimのショートカットキー一覧表

前述しましたが、ショートカットキーを一覧でまとめました。

機能ショートカットキー
カーソル移動h, j, k, l
行頭・行末移動0, $
検索/, ?
置換:%s/検索文字列/置換文字列/g
ウィンドウ分割:split, :vsplit
ウィンドウ間移動Ctrl + w + (h, j, k, l)
タブ切り替えgt, gT
ページアップ・ページダウンCtrl + u, Ctrl + d
単語単位で移動w, b
カーソル位置の文字削除x
カーソル前の文字削除X
行削除dd
行コピーyy
行貼り付けp, P
操作の繰り返し.
操作の取り消しu
操作のやり直しCtrl + r

他のリソースと学習方法

Vimの学習には、以下のリソースが役立ちます。

  • Vimtutor: Vimに内蔵されているチュートリアル
  • Vimのヘルプ: :helpコマンドでVimの機能に関する詳細な説明が参照できます。
  • Vim Tips Wiki: https://vim.fandom.com/wiki/Vim_Tips_Wiki

まとめ:VimはViを改良したテキストエディタ

当記事の内容をまとめます。

  • VimはViを改良したテキストエディタ
  • Vimを活用するとさまざまなテキスト編集ができる
  • Vimの操作は少し複雑

この記事では、Vimコマンドの基本的な使い方や設定方法を紹介しました。Vimの操作に慣れることで、効率的なテキスト編集が可能になります。練習を積み重ね、Vimの使い

Vimのコマンドは練習が必要です。最初は基本的なカーソル移動や編集操作から始め、徐々に他の機能を覚えていくと良いでしょう。

Viについて知りたい方へ

nanoエディタについて知りたい方へ

タイトルとURLをコピーしました