覚えておくと超便利!nanoエディタのキーボードショートカット一覧

プログラミング・IT

LinuxやmacOSのターミナルで設定ファイルを編集したり、簡単なメモを作成したりするとき、nano(ナノ)エディタは非常に便利なツールです。

「viは難しそう」「emacsは覚えることが多すぎる」そんな方でも、nanoなら直感的に使えます。

でも、基本的な操作だけでは、せっかくの便利機能を活かしきれません。

この記事では、nanoエディタを使いこなすためのキーボードショートカットを、実際の使用例とともにわかりやすく紹介します。

これを覚えれば、ターミナルでの作業効率が劇的に向上します!

スポンサーリンク

nanoエディタとは?なぜ初心者におすすめ?

nanoの特徴

初心者にやさしい設計

  • 画面下部にショートカットが常時表示される
  • 直感的で覚えやすいキー操作
  • 複雑なモード切り替えがない

軽量で高速

  • 起動が早い
  • メモリ使用量が少ない
  • SSH接続先でもサクサク動作

十分な機能性

  • シンタックスハイライト(色分け表示)
  • 検索・置換機能
  • 行番号表示
  • 自動インデント

他のエディタとの比較

エディタ初心者向け学習コスト機能の豊富さ
nano★★★★☆☆(低い)★★☆
vi/vim★☆☆★★★(高い)★★★
emacs★☆☆★★★(高い)★★★

nanoの起動方法

基本的な起動

nano ファイル名

新しいファイルを作成

nano new_file.txt

行番号を表示して起動

nano -l ファイル名

読み取り専用で開く

nano -v ファイル名

絶対に覚えたい!基本操作ショートカット

ファイルの保存と終了

操作ショートカット詳細説明
ファイル保存Ctrl + OWrite Out(書き出し)の略
nano終了Ctrl + XeXitの略
保存して終了Ctrl + OEnterCtrl + X確実な終了手順

実際の操作手順

  1. ファイルを編集する
  2. Ctrl + O を押す
  3. ファイル名を確認(通常はそのままEnter)
  4. Ctrl + X でnanoを終了

保存時のオプション

  • 別名で保存Ctrl + O → 新しいファイル名を入力 → Enter
  • 上書き確認:既存ファイルの場合は確認メッセージが表示

ヘルプとステータス確認

操作ショートカット使う場面
ヘルプ表示Ctrl + Gショートカットを忘れたとき
カーソル位置表示Ctrl + C現在の行・列番号を確認したいとき

ヘルプ画面の見方

  • Ctrl + G でヘルプを開く
  • Ctrl + X でヘルプを閉じる
  • ショートカット一覧が表示される

カーソル位置情報

[ line 15, col 23, char 156, tot 245 ]
  • line 15:15行目
  • col 23:23列目
  • char 156:156文字目
  • tot 245:全245文字

カーソル移動とナビゲーション

基本的な移動

操作ショートカット使う場面
行の先頭へCtrl + A行の最初に移動したいとき
行の末尾へCtrl + E行の最後に移動したいとき
ページアップCtrl + Y画面1つ分上にスクロール
ページダウンCtrl + V画面1つ分下にスクロール

高度なナビゲーション

操作ショートカット使う場面
特定の行にジャンプCtrl + _行番号を指定して移動
ファイルの先頭へAlt + \ファイルの最初に移動
ファイルの末尾へAlt + /ファイルの最後に移動

