nano — small で friendly なテキストエディタ
Install
もともと入っているものを使うか、brew
や apt
でインストールする。
which -a nano
brew install nano ## mac
sudo apt install nano ## ubuntu
macOS 12.3 Monterey 以降、 Mac の nano
の正体は pico
なので、 いろいろ設定して使いたい場合は brew
でインストールする。
Usage
## 新規作成
nano
## 既存のファイルを編集
nano hoge.txt
Keyboard shortcuts
デフォルトで編集画面の下部に書いてある。 表は編集画面でのショートカット。 nano のバージョンによって異なるものもあるっぽい。
Key | コマンド | 操作 |
---|---|---|
controlG | Help | ヘルプ画面へ |
controlX | Exit | 編集画面を抜ける |
controlO | Write Out | ファイル名を指定して書き込み |
controlR | Read File | ファイル名を指定して読み込み |
controlW | Where Is | ファイル内検索 |
control | Replace | ファイル内置換 |
controlK | Cut | 選択範囲を切り取り |
controlU | Paste | カーソル位置に文字列を貼り付け |
controlT | Execute | コマンドラインの操作を実行して出力を貼り付け |
controlJ | Justify | 均等割付 |
controlC | Location | カーソル位置の表示 |
control/ | Go To Line | 行数を指定してジャンプ |
control] | Complete | ファイル中にあるほかの単語を探して補完 |
MetaU | Undo | ひとつ前の状態に戻す |
MetaE | Redo | 同じ操作をおこなう |
MetaA | Set Marl | 選択範囲の開始点をセット |
Meta6 | Copy | 選択範囲をコピー |
Meta キーは Windows なら alt、Macなら esc
Configuration
基本的な設定はコマンドラインオプションで指定することもできるが、 一時的な設定でなければ config ファイルに書いてしまった方が楽。
読み込まれる順番は、まず /etc/nanorc
、次に ~/.nanorc
または ~/.config/nano/nanorc
。
Linux では /etc/nanorc
や /usr/share/doc/nano/examples/samples.nanorc
に、 Mac に brew で入れた場合は /usr/local/Cellar/nano/%v/share/doc/nano/sample.nanorc
にドキュメントとコマンドがコメントアウトされて書いてあるので、 これを ~/.nanorc
または ~/.config/nano/nanorc
にコピーして編集する。(%v
は nano
のバージョン)
自分で書いてしまってもいい。たとえば:
nanorc
set autoindent # 改行時にインデントを揃える
set nowrap # 横に長い行を勝手に改行しない
set smooth # スクロールがスムーズに(あんまり実感したことはない)
set tabsize 4 # タブサイズ(スペースの数)の設定
set mouse # マウスを使えるようにする
set mouse
の挙動について- 設定しなくても一応使える。 普通に文章を選択して CtrlC したり CtrlV したり。 ただカーソルは動かせないっぽい。
-
set mouse
すると完全にnano
の中の挙動になる。 カーソルも動く。 ダブルクリックで範囲選択開始 (Set Mark
)、次のクリックで範囲決定。 もう一度クリックすると解除 (Unset Mark
)。
Syntax highlight
デフォルトの見た目は非常に寂しい。
Linuxでは /usr/share/nano/
、Mac (brew) では /usr/local/share/nano/
や /usr/local/Cellar/nano/%v/share/nano/
にハイライト定義ファイルが置いてあるので、 これらの設定を ~/.nanorc
に加える。
または野生の定義ファイルを使う手もある。(c.f. https://github.com/scopatz/nanorc)
nanorc
include "/usr/share/nano/*.nanorc"
Key Bind
キーボードショートカットは変更可能。 例えば CtrlZ を Undo
に割り当てたい場合、以下のように書く。
nanorc
bind ^Z undo main