マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】nano


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「nano」とは
「nano」基本情報
■概要
nano(GNU nano)(ナノ)とは、UNIX/Linuxを中心としたシステムで利用できるテキストエディタです。「vim」や「Emacs」のように複雑なコマンドを習得する必要はなく、CUIを用いて直感的に利用できる点が最大の特徴です。
■基本説明
GNU nanoは軽量テキストエディタです。「シンプルインターフェース」「直感的コマンドオプション」「ユーザーフレンドリー」「初心者にも使いやすい」などを特徴としており、ターミナル環境で利用できます。
GNU nanoは、電子メールスイート「Pine」の一部であるテキストエディタ「Pico」の代替プロダクトとして設計されています。「可能な限りPicoをエミュレートし機能追加する」ことを目指しています。
■経緯
・2000年:初版リリース
nanoは、当初「tip」という名称でしたが、別のプロダクトと競合するため「nano」に改名されています。
■オフィシャルサイト情報
オフィシャルサイト
ライセンス情報
nanoのライセンスは「GNU General Public License」です。
詳細について、こちらを参照ください。
→nano →Overview →(1.0 release)
ダウンロード
GNUプロジェクトの公式プロジェクトに含まれており、「主要Linuxディストリビューション」や「MacOS」に標準搭載されています。
■同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「vi」「Vim」「GNU Emacs」など。
「nano」の主な特徴
■画面レイアウト
nanoのデフォルト画面は、上から順に「タイトルバー」「編集ウィンドウ」「ステータスバー」「ヘルプライン」の各エリアで構成されています。
タイトルバー
タイトルバーは、左/中央/右の3つのセクションで構成されています。
左のセクションには、nanoのバージョンが表示されます。
中央のセクションにはファイル名が表示されます。ファイル名が未設定の場合は「新しいバッファ」と表示されます。
右のセクションには、「Modified」などの編集モードが表示されます。
ステータスバー
ステータスバーには、各種ステータス情報が表示されます。
「エディタを使用して発生したエラーメッセージ」「(ユーザー入力)検索文字列」「(ユーザー入力)ファイル名」などが表示されます。
ヘルプライン
画面下部にある2つのヘルプラインには、利用頻度が高い「コマンドヘルプ」が常に表示されています。
それ以外のコマンドについては、Ctrl+Gでヘルプが表示され参照できます。
■直感的操作
nanoは「直感的に操作できる」という点が最大の特徴です。
今でも多く使用されているスクリーンエディタ(vim/Emacsなど)では、一通りの操作を行うために複雑なコマンド類を習得する必要があります。
しかし、nanoは、WYSIWYGに慣れているLinux初心者ユーザー(Windows系ユーザー)でも、容易に扱えるようになっています。
サーバにログインして行う作業が必要になった場合に、「vi」の操作方法を習得していない場合でも、nanoを利用できれば、最小限の設定ファイル書き換えなどを行えます。
WYSIWYG操作
・「vi」の場合は起動後に[i]キーを打たなければ文字入力できませんが、nanoは即座に入力可能
・矢印キーでカーソル移動
・[Back space][Delete]キーで文字削除 など
■「中」機能エディタ
nanoは「Emacs」や「vim」ほどの高機能性は望めませんが、「Windowsのメモ帳」ほど低機能でもありません。
nanoは、基本的なテキスト編集機能の他に、さまざまな機能を搭載しています。
・インタラクティブな検索/置換(正規表現検索)
・取り消し/やり直し
・構文色付け(シンタックスハイライト)
・自動インデント
・行間/列番号表示
・ファイルロック
・ファイルバックアップ
・多言語サポート など
■日本語対応
nanoは、UTF-8をサポートしており、日本語の入力/表示についても対応しています。
端末のエンコーディングがUTF-8に設定され、ロケール(LANG環境変数)がUTF-8である場合、Unicodeテキストの読み込みと保存が行えます。
■省メモリ
nano起動時のメモリ消費量は「1.5MB」以下で、軽量に動作できます。
実行可能ファイル縮小オプション
「ビルトインファイルブラウザ」「マウスサポート」「スペルチェック機能」などの各機能を個別に無効にすることで、さらに実行可能ファイルを小さくすることも可能です。
該当するすべての機能を無効にするオプションも用意されています。
■設定ファイル「Nanorc」
nanoの各種設定は、設定ファイル「Nanorc」で行います。
nano起動時に、nanoデフォルト設定を読み込み、次にユーザー固有設定「Nanorc」を読み込みます。
nanorc設定はnanoデフォルト設定よりも優先されます。さらに、コマンドラインオプションはnanorc設定よりも優先されます。
「nano」の主な機能
「nano」の主な機能
■ファイル操作機能
操作ディレクトリ設定機能
nanoのデフォルト操作ディレクトリを設定できます。
ファイルブラウザ機能
ファイルブラウザ機能で、ディレクトリ内をグラフィカルにナビゲートして、目的のファイルを検索できます。ファイルブラウザ内の基本的な移動はカーソル移動キーで行えます。
選択しているオブジェクトがディレクトリの場合、ファイルブラウザはディレクトリの内容を表示します。
選択しているオブジェクトがファイルの場合、ファイル名とパスがステータスバーに表示されます。
ファイルバックアップ機能
ファイルバックアップ機能が有効になっている場合、ファイル保存時に、ファイル保存前のバージョンを自動でバックアップできます。
ファイルが保存されるたびに、指定されたディレクトリに、一意の番号が付けられて保存されます。
カーソル位置保存機能
nanoで開いた最新の200個のファイルについて、カーソルの最後の位置をログに記録し、次回ファイルを開いた時点でカーソル位置を復元します。
■入力サポート機能
行番号表示機能
テキストエリアの左側に行番号が表示されます。
カーソル位置表示機能
ステータスバーにカーソル位置(行番号、列番号、文字番号)が常時表示されます。
自動インデント機能
新しく作成した行について、前の行と同じ数のタブ(スペース)で自動的にインデントします。
ソフトラッピング機能
ソフトラッピング機能を有効にすると、テキストが画面幅よりも長い場合、複数行にまたがってテキスト全体を表示できます。
シンタックスハイライト機能
ファイル種類ごとに個別のシンタックス(構文)を定義してハイライト表示できます。
→nano →7.2 Syntax Highlighting
ショートカットキー(キーバインディング)機能
nanorc設定ファイルで、詳細なキーバインディング設定を行えます。
マウスサポート機能
システムでマウスを利用可能な場合(X Window Systemとgpmが動作している場合)、マウスサポートを有効にできます。
・マウスをクリックしてカーソルを配置
・ダブルクリックでショートカットを実行
・テキストを選択—Shiftキーを押しながらドラッグ など
スペルチェック機能
指定したスペルチェックプログラムを使用して、スペルチェックと修正を行えます。
「GNU spell」などを利用できます。
■検索/置換機能
検索コマンドを使用して、現在のバッファで任意の文字列の出現を検索できます。
デフォルトの検索モードでは、「フォワード検索」「大文字と小文字を区別しないリテラル文字列」で検索されます。
詳細検索機能
・大文字と小文字を区別した検索
・ブラケットマッチング
・ワードバウンド—句読点文字を単語の一部として扱う など
正規表現検索機能
正規表現を使用した検索/置換を行えます。
検索履歴
直近100件の「検索文字列」「置換文字列」「実行コマンド」が保存され再利用できます。
■タブ対応機能
タブの扱いに関して各種設定できます。
・タブ幅指定(デフォルト値=8)
・タブ補完
・タブをスペースに変換 など
■ファイル読み込み機能
編集中のテキストに、他のテキストファイルから読み込んだテキストを挿入できます。
■エンコード機能
各種エンコード機能を備えています。
・DOS/Macファイルタイプ変換機能
・UTF-8エンコード機能
・混合ファイル形式の自動変換 など
「nano」のGNU機能連携
「nano」のGNU機能連携
nanoは、GNUプロジェクトのプロダクトであるため、各種GNUプロダクトと連携できます。
■シェルスクリプト生成M4マクロ拡張パッケージ「Autoconf」
「Autoconf」は、M4マクロの拡張パッケージで、ソフトウェアソースコードパッケージを自動的に設定するシェルスクリプトを生成します。
パッケージがM4マクロ呼び出しの形式で使用できるオペレーティングシステム機能をリストしたテンプレートファイルからパッケージ用の設定スクリプトを作成します。
これらのスクリプトは、ユーザーの介入なしで、パッケージをさまざまな種類のUNIXライクなシステムに適合できます。
■テキスト用ユーザーインターフェースライブラリ「ncurses」
「ncurses」は、テキスト用ユーザーインターフェース(TUI)を作成するためのAPIを提供するライブラリです。
端末に依存しない形式で「スクリーン」「キー入力」「カーソル」などを管理する機能を提供します。
画面切り替えを最適化し、リモートシェルで使用してもレイテンシを最小に抑えるよう設計されています。
参考元サイト
- nano
- archlinux →nano
- Wikipedia →GNU nano
- Linux Mintのメモ →端末で使うテキストエディタ nano
- まだプログラマーですが何か? →nano エディタの使い方
- KAYAC engineer”s blog →誰も興味が無いnanoの基礎の基礎 - nanoはpicoの千倍なの! –
- たぷん日記 →Raspberry Pi | viより直感的!標準エディタ’nano’の使い方ガイド
- Wikipedia →UTF-8
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【ChatGPT探訪】ビルトイン画像生成AI「 DALL·E 3 」🖼️ - 🏆ランク2位🏆
【OSS情報アーカイブ】GitBucket - 🏆ランク3位🏆
【OSS情報アーカイブ】memcached - 🏆ランク4位🏆
Java単体テストツール「 JUnit 」まとめ - 🏆ランク5位🏆
【OSS情報アーカイブ】Hazelcast - 🏆ランク6位🏆
【OSS情報】ディスクイメージング(クローニング)ツール「 Clonezilla 」 - 🏆ランク7位🏆
【無料オープンソース】「 AWS監視 」ツールまとめ5選 - 🏆ランク8位🏆
【ツール紹介】無料で使えるオープンソース「 ゼロトラスト実装 ツール 」まとめ6選 - 🏆ランク9位🏆
【無料で使える】「 AR / VR 」ツールまとめ - 🏆ランク10位🏆
【OSS情報アーカイブ】Spinnaker