两者都支持快速选择与替换,只是思路不同:nano 通过开启鼠标支持实现"点哪儿改哪儿",vim 则通过可视模式和文本对象实现更强大的键盘高效编辑。下面分别为您梳理核心操作和场景化方案。
两种编辑器快速编辑能力对比
| 编辑器 | 鼠标选择支持 | 快速替换 | 典型组合 |
|---|---|---|---|
| nano | set mouse 或 Alt+M 切换,单击定位光标、双击设置标记 |
Ctrl+\ 全文替换,Ctrl+W 搜索,支持逐个/全部替换 |
鼠标选段 + Ctrl+K 剪切 / Alt+6 复制 + Ctrl+U 粘贴 |
| vim | :set mouse=a 开启所有模式,可点击、拖拽选中、滚轮滚动 |
:s/old/new/g 当前行、:%s/old/new/g 全文、:%s/old/new/gc 带确认 |
v/V/Ctrl+v 可视选择 + s/x/y + p |
nano:鼠标 + 快捷键,适合轻量快速修改
开启鼠标支持(一次性配置)
在 ~/.nanorc 里加一行:
set mouse
这样以后每次启动 nano 都能用鼠标点击定位光标、双击设置标记。临时开启也可以启动时用 nano -m 文件名,或者在编辑中按 Alt+M 切换。
选中后快速修改(鼠标 + 键盘组合)
- 单击起点(或先按
Alt+A用键盘标记),再单击/移动光标到终点完成选择 - 选中后按
Ctrl+K剪切、Alt+6复制,到目标位置按Ctrl+U粘贴 - 想直接替换选中文本,可以先用
Ctrl+W定位关键字,再按Ctrl+\进入替换流程,按A替换全部、Y/N逐个确认
注意点 :开启鼠标后,从系统剪贴板往 nano 粘贴需要用Shift+右键或Shift+Insert。
vim:三种可视模式 + 文本对象,真正的"精准打击"
第一步:先开启鼠标(临时用鼠标时再开)
:set mouse=a 在所有模式启用鼠标,点击定位、拖拽进入可视模式、滚轮滚动都可用。想永久生效在 ~/.vimrc 加 set mouse=a。如果只想在插入/命令模式保留终端原生复制粘贴,可用 :set mouse=nv 或 :set mouse=c。
核心操作一:三种可视模式选区
| 按键 | 进入的模式 | 用途 |
|---|---|---|
v |
字符可视模式 | 选中一段字符(像普通编辑器拖选) |
V |
行可视模式 | 选中整行/多行(按上下扩展) |
Ctrl+v |
块可视模式 | 矩形块选择,用于列编辑 |
选完后接操作键即可:d 删除、y 复制、x 剪切、s 删除并进入插入模式(用于"选中后替换")、c 同 s、> / < 增减缩进。 |
||
| 核心操作二:查找替换(带范围和确认) | ||
| 命令 | 作用 | |
| ------ | ------ | |
:s/old/new/ |
替换当前行第一个 old | |
:s/old/new/g |
替换当前行所有 old | |
:1,10s/old/new/g |
替换 1--10 行 | |
:%s/old/new/g |
全文替换 | |
:%s/old/new/gc |
全文替换,每次替换前确认 | |
也可以先 v/V 选中一段,再按 :,vim 会自动填成 :'<,'>,此时输入 s/old/new/g 就只替换选中范围。 |
||
| 核心操作三:块操作批量注释/取消注释 |
- 批量注释 :
Ctrl+v进入块模式 → 选中要注释的行 → 按大写I→ 输入#或//→ 按两次Esc,所有选中行首都会插入注释符 - 取消注释 :
Ctrl+v选中行首的#或//→ 按x删除
核心操作四:文本对象------vim 效率的核心
这套命令配合d(删)/c(改)/y(复制)使用,是"选中 → 替换 → 保存"的最快路径:
| 命令 | 作用 |
|------|------|
|di(/di)| 删除括号内的内容(不动括号本身) |
|ci(/ca(| 修改括号内 / 含括号的内容 |
|di"/ci"| 删除/修改双引号内字符串 |
|diw/ciw| 删除/修改当前单词 |
|dit/cit| 删除/修改 HTML/XML 标签内内容 |
|dt)/ct)| 删除/修改到下一个)之前 |
例如把函数里整段参数改成新内容,只需ci(+ 输入新内容 +Esc,一气呵成,比鼠标选段更精准。
选哪个?
- 临时改个配置文件、对编辑器不熟 :nano 用
set mouse+Ctrl+\替换就能应付大多数场景,几乎零学习成本。 - 写代码、频繁重构、批量编辑:vim 的可视模式 + 文本对象 + 替换命令组合,效率会明显高出一个量级,投入时间学会后非常值得。