Vimの基礎知識。
Unix系OS標準のCUI(Character User Interface)エディターのVimの基礎知識と初歩的な使い方(Vimのバージョンアップ、ファイルの開き方、ヘルプ参照、モードの概念、初期設定ファイルなど)、忘れるのでメモ。
Vimは、オランダ人のプログラマーBram MoolenaarによってAmiga向けに開発され、のちにさまざまな環境へ移植された。Unix系OSではEmacsと並んで広く使用されているテキストエディター。
開発当初はオリジナルのエディターViの模倣としてVi IMitationの略だったが、バージョン2.0(1993年11月14日)以降はViを超えることを目指してVi IMprovedでVimと略称されている。
Viは環境非依存で特に設定せずに使うのが一般的だが、プログラマー向けのVimは設定を多用して各個人向けに使いやすくするのが一般的である。(Wikipedia)
Vimのモードの概念
Vimでは、「モード」と呼ばれる「キー入力待機状態の種類」を必要に応じて切り替えながら操作していく。
(Vimを起動して「:h vim-modes」でモードに関するヘルプ。)
それぞれのモードで操作できる内容や使える機能が異なるので、操作したい内容に応じて都度モードを切り替えながらファイルの編集作業を行う。
例 :「カーソルを移動できるモード」と「文字を入力できるモード」は異なるので、モードを切り替えてからそれぞれの操作をする。
「ノーマルモード」を基本にしながら、主に下記の4モードを適宜切り替えて編集していく。
※ 各モードでの基本的なキー操作は別記事を参照。
1. ノーマルモード(Normal mode) : 基本の状態。
カーソル移動やコピー・貼付けなど、編集の基本操作を行うモード。
(キーボードの「h」、「j」、「k」、「l」キーでカーソルが「左」「下」「上」「右」に移動など。)
- Vim起動時はノーマルモードで立ち上がる。(設定で変更可能。)
- 他のモードのときに「esc」キーでノーマルモードに戻る。
- 基本的にノーマルモード経由で他のモードへ移行する。
2. インサートモード(Insert mode) : テキストの入力。
キーボードで普通にテキストを入力するときの基本モード。
- ノーマルモード時に「i」キーなどでインサートモードへ移行。
3. ビジュアルモード(Visual mode) : テキストの範囲選択。
テキストを範囲選択してオペレーターの機能を適用するモード。
- ノーマルモード時に「v」キーなどでビジュアルモードへ移行。
4. コマンドラインモード(Command-line mode) : コマンド入力。
Vimの専用コマンドやVim外部のシェルコマンドを入力して機能を使うモード。
(画面を分割したり、Vimの初期設定を変更したりなど様々な機能を使用できる。)
- ノーマルモード時に「:」などを入力でコマンドラインモードへ移行。
- コマンドラインモード状態の場合、画面最下行にコマンド入力の行が表示される。
- コマンドラインモードでVim外部のシェルコマンドも使用できる。
[ コマンドラインモードの種類 ]
- 「:」(Exコマンド)は、Vimが持つ機能を使用。
- 「/」と「?」(検索パターン)は、開いているファイルの本文からワード検索。
- 「:!」(フィルタコマンド)は、Vim外部のシェルコマンドを使用。(「:! ls」のように外部シェルコマンドを入力。)
基本的なシェルコマンドと基本的なVimのExコマンド
色々なパターンでのVimの起動方法など基本的なシェルコマンドと、Vimでファイル編集中に使用する基本的なExコマンド。
1. Vimに関するシェルコマンド
Vimのバージョン情報の確認。
vim --version
HomebrewでVimをアップデート。
※ Homebrew(パッケージマネージャー)が必要。
brew upgrade vim
Vimの初心者用チュートリアルを開く。
(チュートリアル Version 1.7では、全7セクション976行。)
※ 読むだけで30~40分。内容を学習しながらで数時間。
vimtutor
ファイルは開かずにVimを起動。
vim
指定したファイルを開いてVimを起動。
※ ファイルが存在しない場合は新規作成される。
vim ファイルパス
読み取り専用でVimを起動。
※ 起動時にファイルを開く場合はファイルパスを指定。
vim -R
Vimを起動して指定したファイルの指定した行に移動。
vim +数字 ファイルパス
デフォルトの設定でVimを起動。
※ 個人設定ファイル(「.vimrc」とプラグイン)を読み込ませずに起動する。
vim --clean
2. 補助機能のExコマンド (コマンドラインモードで使用)
Vimのヘルプを開く。
(ヘルプは英語なので、必要なら日本語化のプラグインを入れるか日本語ドキュメントを参照する。)
※ 現在のウィンドウを上に分割してヘルプが開かれる。
※ 「:h help」でヘルプについての説明、「:h コマンド」で指定したコマンドについてのヘルプが開く。
:h
Vimが読み込んでいる設定ファイルの一覧を確認。
:set runtimepath
Vimが読み込んでいるプラグインファイルの一覧を確認。
:scriptnames
Vimの各種機能の現在の設定値を確認。
:set all
3. 基本的なExコマンド (コマンドラインモードで使用)
任意のファイルを開く。
:e ファイルパス
編集内容を保存。
:w
編集内容を保存せずに開いているファイルを閉じる。
:q
編集内容を保存せずに開いているファイルを強制的に閉じる。
:q!
編集内容を保存してから開いているファイルを閉じる。
:wq
Vimの初期設定の変更
Vimの各種設定はExコマンドを使って変更できる。(「:syntax on」を実行するとシンタックス機能がオンになるなど。)
Vim起動中にExコマンドで都度設定を変更できるが、Vimを終了すると初期設定に元に戻るので、通常は自分用にカスタマイズした内容を「.vimrc」ファイルにまとめて記述しておく。
※ 「.vimrc」ファイルの詳細は別記を参照。
「.vimrc」ファイルの設定
「:h vimrc-intro」でvimrcに関する説明、「:h vimrc」でvimrcのヘルプ。
- 「.vimrc」ファイルを作成。
- Vimの文法(Vim script)で、自分用の初期設定を記述。
- 所定のディレクトリに配置。(Unix系の場合「~/.vimrc」または「~/.vimr/.vimrc」。)
- Vim起動時に「.vimrc」ファイルが読み込まれて内容が自動的に反映される。
※ Vimは、「.vimrc」ファイルを読み込むと自動的にVimの既定値を使い、無ければVi互換の既定値を使う。(=「.vimrc」ファイルがあるとExコマンド「:set nocompatible」と同じ設定になる。)
「.vimrc」ファイルの記述例
※ Vim scriptではExコマンドの「:」は省いて記述、「”」がコメントアウト。
syntax on "シンタックスハイライト有効化
set number "行番号表示
set title "タイトルバーにファイル名を表示
set cursorline "カーソルがある行を強調表示
https://memo.ag2works.tokyo/post-1791/
Vimの基礎知識。 | memo メモ [AG2WORKS]
<a href="https://memo.ag2works.tokyo/post-1791/" target="_blank" rel="noopener">Vimの基礎知識。 | memo メモ [AG2WORKS]</a>
この記事へのコメント
コメントの書き込みはまだありません。