はじめに
最近、Vimについて学習したのですが初学者の私にとっては理解に時間がかかったため、整理していきます。
私の環境と同じMac OSを前提に話を進めていきます。
前提として必要な知識
早速Vimについて整理していきたいところですが、Vimを理解するにはCUI操作について知っておく必要があります。
コンピュータの操作画面はCUI、GUIの2種類があります。それぞれの頭字語は以下の通りです。
- GUI:Graphical User Interface
- CUI:Character User Interface
多くの人に馴染みがあるGUIは、以下のように画像やアイコンのインタフェースでユーザーはマウスのみで操作します。
対して、CUIは文字のみのインタフェースです。ユーザーはキーボードで、コマンド入力し操作します。
MacでCUI操作するには、標準でインストールされているターミナルというアプリを使用します。
ターミナルは上記画像のような黒い画面のCLI(Command Line Interface)を提供しており、CLI上でコマンドを入力しコンピュータを操作していきます。
補足となりますが、コマンド実行後から実行結果が表示されるまでの基本的な流れは以下のようです。
- ユーザーがコマンドを入力する
- シェルがコマンドを解釈し、カーネルに実行要求を出す
- コマンドはカーネルから出力された実行結果を受け取り、画面に表示する
参考 - 初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ
CUI操作してみる
では実際に、ディレクトリの内容をターミナルに表示するls
コマンドを実行してみます。
実行が完了すると、添付画像の赤枠箇所にルートディレクトリのフォルダの一覧が表示されているのが分かります。
また、ls
コマンド以外にcd
、mkdir
など様々なコマンドがあるので使用頻度が高いものから覚えていくと良いかもしれません。
CUI操作について整理できたので、次はいよいよVimについてです。
Vimとは
Vimとは、簡潔に言うと「前述のCLI上で動作する高機能なテキストエディタ」です。高機能な理由は、エディタ上でのコマンドの数の多さにあると思われます。
エディタ上のかなり線密な操作に対してでも、コマンドが割り当てられており、コマンドを覚えて適切に入力できればファイルの編集スピードは格段に上がると思います。(ただ、コマンドの数はかなり多いです。)
Vimでテキストファイルを編集する
では、vim
コマンドでテキストファイルを指定してVimを起動します。
$ vim hoge.txt;
ただ、以下の状態ではテキストファイルの中身は編集できず、キーボードのi
キーでINSERTモードに切り替える必要があります。現在は、NORMALモードです。
INSERTモードで、hoge
と入力できました。
esc
キーでNORMALモードに戻り、保存してVimを閉じるために:wq
と入力します。(:
を入力するとCOMMANDモードに切り替わります。)
Vimの簡単な操作は以上となります。
おわりに
Vimのコマンドは、インターネット上にまとまっているものが沢山あるので見てみるとよいかもしれません。コマンドの多さに驚かされます。
ただ、全て覚えるのは効率が悪いので基本が学べるVimtutorをおすすめします。
CLI上でvimtutor
コマンドを実行すると、Vimが起動しテキストに沿って実際に手を動かしながらVimが学べます。
どなたかの参考になれば、幸いです。