Raspberry Piを使っていて、まず最初に引っかかるのがテキストファイルの編集ではないでしょうか。Windowsの環境に慣れていると、ターミナルの黒い画面しかない中で、どうやってファイルの内容を編集すればいいのか分からないことでしょう。

さらに、そうした時に参考になるオンライン情報を調べても、viやnanoを紹介されるだけで使い方が分からないはずです。どちらもWindowsのソフトウェアとは大きく異なるキーバインドを使っており、慣れるまでに時間を要します。概念を覚えるだけでも大変でしょう。

この記事では、まず最低限のキー操作だけを覚えてもらうのが狙いです。複雑な操作は後からでも覚えられますので、まずは簡単な使い方だけマスターしましょう。

vi

viは歴史あるエディタで、独自のキーバインドを持ち合わせています。実行時には次のようなコマンドを入力します。

$ vi test.txt

覚えておくことは、まずモードが3つあるということです。

  • ノーマルモード(最初の状態)
  • インサートモード(文字入力できる状態)
  • コマンドモード

最初がノーマルモードであり、インサートモードではありません。つまり、最初は文字入力できません。この時点で混乱してしまう人は多いです。まず焦らずに、キャレット(文字入力する部分に合わせて表示される | のこと)を移動させましょう。hjklキーでも移動できますが、矢印キーでも大丈夫です。

文字入力したいところまで移動したら、iキーを押します。これでインサートモードに切り替わります。インサートモードからノーマルモードに戻るのはEscキーになります。

ファイルを編集したら、ノーマルモードに戻って :w! で保存します。またはShift + zz(zを2回)押せば保存して即終了してくれます。これだけ覚えればファイル編集は十分行えるでしょう。

以下に簡単なチートシートを載せておきます。

カテゴリ内容キー操作
カーソル移動h または ←
j または ↓
k または ↑
l または ←
文字入力その場でインサートモードへの切り替えi
次の文字に移動してインサートモードへ切り替えa
解除Esc
検索検索の開始/(検索文字列) + Enter
次の候補に移動n
文字削除インサートモードの時Backspace
ノーマルモードの時に1文字削除x
ノーマルモードの時に1行削除dd
コピー&ペースト一行コピーyy
貼り付けp
Undou
コマンドモードに入る:
ファイルの保存コマンドモードw!
ノーマルモード(保存して終了)Shift + zz
終了コマンドモードで保存せず終了q!
置換コマンドモードで置換%s/置換対象文字/置換後の文字/ + Enter

インサートモードは文字編集する際だけに使います。それ以外の操作(キャレットの移動、検索、文字削除など)はノーマルモードで行います。ファイルの保存、終了、そして置換などの処理はコマンドモード(ノーマルモードで:を打つとコマンドモードになります)で行います。

viはもっとたくさんの機能を持ち合わせていますが、一気に説明しても混乱するだけでしょう。まず最低限として、キャレットの移動をしてiでインサートモードになって編集、Escでノーマルモードに戻る、Shift + zzで保存して終了という流れだけ覚えておけばいいはずです。

nano

nanoもキーバインドが特殊ですが、viよりは少しだけ分かりやすいです。なぜなら画面の下にキー操作が表示されているからです。

実行時には次のようなコマンドを入力します。

$ nano test.txt

^X となっていたら、それはCtrlキーとXを押すという意味です。nanoにはノーマルモードやコマンドモードなどありませんので、実行したらすぐに編集できる状態です。下に簡単なチートシートを掲載します。

カテゴリ内容キー操作
カーソル移動
文字入力その場で入力
検索検索の開始^W + 検索文字列 + Enter
文字削除1文字削除Backspace
1行カット^K
コピー&ペースト貼り付け^U
ファイルの保存^O + Enter
終了^X
置換^W + ^R + 置換対象文字 + 置換後の文字 + ^A

ファイルの保存は ^O (と確定でEnter)になります。^Xでnano自体の終了となりますが、未保存のファイルがあると確認が出ますので注意して下さい。基本的に下にキーバインドが出ており、その上に説明が出ているはずなので、読めば何をすればよいかが分かるはずです。

まとめ

viもnanoも多少癖はありますが、慣れてしまえば問題なく使いこなせるはずです。より複雑な(ファイルの内容を挿入するなど)操作は十分に慣れてからで問題ありませんし、滅多に使う操作ではないでしょう。まず慌てずに操作ができるよう、今回の記事に書いてある方法をしっかりとマスターしてください。


0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です