跳轉到內容

Linux nano 編輯器完全教程 | 終端文本編輯入門到精通指南

Linux Nano Editor

nano 是一款輕量級、易於使用的終端文本編輯器,適用於大多數 Linux 發行版。它比 vi/vim 更加直觀,非常適合新手用戶快速編輯文本文件,尤其常用於編輯配置文件和腳本。

與 VIM 的模態編輯不同,nano 採用傳統的所見即所得編輯方式,所有快捷鍵都顯示在屏幕底部,讓用戶一目瞭然。這使得 nano 成為 Linux 初學者進入命令行世界的理想選擇。

nano vs VIM vs Emacs 對比

特性nanoVIMEmacs
學習曲線⭐ 簡單⭐⭐⭐ 陡峭⭐⭐⭐⭐ 非常陡峭
啟動速度非常快較慢
功能豐富度基礎強大極其強大
適用場景快速編輯專業開發全能環境
默認安裝✅ 大多數系統✅ 大多數系統❌ 需手動安裝
快捷鍵顯示✅ 底部顯示❌ 需記憶❌ 需記憶

安裝 nano

大多數 Linux 系統默認已預裝 nano,你可以通過以下命令檢查是否安裝:

bash
nano --version

如果未安裝,可以根據系統類型執行以下命令:

bash
sudo apt update
sudo apt install nano
bash
sudo yum install nano
bash
sudo pacman -S nano
bash
sudo dnf install nano
bash
sudo zypper install nano

驗證安裝

bash
# 查看版本信息
nano --version

# 輸出示例
GNU nano, version 6.2
(C) 1999-2022 Free Software Foundation, Inc.
(C) 2014-2022 the contributors to nano
Email: nano@nano-editor.org	Web: https://nano-editor.org/
Compiled options: --enable-utf8

啟動和打開文件

在終端中使用以下命令打開或新建文件:

bash
nano 文件名

示例:

bash
nano hello.txt

如果該文件不存在,nano 將自動創建一個新文件並開始編輯。

高級啟動選項

bash
# 打開文件並跳轉到指定行
nano +10 config.conf        # 跳轉到第 10 行

# 以只讀模式打開
nano -v file.txt            # 查看模式,無法編輯

# 顯示行號
nano -l file.txt

# 禁用自動換行
nano -S file.txt

# 啟用鼠標支持
nano -m file.txt

# 同時打開多個文件
nano file1.txt file2.txt

# 從標準輸入讀取
cat log.txt | nano

界面介紹

啟動 nano 後,你會看到三個主要區域:

  1. 頂部標題欄:顯示文件名和 nano 版本
  2. 中間編輯區:文本內容
  3. 底部快捷鍵欄:常用操作提示
 GNU nano 6.2                    hello.txt                      Modified
Hello World!
This is a test file.

^G Help    ^O Write Out  ^W Where Is  ^K Cut     ^T Execute
^X Exit    ^R Read File  ^\ Replace   ^U Paste   ^J Justify

狀態指示器:

  • Modified:文件已被修改但未保存
  • New Buffer:新建的文件
  • 無標記:文件已保存且未修改

基本編輯操作

  • 使用方向鍵移動光標。
  • 直接輸入內容即可開始編輯。
  • 可以使用終端支持的快捷方式進行復制粘貼,如 Ctrl+Shift+C / Ctrl+Shift+V(取決於終端)。

光標移動

快捷鍵功能
方向鍵上下左右移動
Ctrl + A跳到行首
Ctrl + E跳到行尾
Ctrl + Y上一頁
Ctrl + V下一頁
Ctrl + _跳轉到指定行號
Alt + \跳到文件開頭
Alt + /跳到文件末尾

文本選擇與操作

bash
# 標記文本(從 nano 2.9+ 版本開始支持)
Alt + A          # 開始標記
方向鍵移動       # 選擇文本
Alt + 6          # 複製選中文本
Ctrl + K         # 剪切選中文本
Ctrl + U         # 粘貼

保存與退出

  • 按下 Ctrl + O 保存文件,會提示輸入文件名,按 Enter 確認。
  • 按下 Ctrl + X 退出 nano,若文件有改動會提示是否保存。

保存操作詳解

bash
# 1. 按 Ctrl + O
# 2. 確認或修改文件名
# 3. 按 Enter 確認

# 強制保存(不詢問)
# 在 nano 中按 Ctrl + O 後直接 Enter

# 另存為
# Ctrl + O 後輸入新文件名

退出操作

bash
# 正常退出
Ctrl + X

# 如果有未保存的更改:
# - 按 Y:保存並退出
# - 按 N:不保存退出
# - 按 Ctrl + C:取消退出,返回編輯

# 強制退出不保存
# Ctrl + X -> N

常用快捷鍵

快捷鍵功能說明
Ctrl + O保存當前文件
Ctrl + X退出編輯器
Ctrl + G顯示幫助文檔
Ctrl + K剪切當前行
Ctrl + U粘貼最近剪切的內容
Ctrl + W搜索指定文本
Ctrl + \查找並替換文本
Alt + U撤銷上一步操作
Alt + E重做撤銷的操作

