直观界面,底部显示快捷键
轻量级,启动速度快
学习成本低,无需记忆复杂命令
nano [选项] [文件名]
nano [选项] [+行号[,列号]] [文件名]
nano [选项] +/搜索词 [文件名]
^表示Ctrl键,M-表示Alt键。
| 选项 | 说明 |
|---|---|
-B 或 --backup |
保存时创建备份文件(在文件名后加~) |
-C 目录 |
设置备份文件保存目录 |
-E 或 --tabstospaces |
将Tab转换为空格 |
-i 或 --autoindent |
启用自动缩进 |
-k 或 --cut |
启用从光标处剪切 |
-l 或 --nofollow |
不跟随符号链接(编辑链接本身) |
-m 或 --mouse |
启用鼠标支持 |
-r 列数 |
设置屏幕宽度(列数) |
-T 数字 |
设置Tab宽度(默认为8) |
-v 或 --view |
只读模式(查看模式) |
-w 或 --nowrap |
禁用自动换行 |
-x 或 --nohelp |
不显示底部帮助栏 |
-z 或 --suspend |
启用Ctrl+Z挂起功能 |
+行号 |
启动后光标定位到指定行 |
+/搜索词 |
启动后搜索指定内容 |
GNU nano 6.2 文件名.txt [已修改]
这是文件内容的第一行
这是文件内容的第二行
这是文件内容的第三行
...
[ 已读取 3 行 ]
^G 帮助 ^O 写入 ^W 搜索 ^K 剪切 ^T 执行命令
^X 退出 ^R 读入文件 ^\ 替换 ^U 粘贴 ^J 对齐
| 顶部状态栏 | 显示nano版本、文件名和修改状态 |
| 编辑区域 | 文本编辑的主要区域 |
| 状态行 | 显示文件信息(行数、编码等) |
| 快捷键栏 | 显示常用快捷键提示(两行) |
# 启动nano(新建文件)
nano
# 打开指定文件
nano 文件名.txt
# 打开文件并跳转到第10行
nano +10 文件名.txt
# 打开文件并搜索"hello"
nano +/hello 文件名.txt
# 以只读模式打开文件
nano -v 配置文件.conf
# 打开文件并禁用自动换行
nano -w 日志文件.log
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 保存文件 | Ctrl+O |
写入文件(会提示输入文件名) |
| 退出nano | Ctrl+X |
退出nano(如果文件已修改会提示保存) |
| 保存并退出 | Ctrl+X 然后 Y |
先保存修改,然后退出 |
| 放弃保存退出 | Ctrl+X 然后 N |
不保存修改,直接退出 |
| 取消退出 | Ctrl+X 然后 Ctrl+C |
取消退出操作,继续编辑 |
Ctrl+F 或 → | 向右移动一个字符 |
Ctrl+B 或 ← | 向左移动一个字符 |
Ctrl+P 或 ↑ | 向上移动一行 |
Ctrl+N 或 ↓ | 向下移动一行 |
Ctrl+→ 或 Alt+空格 | 向右移动一个单词 |
Ctrl+← 或 Ctrl+空格 | 向左移动一个单词 |
Ctrl+A 或 Home | 移动到行首 |
Ctrl+E 或 End | 移动到行尾 |
Ctrl+Y 或 Page Up | 向上翻页 |
Ctrl+V 或 Page Down | 向下翻页 |
Ctrl+_ 或 Alt+G | 跳转到指定行 |
Alt+\ | 跳转到文件开头 |
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 插入文本 | 直接输入 | nano默认处于插入模式 |
| 删除字符 | Delete 或 Backspace |
删除光标前/后的字符 |
| 删除单词 | Ctrl+Delete |
删除光标后的单词 |
| 删除行 | Ctrl+K |
剪切当前行(可粘贴) |
| 删除到行尾 | Alt+D |
删除从光标到行尾的内容 |
| 撤销 | Alt+U |
撤销上一次操作 |
| 重做 | Alt+E |
重做被撤销的操作 |
| 复制行 | Alt+6 或 Alt+^ |
复制当前行 |
| 剪切行 | Ctrl+K |
剪切当前行(可粘贴) |
| 粘贴 | Ctrl+U |
粘贴剪切板内容 |
| 选择文本 | Alt+A 然后移动光标 |
进入选择模式(然后使用剪切复制) |
# 搜索文本
Ctrl+W # 打开搜索框
输入搜索词 # 输入要搜索的内容
Alt+W # 查找下一个
Alt+Q # 查找上一个
# 替换文本
Ctrl+\ # 打开替换框
输入要替换的词 # 输入要替换的内容
输入新词 # 输入替换后的内容
选项: # 可以选择替换当前、全部等
# 搜索时区分大小写
Alt+C # 切换大小写敏感
# 启动时打开多个文件
nano file1.txt file2.txt file3.txt
# 在nano中操作多个文件
Ctrl+R # 读取另一个文件到当前光标位置
Alt+< # 切换到上一个文件
Alt+> # 切换到下一个文件
Ctrl+X # 退出当前文件,如果有多个文件会提示
# 保存所有文件
Alt+X # 打开扩展命令菜单,选择保存所有
# 启用拼写检查(需要安装spell)
Ctrl+T # 打开工具菜单
选择拼写检查 # 如果有拼写检查选项
# 或者使用外部拼写检查程序
Alt+X # 打开扩展菜单
选择执行命令 # 输入: spell 文件名
# 在nano中执行shell命令
Ctrl+T # 打开工具菜单
选择执行命令 # 输入要执行的命令
# 常用命令示例
ls -la # 列出文件
date # 显示当前时间
pwd # 显示当前目录
# 命令输出可以插入到文件中
Ctrl+R # 读入文件
选择 [从管道] # 输入命令,如: ls -la | head -5
# 系统全局配置文件
/etc/nanorc
# 用户个人配置文件
~/.nanorc
~/.config/nano/nanorc
# 查看当前配置
nano --showrc
# ~/.nanorc - nano配置文件示例
# 界面设置
set autoindent # 自动缩进
set constantshow # 始终显示状态行
set linenumbers # 显示行号
set mouse # 启用鼠标支持
set smooth # 平滑滚动
set tabsize 4 # Tab宽度设为4个空格
set tabstospaces # 将Tab转换为空格
# 搜索设置
set casesensitive # 搜索区分大小写
# 或使用 set ignorecase # 搜索不区分大小写
# 备份设置
set backup # 保存时创建备份文件
set backupdir "~/.nano-backups" # 备份目录
# 语法高亮
include "/usr/share/nano/*.nanorc" # 包含语法高亮文件
# 颜色主题
set titlecolor brightyellow,blue # 标题颜色
set statuscolor brightwhite,green # 状态行颜色
set selectedcolor brightwhite,magenta # 选中文本颜色
# 快捷键绑定
bind ^S savefile main # 绑定Ctrl+S为保存
bind ^Q exit main # 绑定Ctrl+Q为退出
# 查看可用的语法高亮文件
ls /usr/share/nano/*.nanorc
# 启用特定语法高亮
# 在~/.nanorc中添加:
include "/usr/share/nano/c.nanorc" # C语言
include "/usr/share/nano/python.nanorc" # Python
include "/usr/share/nano/html.nanorc" # HTML
include "/usr/share/nano/xml.nanorc" # XML
include "/usr/share/nano/sh.nanorc" # Shell脚本
include "/usr/share/nano/json.nanorc" # JSON
# 或者包含所有语法高亮
include "/usr/share/nano/*.nanorc"
# 创建自定义语法高亮
# 创建 ~/.nano/syntax/自定义.nanorc
syntax "自定义" "\.myext$"
color brightred "^#.*"
color green "\"(.*?)\""
color blue "\b(if|else|while|for)\b"
# 使用sudo编辑系统文件
sudo nano /etc/ssh/sshd_config
# 编辑后保存
Ctrl+O # 保存
Ctrl+X # 退出
# 如果需要恢复到备份
sudo nano /etc/ssh/sshd_config~
# 查看日志(禁用自动换行)
nano -w /var/log/syslog
# 跳转到文件末尾
Alt+\ # 到文件开头
Ctrl+V # 向下翻页直到末尾
# 搜索特定内容
Ctrl+W # 搜索"error"或"warning"
# 创建Shell脚本
nano myscript.sh
# 第一行添加shebang
#!/bin/bash
# 启用语法高亮(如果配置了)
# 自动缩进有助于代码结构
# 保存后添加执行权限
chmod +x myscript.sh
# 选择多行
Alt+A # 开始选择
移动光标选择多行
# 每行行首添加注释
# 对于Shell/Python:Alt+I 输入 #
# 对于C/Java:Alt+I 输入 //
# 或者剪切后编辑再粘贴
Ctrl+K # 剪切多行
编辑 # 添加注释前缀
Ctrl+U # 粘贴回去
# nano崩溃或异常退出时,可以恢复文件
# 查看备份文件(文件名后加~)
ls -la *.~ 或 ls -la *~
# 或者查找nano的保存文件
find ~ -name "*.save" 2>/dev/null
find ~ -name "*.nano.*" 2>/dev/null
# 如果启用了备份功能,恢复文件
cp 原文件~ 原文件
| 特性 | nano | vim |
|---|---|---|
| 学习曲线 | 非常平缓,适合新手 | 陡峭,需要时间学习 |
| 界面 | 直观,底部显示快捷键 | 简洁,需要记忆命令 |
| 模式 | 单一编辑模式 | 多模式(普通/插入/可视) |
| 快捷键 | Ctrl组合键,易于记忆 | 复杂,但效率高 |
| 功能 | 基本编辑功能 | 功能非常强大和全面 |
| 启动速度 | 非常快 | 快(但比nano稍慢) |
| 资源占用 | 很少 | 较少 |
| 适合场景 | 快速编辑、配置文件、新手使用 | 编程、复杂编辑、高级用户 |
# 编辑SSH服务器配置
sudo nano /etc/ssh/sshd_config
# 常用修改:
# 1. 修改端口(搜索Port)
Ctrl+W # 搜索
输入: Port # 查找Port设置
修改端口号 # 如: Port 2222
# 2. 禁用root登录
Ctrl+W # 搜索
输入: PermitRootLogin
修改为: PermitRootLogin no
# 3. 保存并重启服务
Ctrl+O # 保存
Ctrl+X # 退出
sudo systemctl restart sshd
# 创建备份脚本
nano backup.sh
# 输入以下内容:
#!/bin/bash
# 备份脚本
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d_%H%M%S)
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz /home/user
# 保存并设置权限
Ctrl+O # 保存为backup.sh
Ctrl+X # 退出
chmod +x backup.sh
# 编辑Nginx配置文件
sudo nano /etc/nginx/sites-available/default
# 使用nano的多文件编辑功能
# 同时打开多个配置文件
sudo nano /etc/nginx/nginx.conf /etc/nginx/sites-available/default
# 在文件间切换
Alt+> # 下一个文件
Alt+< # 上一个文件
# 搜索特定配置
Ctrl+W # 搜索"server_name"或"location"
有几种方法可以显示行号:
# 方法1:启动时使用选项
nano -c 文件名
# 方法2:在nano中临时切换
Alt+N # 切换行号显示
# 方法3:永久配置(添加到~/.nanorc)
set linenumbers
nano提供了多种复制粘贴方式:
# 方法1:复制整行
Alt+6 # 复制当前行
Ctrl+U # 粘贴
# 方法2:选择文本复制
Alt+A # 开始选择(标记)
移动光标 # 选择文本区域
Alt+6 # 复制选中文本
Ctrl+U # 粘贴
# 方法3:使用系统剪贴板(如果支持)
# 选择文本后,尝试Ctrl+Shift+C和Ctrl+Shift+V
# 方法4:剪切粘贴
Ctrl+K # 剪切当前行
Ctrl+U # 粘贴
如果nano无响应,可以尝试:
Ctrl+C取消当前操作Ctrl+X然后按N不保存退出Ctrl+C多次ps aux | grep nano
kill -9 [nano进程ID]
*.save文件启用语法高亮需要配置:
# 1. 检查系统是否安装了语法高亮文件
ls /usr/share/nano/*.nanorc
# 2. 如果不存在,安装nano的语法高亮包
# Ubuntu/Debian:
sudo apt-get install nano-syntax-highlighting
# CentOS/RHEL:
sudo yum install nano-syntax-highlighting
# 3. 在~/.nanorc中添加配置
include "/usr/share/nano/*.nanorc"
# 4. 或者只包含特定语言的语法高亮
include "/usr/share/nano/sh.nanorc" # Shell脚本
include "/usr/share/nano/python.nanorc" # Python
include "/usr/share/nano/html.nanorc" # HTML
# 5. 重启nano查看效果
Ctrl+O保存和Ctrl+X退出~/.nanorc个性化你的nanopiconano的前身
vim功能强大的编辑器
emacs另一个强大编辑器
micro现代命令行编辑器