RaspbianなどLinux系のOSを使う環境において、プログラミングを行うとき、エディタと並んでよく使うツールにビューア(viewer)があります。
ビューアはファイルの中身を閲覧するツールです。
lessというツールがそのビューアの代表的なものです。ラズベリーパイでプログラミングの勉強をするときにも、活用してみてください。
less の基本操作
lessは、大抵はすでにインストールされていて、すぐに使える状態になっているはずです。
使い方は簡単、less に続けてファイル名を打つだけです。
例えば、aaa.rbというRubyのファイルがあったときに、
1 | $ less aaa.rb |
と打てば、すぐに中身を見ることができます。
ファイルは複数個同時に開けますが、ここではまず1つとしておきます。
ファイルを開いている間の基本操作は以下の通りです。
1行づつ上下に移動
1行づつ上下に移動するときは、jキーおよびkキーを使用します。
jキーを押すと、下に1行づつ移動し、kキーを押すと、上に1行づつ移動します。
ページ送り
1ページ(行数は表示画面サイズによる)づつ上下に移動するときは、スペースキーおよびbキーを使用します。
スポンサーリンクスペースキーを押すと下に1ページづつ移動し、bキーを押すと上に1ページづつ移動します。
検索
文字列を検索するときは、/(スラッシュ)キーを押します。
最下行が:(コロン)マークから/(スラッシュ)マークに変わりますので、ここに続けて検索キーワードを入力します。
入力し終わったら、Enterキーを押します。すると、最初にヒットしたところにジャンプしてくれます。
その後は、nキーを押すと次のヒット箇所に続けてジャンプします。nキーを繰り返しておすと、繰り返し検索します。
この/(スラッシュ)キーによる検索は、nキーを押す度にファイルの前方(下方向)に向かって検索しますが、この状態でShiftキーを押しながらnキーを押すと、ファイルの後方(上方向)に向かって検索してくれます。
また、ちょっとややこしいのですが、はじめからファイルの後方(上方向)に向かって検索したいときには、/(スラッシュ)キーの代わりに?キーを押します。
今度は最下行が:(コロン)マークから?マークに変わりますので、ここに続けて検索キーワードを入力します。
そして、nキーを押すと、nキーを押す度にファイルの後方(上方向)に向かって検索してくれます。
また、この状態でShiftキーを押しながらnキーを押すと、今度はファイルの前方(下方向)に向かって検索するのです。
文章で書くとややこしいですが、やってみるとすぐわかるので試してみてください。
ヘルプの表示
ファイルを開いた状態でhキーを押すと、オンラインヘルプ画面が開きます。
操作に慣れてきたら、このヘルプで操作方法をさらに調べてみましょう。
ヘルプ画面を終了するときには、qキーを押します。
ファイルの閲覧の終了
lessを終了するときは、qキーを押します。
検索の操作などで、もし状態がわからなくなったら、Ctrl-cを押してからqキーで終了し、lessを再度立ち上げるのがよいしょう。
lessの起動時のオプション
lessの起動時のオプションはいくつかありますが、よく使うものを2つ上げます。
-S オプション: 行の折り返しをしない
-Sオプションをつけてファイルを開くと、画面の右端を折り返さないで表示することができます。
1 | $ less -S aaa.rb |
このオプションをつけてファイルの中身を表示したときは、右端が切れて表示されるわけですが、この切れた部分の先を見るときにはカーソルの右矢印キーを押します。
左に戻る時は、カーソルの左矢印キーです。
-N オプション: 行番号を表示する
-Nオプションをつけてファイルを開くと、各行に行番号をつけて表示してくれます。
1 | $ less -N aaa.rb |
閲覧中のファイルの自動更新モード
ラズベリーパイで、例えばセンサーの値をリアルタイムに読みだしてファイルに書き込むプログラムを作ったときなどに、そのデータファイルの書きこみ状況をリアルタイムに監視したいことがあります。
そんなときにもlessを活用できます。
lessは、ファイルを開いている状態で、Shiftキーを押しながらfキーを押すと、ファイルに変更が加えられるたびに自動的にそれを読み込み直して表示するモードに移ります。
例えば、1秒おきにファイルa.logにデータを書き込むプログラムを実行しているとしましょう。
このa.logをlessで開き、Shiftキーを押しながらfキーを押すと、
最下部が、この画面の最下部のような表示に変わります。
こうしておくと、ファイルに新たなデータの書き込みが発生したときに、自動的にそれを表示してスクロールしてくれるのです。
このモードから抜けるときはCtrl-cです。