特定行へのジャンプ使用例

  1. Ctrl + _ を押す
  2. 行番号を入力(例:50
  3. Enter で50行目に移動

大きなファイルでの効率的な移動

# 設定ファイルの編集例
nano /etc/nginx/nginx.conf

# 1. Ctrl + _ で行番号指定
# 2. Alt + / で末尾確認
# 3. Alt + \ で先頭に戻る

テキスト編集とコピー・ペースト

行の操作

操作ショートカット詳細説明
行をカットCtrl + K現在行を削除してクリップボードに保存
カットした行をペーストCtrl + U最後にカットした内容を貼り付け
行を複製Ctrl + KCtrl + UCtrl + U行をコピーして増やす

実践的な使用例

# 設定ファイルの行を複製したい場合
server {
    listen 80;
    server_name example.com;
}

# 1. 複製したい行にカーソルを置く
# 2. Ctrl + K でカット
# 3. Ctrl + U でペースト(元の位置に戻る)
# 4. Ctrl + U でもう一度ペースト(複製完成)

テキストの選択とコピー

操作ショートカット使う場面
マーク開始Alt + Aテキスト選択の開始点を設定
選択範囲をカットCtrl + K選択したテキストを削除
選択範囲をコピーAlt + 6選択したテキストをコピー

テキスト選択の手順

  1. 選択開始位置にカーソルを移動
  2. Alt + A でマーク開始
  3. 矢印キーで選択範囲を拡張
  4. Alt + 6 でコピー または Ctrl + K でカット
  5. 貼り付け位置で Ctrl + U

便利な編集機能

操作ショートカット使う場面
行を削除Ctrl + K不要な行を削除
空行を挿入Ctrl + OEnter改行を追加
インデントTabコードの字下げ
複数行インデントマーク選択 → Alt + }複数行を一度に字下げ

検索と置換:大量テキストを効率的に編集

基本的な検索

操作ショートカット使う場面
検索Ctrl + W特定の文字列を探したいとき
次を検索Alt + W同じ文字列の次の場所を探す
前を検索Alt + Q同じ文字列の前の場所を探す

検索の実際の使い方

  1. Ctrl + W を押す
  2. 検索したい文字列を入力
  3. Enter で検索実行
  4. Alt + W で次の候補、Alt + Q で前の候補

検索オプション

  • 大文字小文字を区別Alt + C
  • 正規表現検索Alt + R
  • 後方検索Alt + B

置換機能

操作ショートカット使う場面
検索と置換Ctrl + \文字列を一括で変更したいとき

置換の手順

  1. Ctrl + \ を押す
  2. 「Search (to replace):」で検索文字列を入力
  3. 「Replace with:」で置換文字列を入力
  4. 置換オプションを選択:
    • Y:この箇所を置換
    • N:この箇所をスキップ
    • A:全て置換
    • Ctrl + C:置換を中止

実践的な置換例

# 設定ファイルでポート番号を変更
# 検索: port 8080
# 置換: port 3000

# ログファイルでIPアドレスを匿名化
# 検索: 192.168.1.
# 置換: xxx.xxx.x.

元に戻すとやり直し

アンドゥ・リドゥ機能

操作ショートカット使う場面
元に戻すAlt + U直前の操作を取り消したいとき
やり直しAlt + E取り消した操作を復活させたいとき

アンドゥ・リドゥの活用例

# 大量の編集をした後、間違いに気づいた場合
# 1. Alt + U を連続で押して、正しい状態まで戻る
# 2. 必要があれば Alt + E で一部をやり直し
# 3. 正しい編集を続行

注意点

  • nanoのアンドゥは操作単位(文字単位ではない)
  • セッション中のみ有効(ファイルを閉じるとリセット)
  • アンドゥ回数に制限がある場合がある

表示とレイアウト

画面表示の調整

操作ショートカット使う場面
行番号表示切替Alt + #行番号を表示/非表示
長い行の折り返し切替Alt + $長い行の表示方法を変更
空白文字表示Alt + Pスペースやタブを可視化

プログラマー向け表示設定

# nanoを起動する際のオプション
nano -l -E 4 -T 4 script.py

# -l: 行番号表示
# -E 4: タブを4スペースで表示
# -T 4: タブ幅を4に設定

ウィンドウとパネル

操作ショートカット使う場面
画面更新Ctrl + L表示が崩れたとき
ステータスバー切替Alt + Xステータス情報の表示/非表示

ファイル操作

複数ファイルの管理

操作ショートカット使う場面
ファイル挿入Ctrl + R他のファイルの内容を挿入
新規ファイルAlt + F新しいファイルを開く
バックアップ作成Alt + B編集前の状態をバックアップ

ファイル挿入の活用例

# 設定ファイルにテンプレートを挿入
# 1. Ctrl + R を押す
# 2. template.conf と入力
# 3. テンプレートの内容が現在位置に挿入される

ファイル情報

操作ショートカット表示内容
ファイル統計Alt + D行数、単語数、文字数
カーソル位置Ctrl + C現在の行・列位置

