nano (日本語)
GNU nano (もしくは nano) はシンプルなインターフェイスと直感的なコマンドオプションをコンソールベースのテキスト編集に導入します。Ubuntu などのディストリビューションで nano はデフォルトのコンソールエディタであり、カラーのシンタックスハイライト・DOS/Mac ファイルタイプ変換・スペルチェック・UTF-8 エンコードなどの機能をサポートしています。空のバッファで開かれた nano は一般的に 1.5 MB 以下の常駐メモリを使います。nano のスクリーンショット。
Contents
パッケージのインストール
公式リポジトリから nano パッケージをインストールすることができます。base グループに含まれているため、基本的には全てのシステムでインストールされています。
設定
~/.nanorc の作成
nano のルックアンドフィールや機能は基本的にコマンドライン引数か ~/.nanorc ファイルの設定コマンドのどちらかで設定します。
プログラムのインストール時にサンプル設定ファイルが /etc/nanorc にインストールされます。nano の設定をカスタマイズするには、まず ~/.nanorc にローカルコピーを作成して下さい:
$ cp /etc/nanorc ~/.nanorc
~/.nanorc ファイルの中でコマンドを設定して nano のコンソール環境を確立してください。
シンタックスハイライト
PKGBUILD ファイル
これは Arch Linux "svntogit-server" のような新しいシンタックスハイライトです。
# Arch PKGBUILD files
#
syntax "pkgbuild" "^.*PKGBUILD*"
# commands
color red "\<(cd|echo|enable|exec|export|kill|popd|pushd|read|source|touch|type)\>"
color brightblack "\<(case|cat|chmod|chown|cp|diff|do|done|elif|else|esac|exit|fi|find|for|ftp|function|grep|gzip|if|in)\>"
color brightblack "\<(install|ln|local|make|mv|patch|return|rm|sed|select|shift|sleep|tar|then|time|until|while|yes)\>"
# ${*}
icolor blue "\$\{?[0-9A-Z_!@#$*?-]+\}?"
# numerics
color blue "\ [0-9]*"
color blue "\.[0-9]*"
color blue "\-[0-9]*"
color blue "=[0-9]"
# spaces
color ,green "[[:space:]]+$"
# strings; multilines are not supported
color brightred ""(\\.|[^"])*"" "'(\\.|[^'])*'"
# comments
color brightblack "#.*$"
これはフォーラムに投稿された他のバージョンです。
## Arch PKGBUILD files
##
syntax "pkgbuild" "^.*PKGBUILD$"
color green start="^." end="$"
color cyan "^.*(pkgbase|pkgname|pkgver|pkgrel|pkgdesc|arch|url|license).*=.*$"
color brightcyan "\<(pkgbase|pkgname|pkgver|pkgrel|pkgdesc|arch|url|license)\>"
color brightcyan "(\$|\$\{|\$\()(pkgbase|pkgname|pkgver|pkgrel|pkgdesc|arch|url|license)(|\}|\))"
color cyan "^.*(depends|makedepends|optdepends|conflicts|provides|replaces).*=.*$"
color brightcyan "\<(depends|makedepends|optdepends|conflicts|provides|replaces)\>"
color brightcyan "(\$|\$\{|\$\()(depends|makedepends|optdepends|conflicts|provides|replaces)(|\}|\))"
color cyan "^.*(groups|backup|noextract|options).*=.*$"
color brightcyan "\<(groups|backup|noextract|options)\>"
color brightcyan "(\$|\$\{|\$\()(groups|backup|noextract|options)(|\}|\))"
color cyan "^.*(install|source|md5sums|sha1sums|sha256sums|sha384sums|sha512sums).*=.*$"
color brightcyan "\<(install|source|md5sums|sha1sums|sha256sums|sha384sums|sha512sums)\>"
color brightcyan "(\$|\$\{|\$\()(install|source|md5sums|sha1sums|sha256sums|sha384sums|sha512sums)(|\}|\))"
color brightcyan "\<(startdir|srcdir|pkgdir)\>"
color cyan "\.install"
color brightwhite "=" "'" "\(" "\)" "\"" "#.*$" "\," "\{" "\}"
color brightred "build\(\)"
color brightred "package_.*.*$"
color brightred "\<(configure|make|cmake|scons)\>"
color red "\<(DESTDIR|PREFIX|prefix|sysconfdir|datadir|libdir|includedir|mandir|infodir)\>"
このファイルを (/usr/share/nano/pkgbuild.nanorc などの名前で) 保存してから ~/.nanorc か /etc/nanorc に次のような行を追加してください:
include "/usr/share/nano/pkgbuild.nanorc"
他の定義
デフォルトを置き換え拡張するシンタックスハイライトの拡張が AUR にあります、nano-syntax-highlighting-git。
その他の設定
サスペンド
多くの対話式プログラムと異なり、デフォルトではサスペンドは無効にされています。これを変更するには、/etc/nanorc 内の 'set suspend' の行をアンコメントしてください。これで Ctrl+z を使って nano をバックグラウンドに送ることができます。
文章を折り返さない
他のディストリビューションから来た時、nano の挙動がおかしく感じるかもしれません。その場合 /etc/nanorc を以下のように編集してください:
## Do not wrap text at all. set nowrap
nano の使用方法
特別な関数
- nano の画面で下の2行に表示されるよく使われる関数の中で
^はCtrlキーの修飾を表しています。 -
Meta(通常はAlt) やEscキーで修飾することで追加機能を対話式に切り替えることができます。
ショートカットリスト
-
^G Get Help(F1)
- セッションウィンドウの中にオンラインのヘルプファイルを表示します。nano ユーザーは全て読むことが提案されています
-
^O WriteOut(F3)
- 現在のファイルバッファの内容をディスク上のファイルに保存する
-
^R Read File(F5)
- カーソル位置に他のファイルを挿入する
-
^Y Prev Page(F7)
- 前のバッファ画面を表示する
-
^K Cut Text(F9)
- 現在の行の初めから最後までカットして保存する
-
^C Cur Pos(F11)
- 現在のカーソルの行・桁そして文字の位置情報を表示する
-
^X Exit(F2)
- nano を終了する
-
^J Justify(F4)
- コンソールウィンドウのジオメトリに文章を整列させる
-
^W Where(F6)
- 大文字小文字を区別する文字・正規表現検索を実行する
-
^V Next Page(F8)
- 次のバッファ画面を表示する
-
^U UnCut Text(F10)
- カットバッファの中身を現在のカーソル位置にペーストする
-
^T To Spell(F12)
- 内蔵の
spellでバッファの中身をスペルチェック
機能の切り替え
-
Meta+c(orEsc+c)
- 行・桁そして文字の位置情報の表示を切り替える
-
Meta+i(orEsc+i)
- 自動インデントを切り替える
-
Meta+k(orEsc+k)
- 現在のカーソル位置から行の最後まで文章をカットするのを切り替える
-
Meta+m(orEsc+m)
- マウスを使ってカーソルの移動やマーク、ショートカットするのを切り替える
-
Meta+x(orEsc+x)
- nano の画面の一番下にショートカットリストを表示するのを切り替える
Tips & tricks
vi を nano で置き換える
ライトユーザーにとっては使いやすくてシンプルな nano の方が vi よりも好ましいかもしれません。'visudo などのコマンドで利用するデフォルトのテキストエディタを vi から nano に置き換えることが可能です。
方法1
core リポジトリに入っている sudo はデフォルトで --with-env-editor を使ってコンパイルされているので VISUAL や EDITOR 変数を使います。現在のシェルセッションの間 visudo のエディタとして使うには、visudo を呼び出す前に EDITOR 変数を設定して下さい。
export EDITOR=nano
設定例
export EDITOR=nano && sudo visudo
方法2
EDITOR 変数は以下のファイルで設定することで永続的に使うことができます:
- ~/.profile (`.bash_profile` の代替)
- ~/.bashrc (対話式、ログインシェルではない)
- /etc/profile (
rootを除く全てのシステムユーザー共通の設定)
.bash_profile の例
. $HOME/.bashrc
方法3
シンボリックリンク
復元用に vi の実行ファイルを vi.old に名前を変えて下さい:
# mv /usr/bin/vi /usr/bin/vi.old
/usr/bin/nano から /usr/bin/vi にシンボリックリンクを作成して下さい:
# ln -s /usr/bin/nano /usr/bin/vi
永続的にするには pacman.conf の IgnorePkg に vi を追加してください。そうしないと更新した時に vi に戻ってしまいます。
vi の復元
/usr/bin/vi シンボリックリンクを削除して下さい:
unlink /usr/bin/vi
vi.old 実行ファイルを vi に名前を戻して下さい:
mv /usr/bin/vi.old /usr/bin/vi
方法4
削除 & シンボリックリンク
pacman を使って vi パッケージ、設定、全ての必要な依存パッケージを削除して下さい:
pacman -Rns vi
/usr/bin/nano から /usr/bin/vi にシンボリックリンクを作成して下さい:
ln -s /usr/bin/nano /usr/bin/vi
vi の復元
/usr/bin/vi シンボリックリンクを削除して下さい:
unlink /usr/bin/vi
pacman を使ってさっき削除した vi パッケージをインストールして下さい:
pacman -S vi
追加資料
- nano (テキストエディタ) - Wikipedia
- GNU nano Homepage - 公式サイト
- GNU nano Bugs バグレポート
- Better syntax highlighting definitions