Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

GNU nanoのカスタマイズ徹底ガイド:コマンドラインオプションとnanorcで作る快適な編集環境

テキストエディタの世界では、vi/vim派とEmacs派の間にいわゆる「エディタ戦争」が繰り広げられていると言われます。どちらにも魅力的な特徴があり、甲乙つけがたいのが実情ですが、GNU nanoには見落とされがちな隠れた機能が数多く搭載されています。これらの機能は、起動時に毎回コマンドラインオプションを指定するか、設定ファイルにデフォルト値として記述することで有効化できます。設定ファイルに書き込んでおけば、毎回オプションを入力し直す手間が省けるのは大きなメリットです。

Windows Server(32ビット版)のシステム管理者として働いていた経験があり、LinuxやBSDベースのサーバー環境へ移行した方なら、Windows 95時代からの定番である全画面のMS-DOSエディタに慣れ親しんでいるかもしれません。現在もWindows Serverを使っていて、CygwinライブラリやWindows 10のUbuntuサブシステムを導入している方も同様です。いずれの場合でも、これから紹介する機能を活用すれば、GNU nanoをMS-DOSエディタに近い操作感で使えるようにカスタマイズできます。

方法1:コマンドラインオプションで追加機能を使う

機能をたまにしか使わない場合は、コマンドラインスイッチで有効化するのが手軽です。Homeキーを押したときに行頭ではなく、空白文字以外の最初の文字にカーソルを移動させる「スマートホームキー」動作は、多くのシステム管理者に人気の機能です。CLIプロンプトでnanoの後に-Aスイッチを付けて起動します。-Lを付けると、ファイル末尾に改行文字を自動的に追加するnanoの挙動を無効化できます。Unix環境では標準的な動作ですが、MS-DOS系のツールに慣れた人には違和感があるかもしれません。

デフォルトでは、nanoはタイトルバーの下に空白行を1行残しますが、これは画面スペースの無駄です。ファイル名の前に-Oを付けて起動すれば、この空白行を編集テキストの表示行として活用できます。複数のオプションは自由に組み合わせられます。例えば nano -ALO theFile.txt と実行すると、theFile.txt を開いて編集しつつ、末尾への改行追加を行わず、無駄な空白行を排除し、スマートホームキー動作を有効にできます。

MS-DOSエディタのユーザーなら、-mでマウスサポートを有効にするのもおすすめです。任意の行をクリックするとカーソルがその位置に移動し、ダブルクリックでマークを設定できます。このモードでは、画面下部に表示されるオプションをクリックして実行することも可能です。

内蔵ファイルブラウザでもマウスが役立ちます。CTRL+Oで保存やCTRL+Rでファイルを開く際、通常はファイル名の入力を求められますが、CTRL+Tを押すと簡易的なファイルブラウザが表示され、そこからファイルを選択できます。マウスオプションが有効なら、このブラウザもマウスで操作できます。

Linux、BSD、Windows、さらにはApple製など、複数のサーバー環境を横断して作業している場合、nanoがテキストファイル形式を自動変換してほしくない場面もあるでしょう。-Nスイッチを付けて起動すると自動変換が無効になります。この場合でも、Unix形式、MS-DOS形式、クラシックMacintosh形式のテキストファイルを問題なく読み込めます。

方法2:nanorcで設定を恒久的に保存する

GNU nanoにはグローバル設定ファイルがあり、多くのLinuxシステムでは /etc/nanorc に配置されています。ユーザーごとに個別の設定が必要な場合は、~/.nanorc という名前でユーザー単位の設定ファイルを作成することもできます。nanoを-Iオプション付きで起動すると、両方の設定ファイルを無視し、コンパイル時のデフォルト値のみを読み込みます。

Ubuntu、Debian、Arch、一部のFedoraシステムでは、ほとんどのオプションがコメントアウトされた状態のデフォルトのnanorcファイルが既に用意されています。root権限がない場合は sudo nano /etc/nanorc で編集しましょう。作業前に cp /etc/nanorc ~/nanorc.bak のようにバックアップを取っておくと安心です。設定が落ち着いたら、バックアップは削除して構いません。

