这篇文档按一个更实用的思路重新整理:主角是 nano,使用场景是 WSL、Linux、SSH、远程服务器里的配置文件编辑,vim 只保留一个很短的附录,不再放在中间打断阅读。
如果你的真实需求是改 ~/.bashrc、~/.zshrc、~/.gitconfig、/etc/hosts,或者改 ssh、nginx、docker compose、yaml、env 之类的配置,那么 nano 往往比 vim 更适合你。
目录
- Nano 速查表
- 为什么 Nano 特别适合改配置文件
- Nano 最常用的操作
- 配置文件场景里的高频用法
- 常用启动参数
- 推荐的
.nanorc
- 推荐的
- WSL / SSH 里的常见问题
- Vim 极简附录
- 我的建议
1. Nano 速查表
先看这个。你平时真正高频会用到的,通常就是下面这些。
1 | 打开文件 nano file.txt |
如果你只想先记住一套最小命令集,记这 8 个就够用了:
Ctrl+O保存Ctrl+X退出Ctrl+W搜索Ctrl+\替换Ctrl+K剪切当前行Ctrl+U粘贴Ctrl+_跳行Ctrl+G帮助
2. 为什么 Nano 特别适合改配置文件
如果你不是想把终端编辑器当主力代码编辑器,而只是想高效改配置文件,那 nano 的优势非常明显。
2.1 没有模式切换负担
nano 是无模式编辑器:
- 打开就能直接输入
- 不需要先按
i - 不需要记
:wq - 不容易发生“我到底现在在哪个模式”这种问题
这一点对临时改配置特别重要,因为你追求的是:
- 快速打开
- 改掉问题
- 保存退出
而不是研究一套复杂命令系统。
2.2 底部自带快捷键提示
nano 底部通常会直接显示帮助提示,例如:
^O写入文件^X退出^W搜索
这里的:
^表示CtrlM-表示Alt/Meta
这对配置文件编辑很友好,因为你不需要靠背诵完整命令系统才能开始工作。
2.3 在 Linux / WSL / SSH 环境里几乎随处可用
很多服务器、容器、WSL 环境里,nano 都更容易直接上手。
它特别适合这些场景:
- 远程机器突然要改一行配置
- 用
sudo编辑系统文件 - 改完就退出,不做复杂跳转
- 看日志、改 yaml、改 env、改 shell 配置
2.4 你本来就不打算用终端编辑器写大量代码
如果你的真实工作流是:
- 写代码用专门编辑器,比如 VS Code、JetBrains、Notepad++
- 终端里只负责改配置、修小问题
那 nano 通常更符合你的目标。
3. Nano 最常用的操作
这一节只讲配置文件场景里最有用的内容。
3.1 打开文件
最常见:
1 | nano file.txt |
打开常见配置文件:
1 | nano ~/.bashrc |
编辑系统文件:
1 | sudo nano /etc/hosts |
如果文件不存在,nano 会在保存时创建它。
3.2 保存
按:
1 | Ctrl+O |
然后回车确认文件名。
3.3 退出
按:
1 | Ctrl+X |
如果文件有改动但没保存,nano 会问你:
Y:保存后退出N:不保存退出Ctrl+C:取消这次退出
3.4 搜索
按:
1 | Ctrl+W |
输入关键词后回车。
这是改配置文件时最高频的操作之一,比如查:
proxytimeouthostlistenPATH
3.5 替换
按:
1 | Ctrl+\ |
然后按提示:
- 输入要查找的内容
- 输入替换后的内容
- 逐个确认,或者全部替换
这个功能非常适合改配置项,比如:
- 把端口
8080改成3000 - 把旧路径替换成新路径
- 把某个域名替换成新域名
3.6 跳到指定行
按:
1 | Ctrl+_ |
然后输入:
120表示跳到第 120 行120,8表示跳到第 120 行第 8 列
适合:
- 根据报错行定位问题
- 跳到配置文件中的某一段
3.7 剪切与粘贴
没有选区时:
Ctrl+K:剪切当前整行Ctrl+U:在当前光标位置粘贴
连续按多次 Ctrl+K:
- 会把多行连续剪下来
- 然后一次
Ctrl+U可以整段贴回去
这在调整配置块顺序时非常有用,比如:
- 调整
server段顺序 - 调整
alias或export的顺序 - 调整 docker compose 里的某个服务块
3.8 选择与复制
开始选区:
Ctrl+6- 或
Alt+A
然后移动光标,经过的内容就会被选中。
复制选区:
1 | Alt+6 |
剪切选区:
1 | Ctrl+K |
3.9 撤销与重做
较新的 nano 版本通常支持:
Alt+U:撤销Alt+E:重做
如果某些环境下 Alt 键不稳定,可以尝试:
- 先按
Esc - 再按
U或E
3.10 帮助
忘了按键时,直接按:
1 | Ctrl+G |
这是最稳的保底方案。
4. 配置文件场景里的高频用法
这一节只讲你真正会遇到的配置文件工作流。
4.1 改 shell 配置
1 | nano ~/.bashrc |
常见动作:
- 增加
alias - 修改
PATH - 增加环境变量
- 调整 prompt
改完后通常别忘了:
1 | source ~/.bashrc |
或:
1 | source ~/.zshrc |
4.2 改 Git 配置
1 | nano ~/.gitconfig |
常见动作:
- 改用户名和邮箱
- 配别名
- 配默认分支行为
- 配颜色或编辑器
4.3 改 SSH 配置
1 | nano ~/.ssh/config |
这个文件非常适合用 nano,因为通常只是:
- 增加一个
Host - 改端口
- 改用户名
- 改
IdentityFile
4.4 改系统文件
1 | sudo nano /etc/hosts |
这类文件一般不需要复杂编辑,只需要:
- 搜索
- 改几行
- 保存退出
这正是 nano 最擅长的场景。
4.5 改 YAML / Docker Compose / Nginx 配置
例如:
1 | nano docker-compose.yml |
这类文件的关键是:
- 不要改错缩进
- 快速搜索关键字段
- 尽量少做复杂文本操作
nano 在这种场景下比 vim 更不容易带来额外心智负担。
4.6 只读查看,避免误改
如果你只是想先看:
1 | nano -v file.txt |
非常适合:
- 先确认配置结构
- 查某个值
- 查某段内容
4.7 保存前自动留备份
如果你改的是比较关键的配置,建议:
1 | nano -B file.txt |
保存后会自动生成:
file.txt~
这对系统配置文件尤其有用。
4.8 根据报错直接跳行
1 | nano +87,1 nginx.conf |
很适合:
- nginx 报第几行语法错误
- shell 脚本报某一行
- yaml 报某一行格式错误
4.9 临时查看命令输出
1 | git diff | nano - |
这里的 - 表示从标准输入读取。
这个用法适合:
- 临时查看输出
- 复制一段内容
- 先人工读一下再决定怎么改
5. 常用启动参数
下面这些选项,和配置文件编辑关系最大。
5.1 显示行号
1 | nano -l file.txt |
5.2 只读打开
1 | nano -v file.txt |
5.3 启用鼠标
1 | nano -m file.txt |
5.4 软换行显示超长行
1 | nano -S file.txt |
它只是显示成多行,不会真的写入换行。
5.5 自动创建备份
1 | nano -B file.txt |
5.6 自动缩进
1 | nano -i file.txt |
5.7 Tab 转空格
1 | nano -E file.txt |
这个对很多配置文件有帮助,但要注意:
- 对
Makefile这类严格依赖 Tab 的文件要小心
5.8 记住光标位置
1 | nano -P file.txt |
5.9 打开时定位到指定行列
1 | nano +120,8 file.txt |
6. 推荐的 .nanorc
如果你主要是用 nano 改配置文件,我建议用一份偏实用、偏稳的配置。
用户配置文件通常是:
~/.nanorc
推荐示例:
1 | set linenumbers |
这些配置的含义:
set linenumbers:显示行号set mouse:启用鼠标set autoindent:新行自动继承缩进set softwrap:超长行按屏幕宽度显示set atblanks:软换行优先在空白处分行set historylog:记住搜索和替换历史set positionlog:记住上次光标位置set indicator:右侧显示滚动指示set minibar:底栏信息更紧凑include "/usr/share/nano/*.nanorc":启用系统语法高亮
6.1 一个更保守的版本
如果你不喜欢软换行,也可以用这个:
1 | set linenumbers |
这更适合:
- 代码片段
- yaml
- 不想看到长行自动换屏的场景
7. WSL / SSH 里的常见问题
7.1 终端粘贴和 Nano 粘贴不是一回事
这是最常见的坑。
nano 内部的剪切与粘贴是:
Ctrl+KCtrl+U
终端自己的系统粘贴通常是:
Ctrl+Shift+V- 鼠标右键
不要把这两套逻辑混在一起。
7.2 Ctrl+C 在传统 Nano 里不是复制
传统 nano 中:
Ctrl+C通常是显示当前位置等状态信息- 不是复制
所以最稳妥的复制方式仍然是:
- 选区后按
Alt+6
7.3 Alt 键不工作怎么办
有些终端里 Alt 不会直接传进去。
可以尝试:
- 按一次
Esc,再按目标键 - 检查终端是否把
Alt用作菜单快捷键 - 在终端里打开“Alt 作为 Meta 发送”之类的选项
7.4 nano -S 只是显示换行,不是真的插入换行
这个点很重要。
1 | nano -S file.txt |
只是为了让超长行看起来更容易读,不会真的改写文件内容结构。
7.5 关键配置建议先留备份
改重要系统配置前,优先考虑:
1 | nano -B file.txt |
或者你自己先复制一份:
1 | cp file.txt file.txt.bak |
8. Vim 极简附录
这一节只是为了防止你偶尔遇到 vim,不是为了让你系统学习它。
如果你并不想用 vim,其实只记下面几个就够了:
1 | i 进入输入模式 |
一句话理解:
nano更适合“改配置文件”vim更适合“长期高频文本操作”
既然你写代码本来就会用专门编辑器,那这里不用花太多精力。
9. 我的建议
如果你的目标已经很明确:
- 写代码用专门编辑器
- 终端里只想快速改配置
那我建议就是:
- 把
nano用熟 - 把上面的速查表记住
- 把
.nanorc配起来 - 遇到
vim时只会退出就够了
对你这种使用方式来说,最值得练熟的不是一整套 vim,而是这几个 nano 动作:
- 打开文件
- 搜索
- 替换
- 跳行
- 保存
- 退出
这已经足够覆盖大多数配置文件场景。