nano — small で friendly なテキストエディタ
Install
もともと入っているものを使うか、brew や apt でインストールする。
which -a nano
brew install nano ## mac
sudo apt install nano ## ubuntumacOS 12.3 Monterey 以降、 Mac の nano の正体は pico なので、 いろいろ設定して使いたい場合は brew でインストールする。
Usage
## 新規作成
nano
## 既存のファイルを編集
nano hoge.txtKeyboard 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