GNU nano エディタ 基本操作 便利操作まとめ

ファイル編集を快適にする 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 ファイル名

こんな感じで立ち上がります。 画面下に操作メニューがあります。 ショートカットキーで操作するのですが、この下に操作方法を記載しています。

nano editor

*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 の公式サイト

nano – Documentation

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++を使っています。

コメント