注意:某些終端可能需按 Esc 後再按組合鍵才能觸發 Alt 鍵操作。

完整快捷鍵參考表

文件操作

快捷鍵功能助記
Ctrl + O保存文件Output
Ctrl + R插入文件Read
Ctrl + X退出eXit
Ctrl + S保存(新版本)Save

編輯操作

快捷鍵功能助記
Ctrl + K剪切行Kut
Ctrl + U粘貼Unpaste
Alt + 6複製行-
Ctrl + J對齊段落Justify
Alt + U撤銷Undo
Alt + E重做rEdo

搜索與導航

快捷鍵功能助記
Ctrl + W搜索Where is
Alt + W重複搜索-
Ctrl + \替換-
Ctrl + _跳至行號-
Ctrl + Y上一頁-
Ctrl + V下一頁-

其他功能

快捷鍵功能
Ctrl + C顯示光標位置
Ctrl + T拼寫檢查
Ctrl + B後退一個字符
Ctrl + F前進一個字符
Ctrl + D刪除當前字符
Ctrl + H刪除前一個字符

搜索與替換文本

搜索

按下 Ctrl + W,輸入關鍵字後回車即可搜索下一處匹配內容。可反覆按 Ctrl + W + 回車繼續查找。

bash
# 搜索操作流程:
# 1. Ctrl + W
# 2. 輸入搜索詞
# 3. Enter
# 4. 繼續按 Ctrl + W 查找下一個

# 反向搜索
Alt + W          # 向上搜索

替換

按下 Ctrl + \ 啟動替換流程:

  1. 輸入要查找的字符串,按回車。
  2. 輸入替換後的字符串,再按回車。
  3. 可選擇替換當前匹配、全部替換或跳過。
bash
# 替換操作流程:
# 1. Ctrl + \
# 2. 輸入查找內容 -> Enter
# 3. 輸入替換內容 -> Enter
# 4. 選擇操作:
#    - Y:替換當前匹配
#    - A:全部替換
#    - N:跳過當前
#    - Ctrl + C:取消

# 區分大小寫搜索/替換
# 在搜索時按 Alt + C 切換大小寫敏感

正則表達式搜索(nano 2.9+)

bash
# 啟用正則表達式
# 搜索時按 Alt + R

# 示例:搜索數字
[0-9]+

# 示例:搜索郵箱
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

進階用法

顯示行號

使用 -l 參數可在左側顯示行號:

bash
nano -l 文件名

或在配置文件中永久啟用:

bash
# ~/.nanorc
set linenumbers

打開時定位到特定行

bash
nano +行號 文件名

示例:

bash
nano +20 settings.conf

會直接跳轉到第 20 行。

多文件編輯

bash
# 同時打開多個文件
nano file1.txt file2.txt file3.txt

# 在文件間切換
Alt + ,          # 上一個文件
Alt + .          # 下一個文件

# 關閉當前文件
Ctrl + X(如有修改會提示保存)

分屏編輯(nano 6.0+)

bash
# 垂直分屏
nano --view file1.txt file2.txt

# 在窗格間切換
Alt + Tab

# 調整窗格大小
Alt + <          # 縮小當前窗格
Alt + >          # 放大當前窗格

配置文件 ~/.nanorc

你可以通過編輯 ~/.nanorc 文件來自定義 nano 的行為,如開啟行號、設置製表符寬度、語法高亮等。

創建配置文件

bash
# 創建或編輯配置文件
nano ~/.nanorc

# 系統級配置文件(影響所有用戶)
sudo nano /etc/nanorc

常用配置示例

bash
# ~/.nanorc

# 顯示行號
set linenumbers

# 設置製表符寬度為 4 空格
set tabsize 4

# 使用空格代替製表符
set tabstospaces

# 自動縮進
set autoindent

# 備份文件
set backup
set backupdir ~/.nano-backups

# 啟用鼠標支持
set mouse

# 平滑滾動
set smooth

# 顯示光標位置
set constantshow

# 啟用語法高亮
include "/usr/share/nano/*.nanorc"

# 自定義顏色主題
set titlecolor white,blue
set statuscolor white,blue
set keycolor yellow,blue
set functioncolor cyan,blue

語法高亮配置

bash
# 加載所有語法高亮規則
include "/usr/share/nano/*.nanorc"

# 或只加載特定的
include "/usr/share/nano/sh.nanorc"      # Shell 腳本
include "/usr/share/nano/python.nanorc"  # Python
include "/usr/share/nano/html.nanorc"    # HTML
include "/usr/share/nano/css.nanorc"     # CSS
include "/usr/share/nano/javascript.nanorc"  # JavaScript

自定義語法高亮

bash
# 創建自定義語法文件
nano ~/.nano-syntax/custom.nanorc

# 示例:Markdown 語法高亮
syntax "markdown" "\.md$" "\.markdown$"

