りなっくすとらずぱい!

Raspberry Pi初心者に向けた各コマンドの説明、プログラムの作り方について紹介しています!

vim - ファイルの中身を編集できるエディタ

f:id:ibuquicallig:20190511231045p:plain

この記事ではvimコマンドの基本的な使い方と例、オプションなどについて解説しています。

前の記事

vimコマンドについて

テキスト形式のファイルの中身を編集することができるこのコマンドですが、できることが膨大なうえに初心者にはちょっと特殊な操作感のため、この記事では「ファイルを開いて編集、保存、エディタを終了する」ところまでを紹介します!

後々の記事でもう少し発展した使い方を紹介してきたいと思います。ちなみに私は秀丸やVSCodeのようなGUIのあるエディタばっかり使っているので全然vimマスターになれません。。。(笑)

インストールする

Raspberry Piであれば最初からvim-tinyという最小構成のvimがインストールされています。が、シンタックスハイライトが有効にならなかったりします。あとあとvimの設定ファイルなどを触るときにうまくいかないこともあるので、ここは普通のvimをインストールします。

$ sudo apt-get update
$ sudo apt-get install vim

でインストールします。

ファイルを開く

まずはvim [ファイル名]で編集するファイルを開きます。指定したファイル名が存在しない場合には、そのファイル名で新規作成されます。

下記コマンドを実行して新規ファイルを作成し、開いてみましょう。場所はSSHなどでログインした直後のホームディレクトリで実行します。

$ vim test.txt

拡張子をつける必要は特にありませんが、今回はつけておきます。

ファイルを作成して開くことができると、空のエディタ画面が開かれます。

~
~
~
~
~

こんな感じの画面が表示されているはずです!もし左下に-- REPLACE ---- INSERT --という表示がある場合は、とりあえずEscキーを押すと標準の状態に戻すことができます。

i で挿入モードへ移行する

さて、ここからがWindowsのメモ帳などと大きく異なっている特徴なのですが、vimでは、モードを切り替えながら入力や文字の編集を行わなければなりません。

現在画面に表示されている状態はノーマルモードで、編集や削除などを行うためのモードとなっています。キーボードから文字を入力することができるようにするには挿入モードへと切り替える必要があります。

その画面の状態からiキーを押すことで挿入モード(Insert mode)へと切り替えることができます。挿入モードの状態では画面下部に-- INSERT --と表示されているはずです。

この状態に切り替えることで、おおよそメモ帳と同じような状態となり、文字入力が可能となります。

文字を入力する

挿入モードとなれば、vimであればほぼそのままメモ帳と同じ感じで使うことができます。hogehogehogeとでも入力しておきましょう😎

外部からターミナルでSSH接続している場合は、挿入モードの状態で右クリックするとクリップボードの内容を張り付けることができます。

Esc でノーマルモードへ移行する

現在は挿入モードのままですが、Escキーを押すことで最初のノーマルモードへと戻ることができます。ノーマルモードに戻ると左下の-- INSERT --などの表示が消え、次のコマンドを入力することができます。

:w で保存する

メモ帳なんかだと、画面の上のほうにはファイルだったり編集というような文章入力以外の操作を行うためのメニューが表示されていますよね?vimではこれらの操作をすべてコマンドで行います。

あまり一度に紹介しても、消化不良となってしまうのでここでは保存と終了についてのみ紹介しておきます。

コマンドを入力するにはノーマルモードの状態で、:を入力します。すると左下の部分に:と表示されます。この状態でさらにwをうちこんで、:wとします。そのままエンターキーを押すと保存が完了します。

"test.txt" [New] 1L, 2C written

というような表示があれば成功です。今回は新規ファイルの作成から行いましたが、既存ファイルを開き、編集した場合には上書き保存となります。

wは、Write outWrite overのwです。

:q で終了する

保存が完了したので最後にvimを終了させます。保存の時と同じくコマンドを入力します。ここでは:qと入力して下さい。成功するとコマンドラインが表示されvimが終了します。

:q!と入力すると編集した内容をすべて破棄して終了することができます。編集した後に保存をせずに:qを実行すると「保存しなくて大丈夫?」と(やさしく)聞いてきてくれます。

qは、Quitのqです。

これら二つのコマンドを合体させて :wq と入力することで保存しながらvimを終了することができます。

なんか変なことになったときには...

以下なんか思った通りに動かないときの簡単な対処法です。

何も入力できない・画面が固まった

おそらくCtrl + Sを押してしまい、コンソール画面がロックされている状態になっています。解除するにはCtrl + QをおせばOKです。このコマンドはvimでなくても有効なので、ネットワークは快調なのにコンソールが動かなくなってしまった!!となったときにはCtrl + Qを試してみてください。

保存用のコマンドなだけに複数のOSにまたがって作業しているとよく間違えてやってしまいます。。。

画面下部に変な画面が表示される

以下のような表示が画面下部にあり、保存などのコマンドがうまく実行できない状態です。

test.txt [+]         1,1            All
:w
:q
:
:~
[Command Line]       3,0-1          All

コマンドウィンドウと呼ばれるものらしく、実行した履歴一覧などを表示できる機能なのですが、表示されると少しびっくりしますね!q:と入力すると表示されてしまいます。

非表示にするには、:qとコマンドを実行するか、Ctrl + Cを二回押します。履歴一覧となっているので自分が使いたいコマンドが表示されている場合、それを選択してエンターキーを押すことでも実行可能です。

最後に

以上でvimを使用してファイルの編集、保存ができるようになりました!これで設定ファイルを編集したり、Raspberry Pi上だけでプログラムを書いて実行することができるようになりました。

vimのほかにemacsというエディタもとても有名なのですが、個人的にはvimのほうが好き(というか使ったことない)なのと、どんな環境でも絶対vimの派生元であるviが存在しているので操作感が統一されてラーニングコストが少なくて済む、という理由でvimを紹介しています。

viでは矢印キーが使えなかったり、文字の削除が挿入モードで行えなかったり、vimよりも操作がシビアとなっています。Raspberry Piの環境であればvimだと矢印キーも使えますし、挿入モードでバックスペースなども使用できるのでメモ帳と変わらない感じで操作できましたね!viでできることはvimでもほぼほぼできるので、あえて使わなくてもいいのかなと思います。




次回からはWEBサーバーの構築や、電子工作に関する記事を書いていきます。

次の記事

いよいよプログラミングとなっていきます!

参考

以下のサイトの情報を引用・参考にしました。

↑最初のうちはチートシートととして、コマンドを実行する際には常に横に開けておくと便利です。