(最終更新月: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」でノーマルモードに戻ってからおこないます。
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エディタについて知りたい方へ