# 標題
color brightred "^#{1,6} .+"

# 粗體
color brightyellow "\*\*.+\*\*"

# 斜體
color brightcyan "\*.+\*"

# 鏈接
color brightblue "\[.+\]\(.+\)"

# 代碼塊
color brightgreen "`.+`"

# 在 ~/.nanorc 中引用
include "~/.nano-syntax/custom.nanorc"

實用技巧與最佳實踐

1. 快速編輯配置文件

bash
# 創建別名簡化常用配置編輯
echo 'alias edit-hosts="sudo nano /etc/hosts"' >> ~/.bashrc
echo 'alias edit-nginx="sudo nano /etc/nginx/nginx.conf"' >> ~/.bashrc
source ~/.bashrc

# 使用
edit-hosts
edit-nginx

2. 臨時文件管理

bash
# nano 會自動創建備份文件(如果啟用)
# 備份文件位置:~/.nano-backups/

# 清理舊備份
find ~/.nano-backups -type f -mtime +30 -delete

3. 與 Git 集成

bash
# 設置 nano 為 Git 默認編輯器
git config --global core.editor "nano"

# 提交時使用 nano
git commit

4. 批量處理文件

bash
# 使用循環批量編輯
for file in *.conf; do
  nano "$file"
done

# 或使用 xargs
ls *.txt | xargs -I {} nano {}

5. 遠程編輯

bash
# 通過 SSH 編輯遠程文件
ssh user@server "nano /path/to/file"

# 或使用 sshfs 掛載後本地編輯
sshfs user@server:/remote/path /local/mount
nano /local/mount/file.txt

常見問題排查

問題 1:快捷鍵不工作

bash
# 原因:終端佔用了某些快捷鍵

# 解決方案 1:檢查終端設置
# GNOME Terminal: Edit -> Preferences -> Shortcuts
# 禁用衝突的快捷鍵

# 解決方案 2:使用 Escape 序列
# 在某些終端中,Alt 需要按 Esc 後再按鍵
# 例如:Esc + U 代替 Alt + U

問題 2:中文顯示亂碼

bash
# 確保系統 locale 設置正確
locale

# 設置 UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

# 永久設置
echo 'export LANG=en_US.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=en_US.UTF-8' >> ~/.bashrc

問題 3:語法高亮不工作

bash
# 檢查是否安裝了語法高亮文件
ls /usr/share/nano/

# 如果沒有,安裝 nano-syntax 包
sudo apt install nano-syntax        # Debian/Ubuntu
sudo yum install nano-syntax        # CentOS/RHEL

# 確保在 ~/.nanorc 中啟用了
include "/usr/share/nano/*.nanorc"

問題 4:無法保存文件(權限不足)

bash
# 錯誤:Error writing file: Permission denied

# 解決方案 1:使用 sudo
sudo nano /etc/hosts

# 解決方案 2:修改文件權限
sudo chown $USER:$USER /path/to/file
nano /path/to/file

# 解決方案 3:保存到臨時位置後移動
nano ~/temp_file
sudo mv ~/temp_file /protected/path/file

問題 5:Tab 鍵行為異常

bash
# 在 ~/.nanorc 中配置
set tabstospaces      # 用空格代替 Tab
set tabsize 4         # 設置 Tab 寬度

# 或者保持 Tab 字符
unset tabstospaces

nano 與其他編輯器對比總結

何時使用 nano?

推薦使用場景:

  • 快速編輯配置文件
  • 初學者學習命令行編輯
  • 簡單的文本修改任務
  • 服務器上的緊急修復
  • 不需要複雜功能的場景

不推薦使用場景:

  • 大型項目開發(使用 VIM/Emacs/VSCode)
  • 需要代碼補全和智能提示
  • 複雜的文本處理任務
  • 需要宏錄製和回放

學習路徑建議

初學者路線:
nano (1-2周) → VIM 基礎 (1個月) → VIM 進階 (持續)

快速上手路線:
nano (日常使用) + VSCode (開發主力)

獲取幫助

  • 在 nano 中按 Ctrl + G 可查看內建幫助菜單。
  • 使用 man nano 命令可查看系統手冊頁,瞭解更多命令參數。
bash
man nano

在線資源

總結

nano 是一款簡單而強大的終端文本編輯器,適合快速編輯文件、編寫腳本或修改配置文件。它易於上手,快捷鍵直觀,幾乎適用於所有 Linux 用戶。通過掌握上述基本與進階功能,你可以在終端中高效地進行文本編輯工作。

關鍵要點回顧:

  1. 簡單易用:所有快捷鍵底部顯示,無需記憶
  2. 功能完整:支持搜索、替換、多文件、語法高亮
  3. 高度可定製:通過 ~/.nanorc 個性化配置
  4. 廣泛兼容:幾乎所有 Linux 發行版默認安裝
  5. 適合新手:是學習命令行編輯的最佳起點

下一步學習:

掌握 nano,讓你在 Linux 世界中游刃有餘!📝✨

最後更新於: