Raspberry Pi 3 Model B で遊んでみる - vim を使おう

vim エディターを使おう

vim エディターは 端末コンソール上でファイルの表示、編集ができるテキストエディターです。




Raspberry Pi を使っているうちにいろいろな場面で大変役にたつと思います。端末コンソールでの作業やSSH 接続でリモート操作する場合にはほぼ必須ではないでしょうか。
端末コンソールでの作業必要になった場合なども知っていると作業がはかどります。

 

ファイルを開いたらそのまま編集ができるテキストエディターと違って、vim にはいくつかの状態があります。ここが直感的でないため vim の分かりづらいところではないかと思います。

これさえ乗り越えれば、あとはとんとん拍子で使いこなせるようになりますので、この際に基本をマスターしてしまいましょう。

ここではファイルを編集するためにこれだけは必要 と思われる機能に絞りつつ、はじめて vim エディターを使う方が取り組みすいように簡潔な表現を使って記載しています。

 

最後には vim エディターのバージョンアップ方法を記載しましたので、参考にしてみてください。


vim の練習準備

文字だけで読むより実際に作業しながらの方が理解しやすいと思います。使ってみましょう。

まずは端末コンソールを開いて、一気に以下を実行します。

すると test というディレクトリー(フォルダ)を作ってその中に aaa というファイルができます。

 

ファイルができたことを確認するには、以下を実行します。

vi-practice

 

それでは vim エディターを使ってみましょう。

 


vim を使う

実際に操作しながら覚えていきましょう。

前の項目で練習用にファイルを準備しましたので、失敗を気にせずいきます。

ファイルを開く

作成した aaa ファイルを開きます。

ファイルを閉じる

ファイルを閉じるには:q (コロンと小文字キュー)を入力します。

vi-open-close

 


カーソルを移動する

もう一度 aaa を開きます。(コマンドプロンプトで上キーを入力すると便利)

 

カーソル移動には J K L M キーを使います。

vim-key

使用例:

カーソルを一つ右に移動

l(小文字エル) を入力します。

カーソルを二行下に移動

2j (小文字ジェー)と続けて入力します。
このように数字と移動キーを組み合わせると数字の分だけ移動できます。
また、10jと入力するところを間違えて20や100と入力してしまった場合は ESC キーで入力した数字をクリアできます。

 


文字入力

文字を入力してみましょう。

i キーを押して挿入モードにします。

左下に — 挿入 —— insert — と表示されます。

vi-insert

この状態で何かキーを打つと文字が入力できますので、適当に文字を打ち込んでみてください。

挿入モードを抜けるにはESC (エスケープ)キーを押します。再び文字が入力できない状態に戻ると思います。

このように vim は文字を入力するモードに変更して使います。

 

ファイルを編集するモードは、以下の4つを覚えておくと困らないと思います。

vim エディターの編集モード
i (小文字アイ)キー : カーソルの位置から文字入力開始

a (小文字エー)キー : カーソルの次の位置から文字入力開始
o (小文字オー)キー : カーソルのの行から文字入力開始
O(大文字オー)キー : カーソルのの行から文字入力開始

 


元に戻す、再実行(undo、redo)

変更した内容を元に戻すには u を使います。

u を押すと一回分の変更が元に戻ります。再度 u を押すと変更した状態になります。

 

この機能は vim-Huge 版にバージョンアップすると動作が変わります。
Huge 版では u を押す度に変更箇所が元に戻っていきます。CTRL+R を押すと逆に変更箇所が再実行されていきます。(Huge 版へのバージョンアップ方法は最後に記載しています。)

 


ファイルを途中保存する

編集した内容を途中で保存する場合は :w (コロンと小文字ダブリュー)を使います。

 


ファイルの閉じ方

ファイルを閉じる場合は :q (コロンと小文字キュー)を使いますが、編集した状態でファイルを閉じる場合は上書き、編集破棄などのオプションを指定します。

ファイルを閉じる

上書き保存して閉じる

編集内容を破棄して閉じる

 


これでとりあえず、一つ壁を越えました。いかがですか?

意外と簡単ですよね。

次はよく使う機能を覚えましょう。

 


行数表示

行数を表示させるには、: (コロン)set nu を使います。

表示

vi-set-nu

非表示

 

現在のカーソル位置表示

カーソル位置が2行目、7桁目の例vi-G

 


ジャンプ

行の先頭にジャンプ

行の先頭にジャンプするには 0 (ゼロ)キーを使います。

行の最後にジャンプ

行の最後にジャンプするには $ (ダラー)キーを使います。

指定した行にジャンプ

指定した行数にジャンプします。

または、

を使います。

3行目にジャンプしてみましょう。最後にエンターキーを入力します。

vi-jump

または、

3 → G(大文字ジー)の順に入力します。

最後の行にジャンプ

Linuxでは最後を

または、

 


 文字検索、文字列検索

/ (スラッシュ)または ? (クエスチョン)を使います。

012という文字列を下方向に検索してみましょう。最後にエンターキーを入力します。

vi-search-forward

最初に見つかった 012 の位置にカーソルが移動します。

次を検索

次の 012 を検索するには n (小文字エヌ)を押します。
逆方向に検索するには N (大文字エヌ)を押します。

上方向に検索する

上方向に検索するには ? を使います。次検索も / の下方向検索と逆の動きになります。

 

検索文字列が見つかったら i (小文字アイ)などでモードを切り替え、編集し終わったら ESC キーでモードを抜けます。

 


削除

x (小文字エックス) : カーソルのある位置の文字を削除。

dd(小文字ディーとディー) : カーソルのある行を削除。


dw(小文字ディーとダブリュー) : カーソルのある位置から1ワード削除。

 

d$ (小文字ディーとダラー) : カーソルの位置から行の最後まで削除。

 

ABCを検索して1ワード削除してみましょう。
/ABC → dw を入力すると4行目のABCDEFGHIJKLM までが削除されます。

vi-dw

 

数字と組み合わせて複数同時に削除することができます。4ddで4行削除など。

それぞれ u (小文字ユー)で元に戻すことができます。

 


置換

文字や文字列を置換するには以下を使います。

r (小文字アール) : カーソル位置の文字を置換。


s (小文字エス) : カーソルの位置の文字を文字列に置換。


cw (小文字シーとダブリュー) : カーソル位置から1ワード分の文字列を置換。

r の使い方の例

/: → r → #
の順に入力すると1行目の先頭が元の : (コロン) から # (シャープ)へ置換されていると思います。

vi-r

cw の使い方の

/abc → cw → change_word → ESC(エスケープ)
の順に入力すると1行目の先頭からスペースの前までが元の abcdefghijklm から change_word へ置換されていると思います。

vi-cw

 

数字と組み合わせて複数選択することができます。3rで3文字置換など

それぞれ u (小文字ユー)で元に戻せます。

 


 コピー&ペースト

コピー、ペーストは単純でカットバッファー(windowsでいうクリップボード)に文字列を保存し、それを貼り付けるという方式です。

削除のところで記載しているx、dd、dw の操作でもカットバッファーに文字列がコピーされますので最後に実行したのが削除かコピーかを意識しておくとよいでしょう。

コピー

yy : カーソルのある行をカットバッファーにコピー。

 

yw : カーソル位置から後ろの1ワード分をカットバッファーにコピー。

 

ペースト

p : カットバッファーの内容をカーソルの位置にペースト。

 

数字と組み合わせて複数選択することができます。3yyで3行コピー、2pでコピーした3行を2回ペーストなど。

ペーストした文字列は u (小文字ユー)で元に戻せます。

 

コピー、ペーストはマウスや Shift + CTRL + c と Shift + CTRL + v を使って作業した方が楽な場合もありますので状況によって使い分けましょう。

 


繰り返し

vim は一つ前の操作を繰り返し実行することができます。

 

例えば、

/012 → cw → abc → ESC → n → .(ピリオド) → n → .(ピリオド) の順に入力すると、2回目と3回目の cw → abc → ESC. (ピリオド)で再実行されていると思います。

 


vim 練習の後片付け

以下を実行して、練習用に作成したディレクトリーとファイルを削除します。

 

お疲れ様でした。
駆け足できましたが、vim エディターの基本的な使い方はマスターできたのではないかと思います。

そして、これだけ覚えておけばだいたいの編集作業は楽にこなせるはずです。

次は実践で使ってみましょう。

 






vim のバージョン変更(Small → Huge)

Raspberry Pi に OS をインストールした状態では vim Small バージョンがインストールされています。

より便利な機能が搭載されているvim Huge バージョンに更新しましょう。

始めにバージョンが Small であることを確認します。

パスワードを尋ねられたら自分のパスワードを入力します。

vim-small-version

 

端末コンソールから以下を実行して vim のバージョンを更新します。

パスワードを尋ねられたら自分のパスワードを入力します。

インストールが始まります。

vim-huge-version-installing-2

プロンプトが表示されたらインストールは完了です。

 

バージョンが Huge に更新されたことを確認します。

パスワードを尋ねられたら自分のパスワードを入力します。

vim-huge-version