nanoの使い方

今回は、エディタツールで有名なnanoの使い方について紹介します。
nanoはUbuntuなどのLinuxディストリビューションに初めからインストールされているエディタツールです。
シンプルな機能を提供する反面、私と同じようにテキトーに使っている人は多いのではないでしょうか?
今回は、そんなnanoの使い方をピックアップして紹介します。
ここでは出来るだけ効率良く使い方を押さえられるように書きたいと思いますので、よろしくお願いします。
- #実行環境OS
- ubuntu 22.04 LTS 64bit
- #GNU nano
- Ver 6.2
目次
- 使い方紹介の前に「メタキー」って何ぞ?
- 基本的な使い方
- 起動方法
- 編集内容を保存する
ctrl + O
- nanoを終了する
ctrl + X
- 文字列をカットする
ctrl + K
- 文字列をペーストする
ctrl + U
- 文字列を置換する
ctrl + \
- 前回操作を取り消す
alt + U
- 文字列を検索する
ctrl + W
- 高度な使い方
- コマンドを実行して出力する
ctrl + T
command
- おわりに
使い方紹介の前に「メタキー」って何ぞ?
nanoエディタのキー操作は、^C
やM-A
という表記でエディタ下部に表示されます。
^C
の^
はctrl
キーのことなので、
^C
とはctrl + C
のことです。
それでは、M-A
のM
は何なのかというと、これはメタキーのことを指します。
メタキーとは、コンピュータのキーボードにある修飾キーのことです。古いパソコンのキーボードに修飾用キーとしてMeta
というキーが存在したので、その名残りとしてメタキーという言葉が使われているようです。
現在、メタキーはalt
キーなどで代用されます。
つまり、M-A
とはalt + A
のことです。
起動方法
その1:ファイル指定なしで起動する
nano
と入力して、Enter
を押すことで起動できます。
user:~$ nano
新規ファイルに対して編集を開始します。
その2:ファイル指定ありで起動する
nano <file>
と入力して、Enter
を押すことで起動できます。
user:~$ nano hello.txt
例えば上記コマンド実行で、既存ファイルのhello.txtがあれば編集モードに、なければ新規ファイルとしてhello.txtの編集モードに移行します。
編集内容を保存するctrl + O
ファイルを編集したらctrl + O
で内容を保存できます。

新規ファイルとして編集していた場合は、ファイル名を付けるよう指示されますので好きな名前を付けましょう。
nanoを終了するctrl + X
ctrl + X
でnanoを終了します。
既存ファイルを編集していた場合はその内容を保存するか聞かれ、新規ファイルの場合はファイル名とその保存をするか聞かれます。
(表示される案内はctrl + O
と同じ。)
文字列をカットするctrl + K
shift + ← or →
でカットしたい文字列を指定します。

次にctrl + K
でカットします。

文字列をペーストするctrl + U
ctrl + K
でカットした文字列をctrl + U
でペーストします。

文字列を置換するctrl + \
ctrl + \
で文章中の特定文字列を別の文字列に置換できます。
はじめに置換する特定文字列を聞かれますので、今回は「エディタ」と入力してEnter
を押します。

次に、置換先の文字列を聞かれますので、「 editor」と入力してEnter
を押します。

文章中に含まれる「エディタ」毎に「 editor」で置換するかY (Yes)/N (No)で決定します。

文章中の「エディタ」が「 editor」になります。

前回操作を取り消すalt + U
alt + U
で前回操作を取り消すことができます。
次は、前節の文字列置換をした後にこれを取り消す例です。文末の「 editor」が「エディタ」に戻ります。

連続してalt + U
を押すことで過去の操作を順次取り消すことができます。
文字列を検索するctrl + W
ctrl + W
で文章中の特定文字列を検索することが出来ます。
次は文章中から「hello」を検索する例です。検索覧に「hello」と入力してEnter
を押すことで検索開始です。

一番最初に出現する検索対象にカーソルが飛びます。

次に出現する検索文字列を発見したい場合は、再度ctrl + W
で検索します。
他ファイルの内容を挿入するctrl + R
ctrl + T
ctrl + R
に続いてctrl + T
で
カレントディレクトリを起点にファイルを選択して、その内容を挿入することができます。

ファイルを選択してEnter
を押すことで挿入されます。


コマンドを実行して出力するctrl + T
command
ctrl + T
でコマンド実行モードに移行して任意のコマンドを実行できます。
次はlsコマンドを実行する例です。

lsコマンド結果が編集内容に反映されます。

おわりに
今回は、nanoの使い方について紹介しました。
使い方の紹介というよりは自分の学習内容のアウトプット的な趣旨の記事になってますね。
今後も簡単なものから難しいものまで、幅広く紹介していきたいと思います。
参考文献
- The GNU nano homepage https://www.nano-editor.org/docs.php
- wikipedia lint https://ja.wikipedia.org/wiki/Lint
- wikipedia メタキー https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%BF%E3%82%AD%E3%83%BC