便利な追加機能

スペルチェックと整形

操作ショートカット使う場面
スペルチェックCtrl + T英文のスペルミスを確認
段落整形Alt + J長い段落を適切な幅で整形

※注意: スペルチェック機能は、システムにspellコマンドがインストールされている必要があります。

自動機能

操作ショートカット機能
自動インデント切替Alt + I改行時の自動字下げ
自動改行切替Alt + L長い行の自動折り返し

nanoの設定ファイル(.nanorc)

基本設定

nanoの動作をカスタマイズするには、ホームディレクトリに .nanorc ファイルを作成します。

# ~/.nanorc の例
set linenumbers      # 行番号を表示
set tabsize 4        # タブサイズを4に設定
set autoindent       # 自動インデント
set mouse           # マウス操作を有効
set titlecolor brightwhite,blue    # タイトルバーの色
set statuscolor brightwhite,green  # ステータスバーの色
set numbercolor cyan               # 行番号の色

プログラミング言語別の設定

# シンタックスハイライトの設定
include "/usr/share/nano/*.nanorc"

# 特定の拡張子での設定
extendsyntax python tabgives "    "  # Pythonでタブをスペースに

トラブルシューティング

よくある問題と解決法

Q1: ショートカットが効かない

# 解決方法
# 1. Caps Lockが有効になっていないか確認
# 2. ターミナルの設定でキーバインドが競合していないか確認
# 3. nanoのバージョンを確認(古いバージョンでは一部機能が制限)
nano --version

Q2: 日本語が文字化けする

# 解決方法
# 1. ターミナルの文字エンコーディングをUTF-8に設定
export LANG=ja_JP.UTF-8

# 2. nanoを起動
nano ファイル名

Q3: 保存できない(Permission denied)

# 解決方法
# 1. sudoで起動
sudo nano /etc/hosts

# 2. または一時的に権限変更
chmod 644 ファイル名

Q4: 誤って削除してしまった

# 解決方法
# 1. 即座に Alt + U で元に戻す
# 2. バックアップファイルを確認
ls -la ファイル名~  # バックアップファイル

# 3. 事前にバックアップを有効にする設定
echo "set backup" >> ~/.nanorc

実際の使用例:Webサーバー設定

Nginx設定ファイルの編集

# 1. 設定ファイルを開く
sudo nano /etc/nginx/sites-available/default

# 2. 特定の設定箇所にジャンプ
# Ctrl + W で "server {" を検索

# 3. ポート設定を変更
# Ctrl + \ で "listen 80" を "listen 8080" に置換

# 4. 設定をコピーして新しいサーバーブロック作成
# Alt + A でサーバーブロック全体を選択
# Alt + 6 でコピー
# 適切な位置で Ctrl + U で貼り付け

# 5. 保存して終了
# Ctrl + O → Enter → Ctrl + X

プログラムのデバッグ

# ログファイルの確認
nano /var/log/application.log

# 1. エラーメッセージを検索
# Ctrl + W で "ERROR" を検索
# Alt + W で次のエラーを検索

# 2. 特定の時刻の記録にジャンプ
# Ctrl + W で "2024-01-15 14:30" を検索

# 3. 不要な古いログエントリを削除
# 行番号で範囲を特定
# Alt + A で選択して Ctrl + K で削除

まとめ

nanoエディタのショートカットをマスターすることで、ターミナルでのテキスト編集作業が飛躍的に効率化されます。

今日から使える重要ショートカット

  1. Ctrl + O:保存(最重要)
  2. Ctrl + X:終了(最重要)
  3. Ctrl + W:検索(よく使う)
  4. Ctrl + K + Ctrl + U:行の移動(便利)
  5. Alt + U:元に戻す(安心)

学習のコツ

  • 一度に全部覚えようとしない
  • 普段の作業で意識的に使ってみる
  • .nanorc で使いやすくカスタマイズ
  • エラーを恐れずに色々試してみる

nanoの活用場面

  • システム設定ファイルの編集
  • プログラムのちょっとした修正
  • SSH先でのファイル編集
  • ログファイルの確認と編集

コメント

タイトルとURLをコピーしました