脱・初心者!nanoエディタを快適にするための.nanorc設定ガイド
はじめに
LinuxやmacOSのターミナルで、ちょっとしたファイル編集をしたいとき、多くの人がnanoエディタにお世話になっているのではないでしょうか。vimやEmacsのような強力なエディタと比べて学習コストが低く、直感的に使えるのが魅力です。
しかし、デフォルト設定のまま使っていると、「行番号が表示されない」、「インデントが面倒」、「検索で大文字・小文字を区別してくれない」など、少し不便に感じる場面も少なくありません。
実はnanoは、.nanorc という設定ファイルに少し記述するだけで、快適なエディタに生まれ変わります。この記事では、私が普段から使っているおすすめの設定を紹介します。
.nanorcファイルとは?
.nanorcは、nanoエディタの起動時に読み込まれる設定ファイルです。このファイルに設定を記述することで、エディタの挙動をカスタマイズできます。
ファイルはホームディレクトリ(~/)に配置します。もしファイルが存在しない場合は、新しく作成しましょう。
touch ~/.nanorc
このファイルに、これから紹介する設定を書き込んでいくだけです。
おすすめ設定一覧
それでは、具体的な設定項目を見ていきましょう。基本的にはset <設定名>という形式で記述します。設定を無効にしたい場合はunset <設定名>です。
基本的な表示設定
まずは、見た目を整えて編集しやすくするための設定です。
# 行番号を表示する
set linenumbers
# カーソル位置の行と列を常に表示する
set constantshow
-
set linenumbers: 画面の左端に行番号が表示されるようになります。エラーログの行番号を確認するときなどに非常に便利で、必須級の設定です。 -
set constantshow: 画面下部のステータスバーに、現在のカーソル位置(行と列)を常に表示します。
編集を快適にする設定
コーディングや文章作成の効率を上げるための設定です。
# 自動でインデントする
set autoindent
# Tabキーの幅をスペース4文字分に設定
set tabsize 4
# 長い行を自動で折り返して表示する
set softwrap
# マウス操作を有効にする
set mouse
-
set autoindent: 改行した際に、前の行のインデント(行頭の空白)を自動で引き継ぎます。 -
set tabsize 4: Tabキーを押したときの幅をスペース4文字分にします。(デフォルトは8文字分) -
set softwrap: ターミナルの幅を超える長い行を、自動的に折り返して表示します。READMEファイルやMarkdownの長い文章を読むときに効果を発揮します。 -
set mouse: マウス操作を有効にします。クリックでカーソルを移動したり、ホイールでスクロールできるようになります。
ちょっと高度な便利設定
さらに効率を求める方向けの設定です。
# 検索時に大文字と小文字を区別する
set casesensitive
# ファイルを閉じたときの位置を記憶する
set positionlog
# 単語の末尾のすぐ後ろにカーソルを移動できるようにする
set afterends
# 空白も単語としてカーソル移動する
set atblanks
-
set casesensitive: 検索(Ctrl + W)の際に、大文字と小文字を区別します。変数名などを正確に検索したい場合に便利です。 -
set positionlog: 一度閉じたファイルのカーソル位置を記憶し、次回開いたときにその位置から再開できるようにします。設定ファイルなどを頻繁に編集する場合に地味ながら便利です。 -
set afterends,set atblanks:Ctrl + →やCtrl + ←で単語ごとにカーソルを移動する際の挙動を調整し、よりスムーズな移動を実現します。
シンタックスハイライトを有効にする
nanoは多くの言語でシンタックスハイライト(構文の強調表示)に対応しています。これを有効にするには、includeディレクティブを使います。
多くのシステムでは、シンタックスハイライト用の設定ファイルが/usr/share/nano/のようなディレクトリに言語ごとに用意されています。
# シンタックスハイライトを有効にする
include ~/.nano/*.nanorc
include ~/.nano/markdown.nanorc
# もし上記で色がつかない場合は、システムのデフォルト設定を読み込む
# (ディストリビューションによってパスが異なる場合があります)
# include "/usr/share/nano/*.nanorc"
例えば、python.nanorcやmarkdown.nanorcといったファイルを読み込むことで、それぞれのファイルタイプでコードが色付けされ、可読性が劇的に向上します。
設定ファイル(.nanorc)の完成形サンプル
ここまで紹介した設定をまとめたサンプルです。これをそのまま~/.nanorcにコピー&ペーストして使えます。
## nano設定ファイルサンプル
### 基本的な表示設定
# 行番号を表示する
set linenumbers
# カーソル位置の行と列を常に表示する
set constantshow
### 編集を快適にする設定
# 自動でインデントする
set autoindent
# Tabキーの幅をスペース4文字分に設定
set tabsize 4
# 長い行を自動で折り返して表示する
set softwrap
# マウス操作を有効にする
set mouse
### ちょっと高度な便利設定
# 検索時に大文字と小文字を区別する
set casesensitive
# ファイルを閉じたときの位置を記憶する
set positionlog
# 単語の末尾のすぐ後ろにカーソルを移動できるようにする
set afterends
# 空白も単語としてカーソル移動する
set atblanks
### シンタックスハイライト
# デフォルトで用意されているハイライト設定をすべて読み込む
# パスは環境によって異なる場合があります (e.g., /usr/local/share/nano/)
include "/usr/share/nano/*.nanorc"
まとめ
nanoはシンプルなエディタですが、.nanorcを少し設定するだけで、日常的な利用において十分な機能を発揮する強力なツールになります。
この記事で紹介した設定以外にも、たくさんのオプションが存在します。ぜひ、ご自身の使い方に合わせてnanoをカスタマイズし、快適なターミナルライフを送ってください。
Discussion