Linuxゲリラ戦記

nanoなのですか。nanoなのですよ。

左を向いているペンギンみたいなキャラクター、ナックス

27.Linuxの文字書きソフト(テキストエディタ)nano

ナックス「今回は、LinuxのCUI環境でも使えるテキストエディタnanoを解説致します」

デビー君「テキストエディタ……?」

ナックス「テキストエディタは、日本語にそのまま訳すと『文字の編集』。要するに文字書きソフトです。『編集』って聞くと、既にあるテキストファイルしかいじれないように感じるかもしれないけど、もちろん新しくテキストファイルを作成することも可能です」

デビー君「文字書きソフトか。そういえばLinux……というより、パソコンを使う上では基本中の基本のソフトだね」

ナックス「そうです。今回解説するnanoを使えば、皆さんついにLinuxの設定ファイルなどをぐりぐり書き変えることも可能になるんですね。いやーめでたい!」

ナックス「テキストエディタの歴史!!」

ナックス「Linuxの世界には有名なテキストエディタが二つあります。EmacsとVi(m)です!」

デビー君「あれ?今回解説してくれるnanoは無いの?」

ナックス「この二つのテキストエディタはかなりの能力を有しており、Linuxの世界では『どちらがより優れたテキストエディタか!?』という議論が日夜盛んなのです」

ナックス「しかし、この二つのテキストエディタはともに大きな問題を抱えていました」

ナックス「2つとも、中級者、及び上級者向けのテキストエディタであり、初心者には扱いづらかった!!」

デビー君「え?ただの文字書きソフトに扱いづらいとかあるの?」

ナックス「あります。学習すれば分かりますが、初心者には泣くほど難しいです。なのに、Linuxのテキストエディタといえばこの二つのどちらか。これも、Linuxに初心者がよりつかない大きな理由の一つでした」

ナックス「しかし!そんな閉塞された世界に颯爽と登場した期待のニューフェイスがより初心者にも扱いやすいテキストエディタnanoなのです」

デビー君「ナノなのですか」

ナックス「最近のディストリビューションのほとんどには最初からついているソフトですが、少し古いディストリビューションだとインストールが必要かもしれません。もしインストールが必要であれば、Synapticを使うなりyumなりapt-getなりaptitudeを使うなりしてさくっとインストールしてください」

ナックス「オーケー!早速CUI環境を起動しよう」

CUI環境を立ち上げよう

デビー君「起動しましたー」

ナックス「nanoも、より初心者向けとはいってもマニアックに使いこなそうとするとそれなりに大変なので、今回は基本的な操作『ファイルの新規作成』『ファイルの新規保存』を解説したいと思う」

ナックス「というわけで、ファイルを作りたいディレクトリに行ってnanoとコマンドを打ってくれ!『別にどのディレクトリでもいいや』って人はホームディレクトリなんかお勧め!」

$ nano

nanoコマンドを使おう

ナックス「nanoって入力してEnterキーを押すと、以下の画面のようにnanoが起動するよ!」

Linuxのテキストエディタnanoが起動する

デビー君「おー。かっこいいなー」

ナックス「下の方に^Gとか、^Xとか書いてあるけど、これらはそれぞれ『Ctrlキーを押しながらGキーを押してね』『Ctrlキーを押しながらXキーを押してね』ってことに対応しています。それぞれの操作で何が起こるかは隣に英語で解説していますね」

デビー君「英語使うなよー。日本語使えよー」

デビー君「ところでナックス。Ctrlキーってどのキー?」

ナックス「このキーです。私の場合はキーボードの手前側の左にあります。基本的にどんな種類のキーボードでもCtrlキーはありますので探してみてください」

Ctrlキー

ナックス「じゃあまず文字でも書いてみますか。普通のWindowsのテキストエディタのような感覚で文字が書けますので適当に文字を書いてみてください。日本語も書けます」

nanoエディタで文字を書いてみる

ナックス「ちなみに、一行に長ーい文章を書くと『ここの行は画面をはみ出してるほど長い文章が書かれてるよー』と先頭に$マークがつくみたいですね(nanoのバージョンによって違うかもしれません)」

一行が表示領域をオーバーすると$マークがつく

デビー君「え!?いや『つくみたいですね』って、勝手に文字を書かれちゃダメじゃん!!」

ナックス「あぁ、大丈夫です。これはわかりやすくするために表示されているだけで、実際に文字として記入されているわけではありません。なので、この状態でファイルを保存しても$マークまで一緒に保存される、なんてことはないです。$マークは無視されます」

デビー君「$マークは無視!?じゃあ、文字として$マークを書いたときはどうなるの?」

ナックス「もちろん記入した$マークはそのまま文字として認識され、保存時も一緒に保存されます。単純に『自動的に書かれた文字は保存されない』『自分で書いた文字は保存される』という理解で大丈夫です。難しく考える必要はありません」

デビー君「なるほど。でも、なんで一行を長く書くと、次の行にいかずに、$マークまで表示してその行を維持するんだろう……?」

ナックス「おー。良い疑問です。実はLinuxにおいて『行』というのは重要な意味を持ちます。Linuxの設定ファイルなどでは『この一行に全ての設定を書かなければならない』などの場合がよくあります。その場合に勝手に行を変えられてはむしろ迷惑なのです。$マークをつけてくれた方が助かります」

デビー君「へー」

ナックス「さて。ファイルを保存しましょう。Ctrlキーを押しながらO(ゼロではなく、英語のオーです)キーを押します」

デビー君「えい」

ファイルを保存しよう

デビー君「ん?下の表示がなんとなく変わったのは分かるけど……」

ナックス「その下の変わった部分をよく見てみてください。『File Name to Write:』と書かれていて、カーソルがその横に表示されています。これは『このファイルを保存するから、何て言う名前のファイルとして保存するか決めてくれ』と言っているのです。名前はなんでも良いですが、今回は『nanotest.txt』にでもしておきますか」

デビー君「nanotest.txtと……」

保存するファイルのファイル名を記入しよう

ナックス「ファイル名を書き終わったらEnterキーを押してください」

保存が出来ました

ナックス「これで保存が出来ました。nanoの終了はCtrlキーを押しながらXキーを押してください」

nanoを終了しよう

ナックス「最後にlsコマンドでファイルが出来たか確認してみましょう」

lsコマンドでファイルができているか確認しよう

デビー君「できてますなー」

ナックス「今回はここまで。次回はせっかくの良い機会なのでちょっとLinuxの設定ファイルをいじってみましょう(28..bashrcファイルのaliasで遊んでみる)」

デビー君「り、Linuxの設定ファイルをいじる……だと?」