Memorandum

普段の生活の覚え書き。主に技術録

Vimの使い方

CUIとは

私が契約しているVPSCentOSが入っています。サーバ用のOSはLinuxが多く、またCUI(Character User Interface)という文字だけの画面で操作する場合が多いです(通称:黒い画面)

一部Windows ServerなどはGUI(Graphical User Interface)と通常使っているようなWindowsの画面で操作できるOSもありますが、ほとんどがCUIです。

CUIのメリットとして 1. キーボードのみで操作できる 2. マシンリソースをあまり消費しない 3. 繰り返しや条件分岐などの複雑な操作がしやすい

などが挙げられます。 なんとなくキーボードのみで操作しているとコンピュータ上級者みたいに見えてかっこいいです。

私もVPS上ではCUIを使って操作していますが、コマンドなどが覚えづらくココらへんは慣れが必要かと思います。

テキストエディタ

CUI上でサーバの設定やプログラムを書くときに使用するツールでテキストエディタというのがあります。 Windowsだとノートパッドやサクラエディタなどがあります。 しかし、ノートパッドやサクラエディタGUIで使うことを前提としているため、サーバ上では使えないことが多いです。(サーバでもGUIを導入してこれらのテキストエディタが使える場合もありますが、画面描画にマシンリソースを消費してしまいます))

そのためCUIでは別のテキストエディタを使います。 CUIでのテキストエディタの例として

などがあります。 それぞれのエディタに特徴があり、どれがいいとは決められませんが、私はVimというテキストエディタを主に使っています。

Vimとは

Vimとはviと呼ばれるテキストエディタから発展したもので、Linuxには標準でインストールされている場合も多いです。 なのでVimが使えるようになっていて損はないと思います。

操作方法が特徴的で初めのうちは使いにくいものですが、慣れてくれば普通のテキストエディタより早く入力することができるようになるそうです。

Vimには「コマンドモード」と「入力モード」がありそれぞれを切り替えて使います。 コマンドは色々あり私も全てを使いこなせていませんが、最低限文字を書いて保存することができればいいと思います。

よく使うコマンドは以下のようになっています。

コマンド 機能 補足
i 入力モードにする カーソルの位置から文字を入力
a 入力モードにする カーソルの次の位置から文字を入力
[Esc] コマンドモードにする 入力モードのとき
h カーソルを左へ コマンドモードのとき
j カーソルを下へ コマンドモードのとき
k カーソルを上へ コマンドモードのとき
l カーソルを右へ コマンドモードのとき
:w[Enter] ファイルの保存 コマンドモードのとき
:wq[Enter] ファイルを保存して終了 コマンドモードのとき
:ZZ[Enter] ファイルを保存して終了 コマンドモードのとき
:q[Enter] vimの終了 コマンドモードのとき(ファイルを保存していないと終了できません)
:q![Enter] vimの終了 コマンドモードのとき(ファイルを保存していなくても終了できます)

上記のコマンドを覚えれば最低限ファイルの編集を行うことができると思います。特にhjklでカーソル移動が独特で初めはカーソル移動だけでも慣れないと思います。(普通のカーソルキーでも動かすことが出来ますが、ホームポジションでカーソルが動かせるのでhjklのが早いです)

更に他にも色々なコマンドあるので、使いこなせれば普通のテキストエディタよりも早く楽に編集することができるようになると思います。 私もまだまだ使いこなせていませんので、練習や慣れが必要です。

VIM-Adventures

vimの特徴的の操作方法をゲームでわかりやすく学べる「VIM-Adventures」というのがあります。 全て英語なのでとっつきにくいかも知れませんが、基本的なカーソル移動が学べると思います。

https://vim-adventures.com/

Level1~3まであり、Level1では迷路のコースをhjklキーで移動していきます。(カーソルキーを使うと怒られます) 海の上ではjkの移動で現在行の位置と同じ縦移動ができるのでそれで超えていけます。

Level2では新たなコマンドを取得しながら、文字間の移動方法を学べます。 「w」コマンドは前方の単語の先頭にカーソル移動が出来ます。「b」コマンドは後方の単語の先頭にカーソルを移動させます。「e」コマンドは単語の末尾にカーソル移動します。

単語は一連の文字、数字及び下線、または空白で区切られた文字列を指しています。

Level3では文字間の移動の確認をして、文章の訂正コマンドを使っていきます。 文章の訂正コマンドは文字間の移動コマンドを駆使して、制限時間内に「x」コマンドを取得しなければなりません。

「x」コマンドはカーソル位置にある文字を1字削除します。 最後にスタート地点近くの宝箱を取るととりあえずクリアです。

Level1~3をすべてクリアすると更に多くのコマンドを使ったレベルがあるみたいですが、それにはライセンス購入が必要らしいので、この先は興味ある方がやってみてください。(ちなみに25$らしいです)

Let's Enjoy Vim

サーバなどCUI画面でファイル編集する際にお世話になるだろうと思いますので、Vimの基本操作は知っていて損はないと思います。

また、ブラウザのFirefoxGoogle ChromeVimのコマンドを使ってブラウジングができる拡張機能もありますので、キーボードのみのブラウジングに興味がある方は使ってみるのもいいかも知れません。

https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=ja

ちなみにあの有名なキーボード、Happy Hacking Keyboard(HHKB)の英字配列モデルにはカーソルキーがないそうです。vimのために作られたキーボードなのかは分かりませんが、vim使い(通称:vimmer)なら使いこなせるかも知れませんね。