✍️

脱・初心者!nanoエディタを快適にするための.nanorc設定ガイド

に公開

はじめに

LinuxやmacOSのターミナルで、ちょっとしたファイル編集をしたいとき、多くの人がnanoエディタにお世話になっているのではないでしょうか。vimEmacsのような強力なエディタと比べて学習コストが低く、直感的に使えるのが魅力です。

しかし、デフォルト設定のまま使っていると、「行番号が表示されない」、「インデントが面倒」、「検索で大文字・小文字を区別してくれない」など、少し不便に感じる場面も少なくありません。

実は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.nanorcmarkdown.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