ファイル編集を快適にする nano エディタの操作に最低必要な基本の3操作(起動・保存・操作キャンセル)と、更に使いやすくできる編集時の注意点や、コピペ操作等やマウス使用等のメニューに無いショートカットも一覧にまとめました。 viの様なモードがないので初心者にはviよりnanoが断然簡単です。 しかし、サーバーや組込み等、viしか使えない事もあるので、最初はnanoで初めて、余力がある時にviをマスターするのがおすすめです。(わかりやすく図解も入れ、一通りの操作が出来るようにまとめした。Linux vi,vimエディタ 基本操作一覧)
nano インストール
nanoがまだインストールされていなければ、以下のコマンドでインストールします。
(Ubuntu/Debian/Raspbian 系の場合) $ sudo apt install nano (CentOS/RedHat 系の場合) $ sudo yum install nano
nano 起動
コマンドプロンプトから以下のコマンドで起動できます。
//ファイルが無い時。 最後に終了する時にファイル名を指定します。 $ nano //ファイル名を指定して。 ファイルが存在する場合や、新規に作成する場合でもこの方法で出来ます。 $ nano ファイル名 //指定するファイルがroot権限の時 $ sudo nano ファイル名 // 現在のディレクトリでなく、違うディレクトリのファイルを指定/作成する時。 $ nano ~/ディレクトリ名/ファイル名 // 『-m』オプションを付けると、マウスでコマンドをクリック出来るようになります。 // カーソル移動や範囲選択(Mark Set)も出来てメチャクチャ便利です。 $ nano -m ファイル名
こんな感じで立ち上がります。 画面下に操作メニューがあります。 ショートカットキーで操作するのですが、この下に操作方法を記載しています。
*sudoが必要かも
もしファイルを開けた時、画面下に『unwritable』や、最後にファイル保存した時、『Permission denided』メッセージがでた時は、そのファイルはroot権限でないと書き込めないファイルなので、一旦保存せずに終了して、sudo nano ファイル名でnanoを起動して再度ファイル編集をします。
//指定するファイルがroot権限の時 $ sudo nano ファイル名
nano の3つの基本操作
起動・保存・操作キャンセルだけで知っていたら使えます。 実際、私は殆どこのキーしか使いません。 あっ、後 Back Spaceくらいかな。
保存終了
Ctrl + Xを押して、Yを押すと保存して終了します。
保存せず終了
Ctrl + Xを押して、Nを押すと保存せずに終了します。
何かあったらキャンセル『Ctrl + C』*
変なメニューになったら、Ctrl + Cで前のメニューに戻ります。 Ctrl + Cはコピーではありません。
*一番上位のメニューの時だけ、Ctrl + Cはカーソルの位置表示です。 なので一番上位のメニューに居る時間違えてCtrl + Cと押してしまっても、カーソル位置が表示されるだけなので、問題ありません。
しかし、もう少し便利に編集するには下の一覧表から、Write Out, Where is, Cut Text, Uncut Text, Undo, エリア選択の6つが出来たら操作も楽勝ですね。
編集時の注意
Delete, BackSpace
DeleteキーもBackSpaceのどちらもカーソルの前(左)の文字を消します。 Deleteもカーソルの後ろ(右)でなくカーソルの前(左)の文字を消します。
- Delete — カーソルの前(左)の1文字を消します。 普段使うBackSpaceと同じ。
- BackSpace — カーソルの前(左)の1文字を消します。 普段使うBackSpaceと同じ。
- Ctrl+D — カーソルの後ろ(右)の1文字を消します。 普段使うDeleteと同じ。
- Ctrl+Delete — カーソルのあるところから、スペースやスラッシュを挟んで次(右)の文字の先頭までを消します。 スペースが半角でも全角でも、複数入っていても消します。 変数を消したいときとか、ディレクトリを一段消したい時に便利です。
- 間違えて消してしまった時は、Undo(ESC→U)。
画面下に現れるメニューの記号の意味
『^』
Ctrlを押しながらその右のアルファベットを入力する。 例えば『^X Exit』とある場合は、Ctrl+Xで終了(Exit)です。
『M-』
Escを押した後に、その右のアルファベットを入力する。
nano メニュー操作とショートカット一覧表
メニュー項目 | 説明 |
---|---|
Help (Get Help) Ctrl + G or F1 | ヘルプ表示 Ctrl + Cでヘルプ画面から編集画面に戻る。 |
Exit Ctrl + X or F2 | 編集終了します。 Ctrl + X の後に、Yを押すと保存して終了。 Nを押すと保存せず終了。 Ctrl + Xを押してしまった後に、Ctrl + Cを押すと終了をせず前の編集画面に戻ります。 |
Write Out Ctrl + O or F3 | ファイル名指定して保存。 (Save asと同じ) |
Read File Ctrl + R or Ins | カーソル位置に別のファイルの内容を挿入。 |
Where Is Ctrl + W or F6 | 文字列後方検索 カーソルより後方を検索。 ・まず同じ行の右側を検索 ・次に下方向に検索 下方に無ければ、自動的に再度トップから検索する。 連続して後方検索(Esc→ W) 連続して前方検索(Esc→ Q) |
Replace Ctrl + ¥ or Ctrl + \ or Ctrl + R | 文字列の置き換え |
Cut (Cut Text) Ctrl + K or F9 | カーソルのある1行全てカットします。 カットされた行はメモリに残り、Uncutで貼り付けできます。 Esc → Aでエリア選択すると、特定文字列や複数行をカットできます。 |
Paste (Uncut) Ctrl + U or F10 | CopyやCutした行をカーソルのある行に挿入貼り付けします。 外部の文字をコピーして貼り付ける事は出来ません。 |
Mark Set/Unset Ctrl + ^ | 範囲選択 Ctrl + ^で、カーソルのある位置からカーソルを移動して範囲を選択できます。 ESCか、再度Ctrl + ^で、Mark Unsetとなり範囲選択モードから抜けます。Ctrl + K(Cut)と組み合わせて使います。 |
Execute Ctrl + T | 次にコマンドをタイプするか、選択して実行できる。 Spell checkやLinterやFormatterや行末までCUT等。 |
Justify Ctrl + J | 現在のコンソールサイズに合わせてテキストを整列し直します。 例えば、複数の行を1行にします。 間違ってJustifyをしてしまった時は、その直後であれば、Undo Esc → Uで元に戻せます。 |
Location(Cur Pos) Ctrl + C ================ (Esc → C :常に表示) | カーソルの現在位置を表示します。 使われるのはlineとcolとcharの3つの記号。 line:ファイル全体の行でどこにいるか示します。 (現在の行/全体の行数) col:現在の行でのどこにいるか示します。 (現在の行の左(先頭)から何文字目に居るか/現在の行の文字数) char:ファイル全体の中の文字数でどこにいるかを示します。(あまり使わない) ファイルが大きいと、何処にカーソルがあるか分からなくなる時に使います。 |
Go To Line Esc → G | 指定した行に移動。 *nanoのメニューではCtrl + _と表示されるが_キーは日本語キーボードでは半角モードで¥キーを押した時に表示されるバックスラッシュ\と同じなので置換が発動してしまう。 |
Undo Esc → U | 前回の操作をキャンセル。 |
Redo Esc → E | 前回の操作を繰り返す。 |
Set Mark Esc → A or Ctrl + 6 | エリア選択 カーソルのある位置から範囲指定して、CopyやCutができる。 止める場合は、再度Esc → A。 |
To Bracket Esc → J | 対のブラケットまで移動。 |
Copy Esc → M | カーソルのある行をコピー。 行をコピーはないので行をカットCtrl + Kしてから、 PasteCtrl + Uで貼り付ける。 |
Where was Ctrl + Q:前方(上)検索 | 文字列前方検索 カーソルより前方を検索。 ・まず同じ行の左側を検索 ・次に上方向に検索 上方に無ければ、自動的に再度最後の行から検索する。 連続して後方検索(Esc→ W) 連続して前方検索(Esc→ Q) |
Previous Esc → Q | Where Is( Ctrl + Wで検索した後に連続して上方検索する場合。 |
Next Esc → W | Where IsCtrl + Wで検索した後に連続して下方検索する場合。 |
Back *使わない | 一行上に移動。 Upキーと同じ。 |
Forward *使わない | 一行下に移動。 Downキーと同じ。 |
メニューに無い便利機能 | |
マウス使用可 Esc → M | マウス使用可、不可切替。 |
上書き保存 Ctrl + S | 編集内容を一旦保存。 nanoの編集を終了しない。 上書き保存を使うより、書き出しCtrl + O(Save as)でバックアップを作っておき、最後に保存とする方が安全。 |
Previous Page F7 or PgUp | 上のページに移動。 ページ内であれば1行目に移動。 |
Next Page F8 or PgDn | 次のページに移動。 1ページの場合は、最後の行に移動。 |
First line Esc → \orAlt + \ or Ctrl + Home | 一番最初の行に移動。 |
Last line Esc → / or Alt + / or Ctrl + End | 一番最後の行に移動。 |
インデント Tab アンインデント Shift + Tab | 行の先頭にインデント挿入。 行の先頭のインデント削除。 |
set linenumbers Ctrl + #→Shift + # | 行番号の表示・非表示切替 Ctrl+#の次にShift+#を押すと切り替えられます。 |
範囲選択、外部からのコピー&ペースト
Ctrl+^ (Mark Set)
nanoの機能。 Ctrl+^で範囲選択開始で、カーソル移動で範囲を選択出来ます。 nanoの機能の、Ctrl+Kでカットして、削除かペースト(Ctrl+U)をします。 間違えた場合は、ESC→UでUndoです。
Ctrl+Shift+V 貼り付け
ブラザや他のエディタ上のコードなど外部からコピーした内容を貼り付けます。Terminalが持っている機能なのでTerminalの種類によっては出来ない可能性があります。 uBuntu 20.04 LTS版で出来ていて便利です。
右クリック+Copy
nanoで表示されている行をマウスで選択します。 この選択はTerminalの機能なので、マウス右クリックで表示される、ポップアップメニューからCopyを選択して、上記のCtrl+Shift+Vで貼り付ける事が出来ます。 Ctrl+^(Mark Set)との違いは、覚えやすく、コピーで消えないので安心感があるので、私はこちらを使っています。 しかし、この方法ではMark Setで可能な範囲選択削除は出来ません。
おまけ
行番号表示
Ctrl+#の次にShift+#を続けて押すと、一時的に行番号が表示されますが、nanoを毎回起動する度にこの操作をしなければならないので、以下の方法で設定します。
#set linenumbersをコメントアウトする。
sudo nano /etc/nanorc
因みに、このnanorcの下の方をコメントアウトすると、Ctrl+Cをコピーにしたり、Ctrl+Fを検索にすることが出来ます。 しかし、nanoはターミナルを使っているので、Ctrl+Zはターミナルで停止として予約されているので、Undoとして使えず、中途半端になってしまいます。 なので、私は変更せず、マウスモードでWhere Is(検索)などをクリックして出来るだけ負担を減らしています。
nano の公式サイト
VScode, Notepad++, nano どれを使う?
Windowsでは操作が簡単なVScodeかNotepad++がお薦めです。 両方LinuxファイルやWindowsファイルを扱えます。
VScodeのメリット
- 色付きで見やすく間違えにくい
- SSH 多段転送
- 複数ファイル同時編集(タブ切替)
- 画面分割
- 複数アプリ起動
VScodeのデメリット
- 最初は操作が難しい
- 改行コードが見えない(Linux用ファイルにCrが含まれていないか確認時)
- 開いたディレクトリ下のファイルしか編集できない
Notepad++のメリット
- 色づきで見やすく間違えにくい
- 操作が簡単
- 複数ファイル同時編集(タブ切替)
- フォルダ位置に依存せず、ローカル、リモートのファイルを同時に開ける
- SSH通信でLinux内のフォルダ構造がGUIで見えて選択できる
- エラーLogファイル等のキーワードによる色付けカスタマイズができ解析しやすい
Notepad++のデメリット
- SSH1段
- 画面分割できない
- 複数アプリ起動できない
NanoはBash Shellを使っていて、ちょっとファイルを開いてみたり、編集する際に使っています。 じっくり変更する場合は、プロジェクトの場合同じフォルダ下でVScodeで編集。 別々のフォルダのファイルを編集する場合はNotepad++を使っています。
コメント