各オプションを記述するだけで、nanoはそれを新しいデフォルトとして受け付けます。オプションはそれぞれ新しい行に記述し、ファイルはMS-DOS形式やMacintosh形式で保存しないでください。set morespace でタイトル下の空白行を削除し、set mouse でグラフィカル端末使用時にマウスを常に有効化し、set regexp で検索時に正規表現を利用できるようにし、set smarthome でスマートホームキー動作を常時デフォルトにできます。さらに set nonewlines を指定すれば、開いたファイルの末尾に改行文字を追加しなくなります。

Microsoftのコマンドラインツールに慣れたシステム管理者なら、nanorcファイルに set softwrap を追加するとよいでしょう。ソフトラップ(折り返し)がデフォルトで有効になり、長い行が画面端で折り返されるため格段に扱いやすくなります。この機能により、長い行を区切る$記号が表示されなくなりますが、カーソル移動についてはやや直感的でない点に注意が必要です。GNU nanoは折り返されていても長い行を1行として扱うため、矢印キーの移動待ちや set mouse によるマウス操作なしには、行の途中にカーソルを正確に置くのが難しい場合があります。

Windowsユーザーの多くはCTRL+Sで保存する操作に慣れていますが、GNU nanoのデフォルトではCTRL+Sには古いバインドが割り当てられています。bind ^S savefile main という行を独立した行として追加すれば、簡単に変更できます。

さらに、titlecolorstatuscolorkeycolorfunctioncolor を設定してインターフェースの配色をカスタマイズすることもできます。keycolor以外の各項目には、スペースを入れずにカンマ区切りで2つの色を指定します。set keycolor の後ろには色を1つだけ指定します。選択できる色はディスプレイ設定にある程度依存しますが、色名の前にスペースなしで bright を付けると明るい色にできます。

クラシックな雰囲気を好む管理者は、set titlecolor brightwhite,blueset statuscolor brightwhite,blue を指定するとよいでしょう。検証に使用したXubuntu端末では、brightwhiteとredの組み合わせが非常に印象的で、視認性も高く読みやすいことが確認されています。

著者について

Kevin Arrows

Kevin Arrowsは、10年以上の業界経験を持つベテランのテクノロジースペシャリストです。Microsoft認定テクノロジースペシャリスト(MCTS)の資格を保有し、最新の技術動向を追いかけることに強い情熱を注いでいます。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど、幅広い技術トピックについて多数の記事を執筆しており、その専門知識は同業者から広く認められ、高い評価を得ています。複雑な技術的概念を明確かつ簡潔に説明する能力でも特に高く評価されています。

  1. Linuxのmkdirコマンドで再帰的ディレクトリ作成をマスターする方法

    Linuxの「mkdir」(make directory)コマンドは、通常、現在作業しているディレクトリの中に1つのサブディレクトリを作成するために使われます。例えば、~/Documentsにいる状態で「mkdir Memoranda」と入力すると、~/Documentsの中に「Memoranda」という1つのディレクトリが作成されるだけです。通常は、その中にさらにディレクトリを作ることはありません。 しかし、mkdirコマンドの再帰的な形式を使えば、ディレクトリツリー全体を一括で作成することができます。カレントディレクトリの中にディレクトリを作り、その中にさらに複数のディレクトリをまとめて作

  2. 【解決法】Linuxの「管理ディレクトリをロックできません」エラーへの対処方法

    GNU/Linuxを使い始めたばかりの方は、root(スーパーユーザー)権限が必要なコマンドを実行する際につまずくことがよくあります。特に、コマンドラインからアップデートや新しいアプリケーションをインストールしようとしたときに、「管理ディレクトリをロックできません(unable to lock the administration directory)」というエラーメッセージが表示されることがあります。さらに、「rootですか?(are you root?)」というやや苛立たしい質問が一緒に表示されることも少なくありません。root権限の取得は、Microsoft Windowsで管理者権限の