当サイトでは、Vim関連の記事を多数掲載しています。
そんな中で困るのが、次のような Vim 用語を使い分ける必要がある点です。
- コマンド
- Exコマンド
- キーマッピング
- マップ
- キーバインド
- ショートカットキー etc…
Vimでは普通でも、一般的に使われていなかったりするので混乱しがちです。
そのため、この記事では各用語を整理して理解できる手助けができればと思います。
Q1. コマンド/Exコマンドの違いは?
通常、「コマンド」という言葉を広く使ってしまいますが、ヘルプや意見を伺う限り、次のような違いがありました。
コマンド
通常は、Vimの機能そのもののことを指します。
ただし、その機能を起動させるキー操作のことを指す場合もありますし、キー操作自体(キーマッピングなど)のことを指すように使われることもあります。次の Exコマンドの意味で使われることも多々あります。
Exコマンド
通常は、Vimの機能を起動する:で始まるコマンド(文字列+ENTER)のことを指します。
こちらは別の用法で使用することはありませんが、ヘルプの一部では「コロンコマンド」と記載されているケースもあります。
検索コマンド
通常は、/または?で始まる 検索/置換のためのコマンドのことを指します。
こちらも別の用法で使われることはありません。利用されてるケースが少ないようにも見受けられます。
当サイトでは、キチンとコマンドとExコマンドを使い分けていきたいと思います。漏れがありましたら、遠慮無くご指摘ください。
Q2. キーマッピングとキーバインドとショートカットキーの違いは?
この3つも非常に違いが分かりにくい用語です。
キーマッピング
先に紹介したコマンドへのキーの割り当てを指します。
Vimのヘルプで利用されるのは、キーマッピング / キーマップ のいずれも使われます。
キーにコマンドを割り当てることを マップする、キーマッピングするなどともいうようです。
いずれにせよ、Vimでのキー割り当てを指す言葉として正しい用語と言えます。
キーバインド
世の中一般的には、キーの割り当てとして利用する言葉の一つです。
キーへ機能を割り当てる用語としては間違ってはいません。
しかし、Vimでは利用しない言葉で、ヘルプではほぼ現れません。(他ソフトウェアのことに言及する記載で出現しますが)
そのため、Vimに対して利用するのは正しく無いと言えます。ご注意ください。
ショートカットキー
WindowsやMacなどのOSでよく使う用語です。
http://e-words.jp/w/ショートカットキー.html
こちらは複数キーを前提として、機能の実行を割り当てたキー操作を指します。
先のキーバインドと違うのは、複数キーを前提とするかどうかです。
とはいえ、こちらもVim界隈では利用されておらず、正しく無い用語となります。
当サイトでは、以前誤ってキーバインドを利用しておりましたが、キチンとキーマッピング/キーマップ/マップを使うようにしていきたいと思います。もし漏れがありましたら、遠慮無くご指摘ください。
背景
この記事を書くようになった背景として、冒頭の悩みを Twitter でやりとりをしたことに起因します。
こんな何気ない呟きに対して、ありがたいことに次のようにコメントをいただきました。
そういえば、vim-jp (Slack) で聞いてみれば良かったなと思いましたが、後の祭りでした…
おわりに
Vim / Neovim のヘルプなどで明確に定義して欲しいなとも思いますが、こういう記事を書いたりするユーザー以外はさほど困っていないんだろうな、と思ったりもします。
もしこの記事の内容に誤りやご意見がありましたら、お問い合わせ もしくは Twitter にていただければと思います。