很多人第一次认真面对Linux文本编辑快捷键,都是被一通操作逼到跟前的:装好了系统,打开终端改配置文件,输入vim /etc/nginx/nginx.conf,结果光标进去了,怎么输入都进不了字,越想退出越退不出。最后只能长按电源键,嘴里冒出一句"这到底是谁设计的"。
我跟你说,这个感受太正常了。快捷键这种玩意儿,最大的问题不是"不存在",而是"太多了"。网上随便一搜就是几百条快捷键列表,密密麻麻,看完基本等于没看。真正能用的,永远是那二三十个高频组合。这篇东西我不打算给你堆一份复制粘贴来的大全,我就按我一个用了十几年Linux的人的真实使用习惯,把终端里的文本编辑快捷键、桌面图形编辑器里的快捷键、以及怎么把它们改成自己喜欢的方案,完整捋一遍。
内容包括三块:Vim怎么上手最不痛苦、Nano怎么快速求生、以及VSCode这类图形编辑器里哪些快捷键值得记。你如果是刚接触Linux的新手,或者用了很久还在跟编辑器搏斗的老手,这篇应该都能给你省点事。
1. 为什么Linux编辑器的快捷键总是"记不住"——先搞懂背后的设计逻辑
1.1 终端时代的"无鼠标"交互哲学
你去用Windows或macOS的编辑器,快捷键好记的原因是什么?因为有菜单栏、有工具栏、有鼠标右键,快捷键只是替代方案。但Linux终端里的编辑器,从出生那天起就面临一个残酷的事实:上世纪七十年代的终端,没有鼠标,没有图形界面,连功能键都不一定可靠。所有操作——移动光标、删除字符、保存文件、退出程序——都只能靠键盘完成。
这就导致了一个结果:终端编辑器的快捷键设计逻辑跟图形界面完全不一样。它不是"键盘替代鼠标",而是"键盘本身就是一切"。你不可能用"Ctrl+C复制,Ctrl+V粘贴"这种思路去理解Vim,因为Vim的设计出发点压根就不是"方便记忆",而是"手指不离开键盘主区域的情况下,用最少的按键完成最多的操作"。
这也是为什么Vim的方向键是h j k l而不是上下左右。方向键在键盘右下角,每次按上下左右,右手都得从字母区挪过去。你觉得挪一下没什么,写代码或改配置的时候,一天下来这个挪动动作要重复上千次。而h j k l就在键盘正中间,食指和中指自然放在上面,手腕几乎不动。省下来的不是那零点几秒,是连续工作几个小时后手腕的疲劳感。
1.2 Vim、Nano、图形编辑器,其实是三种完全不同的思维模型
很多人学Linux快捷键最大的误区,是用同一套思路去套所有编辑器。实际上,Linux生态里的文本编辑器快捷键至少分成三个流派:
- 模式流派(Vim):编辑器本身有"普通模式""插入模式""可视模式""命令模式"之分。按键在不同模式下含义完全不同。
j在普通模式下是向下移动光标,在插入模式下就是输入字母j本身。 - 组合键流派(Nano):和Windows软件的思路接近,使用
Ctrl+字母这样的组合键执行操作。知道Ctrl+O保存、Ctrl+X退出,基本就能干活了。 - 图形化流派(VSCode、IDEA等):有鼠标、有菜单栏,快捷键是加速工具。核心逻辑跟操作系统保持一致,
Ctrl+S保存、Ctrl+F查找,跨平台记忆成本低。
这三种模型的复杂度是递减的,但这是有代价的:Nano的快捷键好记,可是做复杂操作(比如"把下一个出现的'foo'改成'bar'")非常啰嗦;Vim学习曲线陡峭,但一旦熟练,你编辑文本的节奏感是完全不同的——不是"一个字母一个字母地打",而是"一句话一句话地操作"。
1.3 理解助记词,比背快捷键列表高效十倍
背快捷键从来不是靠硬背,而是靠理解命名规则。Vim的操作键几乎都有来源:
| 按键 | 英文来源 | 含义 |
|---|---|---|
d | Delete | 删除 |
y | Yank | 复制(可以理解为"抽出") |
p | Put | 粘贴 |
c | Change | 修改(删除并进入插入模式) |
w | Word | 单词 |
b | Backward | 后退一个单词 |
v | Visual | 可视选择 |
i | Insert | 插入模式 |
于是你会看到一个有趣的现象:Vim的操作命令可以像句子一样组合。dw就是"删除一个单词"(delete word),dd是"删除一行",yy是"复制一行",p是"粘贴"。cw是"修改一个单词",也就是删掉当前单词并进入插入模式重写。
这个规律一旦掌握,你就没必要背几百条快捷键了。你只需要记住十几个动词和十几个宾语,组合起来就是几百条命令。这是我愿意花大量篇幅讲Vim的原因——它不是一套需要死记的键位表,而是一门有语法的语言。
2. Vim:一套需要"过脑子"的快捷键系统,用熟之后效率极高
2.1 模式切换和光标移动:先把手指练出肌肉记忆
Vim对新手最大的门槛就是模式。打开Vim,默认在普通模式(Normal Mode),此时你按下键盘上的字母,不是在输入字符,而是在执行命令。想输入文字,得先按i进入插入模式(Insert Mode)。想退回去,按Esc。
这里有个绝大多数人最初崩溃的点:不知道当前处于什么模式。我给你的建议是,在.vimrc配置里加一行set showmode,这样屏幕左下角会一直显示当前模式。更现代的做法是装一个状态栏插件,比如vim-airline或lightline.vim,模式直接显示在底部状态栏上,一目了然。
解决"不知道自己在哪儿"的问题之后,第一优先训练的是光标移动:
| 快捷键 | 作用 | 记忆方法 |
|---|---|---|
h/l | 左移 / 右移一个字符 | h在最左边所以是向左 |
j/k | 下移 / 上移一行 | j像向下的箭头 |
0 | 跳到行首 | 就是行首位置 |
$ | 跳到行尾 | 行尾就是"终点",美元=end |
w/b | 跳到下一个 / 上一个单词开头 | word / backward |
e | 跳到单词结尾 | end |
gg | 跳到文件第一行 | G=Go to line |
G | 跳到文件最后一行 | 大写G=最后 |
:n | 跳到第n行(如:42) | 输入行号回车 |
Ctrl+d/Ctrl+u | 向下 / 向上翻半页 | down / up |
Ctrl+f/Ctrl+b | 向下 / 向上翻整页 | forward / backward |
% | 跳到匹配的括号 | 括号配对标 |
*/# | 跳到下一个 / 上一个与当前光标下单词相同的位置 | 搜索当前词 |
这里面最容易被忽略的是%和*。写代码时括号嵌套太深,光标放在左括号上按%,会直接跳到对应的右括号,写代码检查结构就快多了。而*可以让你不再用肉眼去一行行找同一个变量出现的地方,按下*,光标自动跳到下一个相同文本的位置,再按n可以继续往下跳。
2.2 编辑操作的核心公式:动词 + 对象
掌握了移动,编辑操作就是套公式。Vim的编辑命令由"操作动词"加"移动目标"组成:
| 组合示例 | 实际作用 |
|---|---|
dw | 删除当前单词 |
d$ | 删除光标到行尾 |
d0 | 删除光标到行首 |
dd | 删除整行 |
dG | 删除光标到文件结尾 |
cc | 修改整行(清空并进入插入模式) |
cw | 修改单词(删词并进入插入模式) |
yy | 复制整行 |
yw | 复制单词 |
p | 粘贴到光标之后 |
P | 粘贴到光标之前 |
x | 删除光标所在字符 |
r | 替换光标所在字符 |
u | 撤销 |
Ctrl+r | 重做 |
. | 重复上一次的修改操作 |
这里我特别想强调的是.键。很多人用了很久Vim都没意识到,在普通模式下按.,会自动重复上一个修改操作。比如刚才你把cat改成了dog,现在光标移到下一个cat上,按一下.,它就自动变成dog。这种重复操作的效率提升,在批量修改代码时是质变级别的。
还有u和Ctrl+r——撤销和重做。有个细节:Vim默认的撤销单位是"进入插入模式到退出插入模式"之间的全部改动。也就是说,你进入插入模式后连续敲了80个字符,退出后再按u,这80个字符会被一次性撤销。这个行为有时候让人抓狂,想撤销半个句子却整段没了。解决办法是在.vimrc里加一句:
set undolevels=1000这个只是设置撤销层级数量,解决不了"一次撤销整段插入"的问题。想要更细粒度的撤销,可以用i时不要写太长,写几句就按一下Esc再重新进入插入模式,这样每次小的输入段就是一个独立的撤销单元。这也是老Vim用户一个不太会被写进教程里的习惯。
2.3 查找与全局替换:处理文本最重要的三板斧
维护配置文件或改代码时,最常做的一件事是"找到某个内容,批量改掉"。Vim里这套操作的核心是:
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 向下搜索 | /关键词 | 按回车开始搜索 |
| 向上搜索 | ?关键词 | 反向搜索 |
| 查看下一个匹配 | n | next |
| 查看上一个匹配 | N | 上一个 |
| 高亮取消 | :nohlsearch | 去掉搜索后的高亮 |
| 当前行替换 | :s/旧/新/g | 只替换当前行 |
| 全文替换 | :%s/旧/新/g | 替换整个文件 |
| 全文替换带确认 | :%s/旧/新/gc | 逐个确认是否替换 |
补充解释一下:%s这个命令的组成含义:%表示整个文件范围,s是substitute(替换)的缩写,g是global,表示一行里的所有匹配位置都替换,而不是只替换第一个。最后的c是confirm,替换前会问你是否确认。如果你第一次用全文替换,我强烈建议带上c参数,因为"啪的一下全替换了然后发现有的不该替换"是新手最容易踩的坑。
另外一个超级实用的搜索技巧:
/关键字/回车之后按 n配合可视模式操作:按下v进入可视模式,选中一段文本,然后输入命令时,Vim会自动把选中的内容放进命令行里。比如选中一个变量名,输入:s/new_name/g,它就会变成:'<,'>s/new_name/g,只对选中的区域做替换。'<和'>是可视区域开头和结尾的标记。这个技巧在处理配置文件中的局部改动时非常救命。
2.4 多文件、多窗口:从编辑单个文件走向批量操作
真正开始用Linux维护项目时,你面对的不止一个文件。Vim处理多文件的基础操作:
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 保存 | :w | write |
| 退出 | :q | quit |
| 保存并退出 | :wq | 最常用 |
| 强制退出不保存 | :q! | 放弃修改 |
| 打开另一个文件 | :e 路径 | edit |
| 水平分屏 | :sp 路径 | split |
| 垂直分屏 | :vsp 路径 | vertical split |
| 切换分屏 | Ctrl+w再按方向键 | 窗口间跳转 |
| 打开新标签页 | :tabnew 路径 | 类似浏览器标签 |
对于刚开始接触Linux的人,至少要把:wq和:q!刻进骨头里。wq是保存退出,q!是放弃修改强制退出。这两个命令能保证你不管遇到什么情况都能安全离开Vim。
分屏在改代码时特别好用:打开主代码文件,然后:vsp 配置文件左右分屏,左边改逻辑右边改配置,不用在两个文件间来回切换标签页。切换分屏的快捷键Ctrl+w加方向键,第一次用会觉得别扭,但它是老Vim用户最离不开的功能之一。如果你用Vim编辑Markdown文档,左侧写正文右侧可以开一个实时预览终端,体验比想象中好得多。
3. Nano:不想折腾时最顺手的选择,快捷键设计直来直去
3.1 高频Nano快捷键:紧急求生这些就够了
Vim不是所有人的菜,这是事实。有些人只需要快速改个配置文件,不想也不可能花时间去学习模式切换。这时候Nano就是最好的选择。几乎所有主流Linux发行版都默认安装了Nano,就算没装,apt install nano或yum install nano一条命令的事。
Nano打开文件的方式:
nano /etc/nginx/nginx.conf进去之后你会发现屏幕底端一直显示着两行快捷键提示,这一设计很良心。核心快捷键就这些:
| 快捷键 | 作用 | 补充说明 |
|---|---|---|
Ctrl+O | 保存文件 | 按下后会询问文件名,回车确认 |
Ctrl+X | 退出 | 如果有改动没保存会再次确认 |
Ctrl+W | 搜索文本 | 输入关键字回车 |
Ctrl+K | 剪切当前行 | 不选文本时直接剪切整行 |
Ctrl+U | 粘贴 | 粘贴剪切的内容 |
Ctrl+C | 显示光标位置 | 显示行号、列号 |
Ctrl+_ | 跳到指定行 | 输入行号回车 |
Ctrl+F/Ctrl+B | 光标前进 / 后退 | 相当于左右方向键 |
Alt+6 | 复制当前行 | 然后Ctrl+U粘贴 |
有一个细节必须单独拿出来说:Ctrl+X退出时,如果文件有未保存的改动,Nano会问Save modified buffer?(是否保存修改),此时按Y是确认保存,按N是不保存直接退出。很多人第一次用的时候卡在这里,然后只能按Ctrl+C强制取消。实际上按Y之后,会再让你确认文件名,直接回车确认即可。这个确认文件名的步骤如果打错字,可能会把文件保存成别的名字,导致原文件没改动、新文件名出现在目录里。遇到这种情况,直接Ctrl+C中断,重新用正确的文件名保存就行。
3.2 Nano的复制粘贴细节,以及一个常见的坑
Nano的复制粘贴逻辑和Windows有点不一样,容易踩坑的点在于:
Ctrl+K剪切的是"当前行",而不是"光标选中的文字"。如果想要剪切部分文本,需要先用Alt+A设置标记起点,然后用方向键选中文本块,再按Ctrl+K剪切。- 粘贴是
Ctrl+U,这个快捷键在别的软件里是"撤销",但在Nano里是"粘贴"。这个混用让很多人吃过大亏。实际上Nano的撤销是Alt+U。
还有个小坑:在GNOME终端或其他图形终端里,往Nano里粘贴文本时,如果你用的是Ctrl+Shift+V(大多数Linux终端的粘贴快捷键),粘贴大段内容时会出现文本吞字符、行列错乱的情况。这不是Nano的问题,是终端软件对粘贴内容转义处理不同导致的。最简单的规避方案是:进入Nano的插入模式再粘。具体操作是先按Alt+R切到"替换模式",或者更直接一点——在把内容粘贴进终端之前,先考虑用其他方式处理,比如用脚本生成文件,而不是在终端里手动粘。这个经历我遇到过好多次了。
3.3 Vim和Nano怎么选
给个比较直接的判断标准:
- 你只是想改改配置文件,改完就保存退出,不想学任何多余的东西——用Nano。
- 你打算长期在Linux下写代码/写文档,愿意花一两周时间换未来十年更高的编辑效率——学Vim。
- 你两者都想会?我建议先Nano保底、再Vim进阶。这样至少保证任何时候都能在终端里改文件,不至于被编辑器卡住。
顺带提一句,如果你的服务器环境特别简陋,有可能既没装Nano也没装Vim,只有经典的vi。这时候vi跟Vim基本同源,操作逻辑一致,但可能没有方向键映射、没有语法高亮。类似vi下方向键不好使的问题,根源是vi版本太老或者终端类型识别错误。临时办法是用h j k l移动,或者敲set nocompatible后进入增强模式。不过既然已经说到这个程度,我的建议是:环境允许就直接装个vim,别在vi上浪费时间。
4. 离开终端:桌面环境下的图形化编辑器也有通用快捷键逻辑
4.1 从终端切回图形界面,别让两套快捷键互相打架
如果你在自己的电脑上装了带桌面环境的Linux(GNOME、KDE、XFCE等),大部分时间还是在Visual Studio Code或自带的文本编辑器里干活。这些图形界面的编辑器快捷键逻辑跟终端编辑器完全不同,但对你来说真正高频使用的其实就是一套通用键:
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 保存 | Ctrl+S | 到哪里都一样 |
| 撤销 / 重做 | Ctrl+Z/Ctrl+Shift+Z | 有的软件是Ctrl+Y |
| 复制 / 剪切 / 粘贴 | Ctrl+C/Ctrl+X/Ctrl+V | 和Windows完全一致 |
| 无格式粘贴 | Ctrl+Shift+V | 去掉目标文本的格式信息 |
| 查找 | Ctrl+F | 当前文件查找 |
| 全局查找 | Ctrl+Shift+F | 整个项目/目录查找 |
| 打开命令面板 | Ctrl+Shift+P | VSCode灵魂功能 |
| 多行光标 | Ctrl+Alt+上/下或Ctrl+D(部分软件) | 同时修改多处 |
| 调出终端 | `Ctrl+ `` | 在VSCode里打开集成终端 |
很多人从Windows转到Linux桌面后,第一个不适应的就是快捷键差异。好消息是,Linux桌面下的编辑器几乎完全继承了Windows那套组合键,Ctrl+C复制、Ctrl+V粘贴在绝大多数GUI应用里都好使。纯粹只写代码、只做文本编辑的话,图形界面的上手难度远低于终端编辑器。
这里重点说一下无格式粘贴(Ctrl+Shift+V)。你会发现从浏览器或PDF里复制代码片段,粘贴到编辑器时经常带上一堆背景色、字体样式,这在Markdown或代码文件里会引发格式混乱。无格式粘贴只保留纯文本内容,这个快捷键在所有Linux桌面环境和主流浏览器里都是通用的。VSCode里同样支持,不用在弹窗里点选粘贴选项了。
4.2 VSCode里最值得记的快捷键,以及Vim插件的取舍
VSCode是目前Linux下最主流的文本编辑器,没有之一。它最值得记的几个快捷键,跟"文本编辑"这个主题高度相关:
| 操作 | 快捷键 | 为什么值得记 |
|---|---|---|
| 打开文件快速跳转 | Ctrl+P | 输入文件名直接跳转,不用动鼠标 |
| 命令面板 | Ctrl+Shift+P | 所有操作都能在这里搜到 |
| 当前文件查找 | Ctrl+F | 基础功能 |
| 项目范围查找 | Ctrl+Shift+F | 跨所有文件搜索文本 |
| 切换终端 | Ctrl+` | 直接进入集成终端执行命令 |
| 文件树切换 | Ctrl+B | 打开/关闭侧边栏 |
| Markdown预览 | Ctrl+Shift+V | 编辑Markdown时的即时预览 |
| 打开设置 | Ctrl+, | 快速配置编辑器本身 |
VSCode有一个很流行的插件叫Vim,装了之后你在图形界面里也能用Vim的模式和快捷键。这个插件我自己的体验是:新手先别装,等你在终端里跟Vim已经建立肌肉记忆之后再说。因为VSCode的Vim插件和原生Vim有一个本质区别——你不可能完全脱离鼠标操作文件树、调试、Git等图形功能,所以你的操作习惯会被切割成"一半命令"和"一半鼠标",这种割裂感很容易让正在学习Vim的人感到挫败。
如果你已经决定装Vim插件,有两个设置建议:
{ "vim.useCtrlKeys": true, "vim.handleKeys": { "Ctrl+A": true, "Ctrl+F": false } }这样配置后,Ctrl+F在VSCode里仍然是普通的查找,不会被Vim的翻页逻辑劫持。Ctrl+A保留Vim的"行首"功能。这类键位冲突问题,是装了Vim插件后最可能的劝退点,上面这个设置能帮你省掉一大半烦恼。
4.3 终端与图形编辑器联合作业:快捷键之外的操作习惯
很多时候,终端编辑器和桌面编辑器不是二选一的敌人,而是配合关系。我自己常用的模式:
- 快速修改单个文件——直接终端里
nano或vim,不打开图形界面。 - 项目级代码修改——用VSCode,靠
Ctrl+P和Ctrl+Shift+F在文件与内容之间跳跃。 - 终端里的日志文件查看——用
tail -f让日志滚动,不需要编辑器。如果日志太长要搜索,管道给grep就行。
这套组合拳的好处是:能用Linux原生命令解决的问题不折腾编辑器,必须深度编辑的才交给图形编辑器。快捷键的学习必须围绕这个真实的工作流,而不是为了学而学。比如你在VSCode的Ctrl+Shift+F搜索出所有包含某个关键词的位置,这种操作在终端Vim里做虽然也能实现,但要输入:vimgrep加一大堆参数,效率完全不在一个量级。
5. 把快捷键改造成自己的——.vimrc 和编辑器配置的自定义思路
5.1 最值得自定义的几个Vim映射
快捷键不是用来膜拜的,是拿来改的。Vim有一个配置文件叫.vimrc,放在你的home目录下。这个文件里的每一行设置,都会在你每次启动Vim时生效。我挑几个"改完立刻提升幸福感"的配置:
" 显示行号 set number " 开启语法高亮 syntax on " 设置缩进为4个空格 set tabstop=4 set shiftwidth=4 set expandtab " 搜索时实时高亮 set hlsearch set incsearch " 把 jj 映射成 Esc inoremap jj <Esc>最后这条inoremap jj <Esc>是我最推荐新手加的一条。在插入模式下,连续按下jj就等于按了Esc回到普通模式。手指不用从字母区飞到大键盘左上角的Esc,能大幅减少击键距离。很多人最开始担心"我输入英文时会不会误触成退出",实际上jj连续出现是极少见的情况,即使真触发了,再按一次i就能回去,代价很低。
再说一个配置文件里的"为什么"。set expandtab的意思是按Tab时自动转换成4个空格而不是真正的制表符。这在写Python等项目时尤其重要,因为Python的缩进错误可能导致运行失败,而且空格和制表符混用会触发极其隐蔽的bug。统一用空格代替Tab,能在源头上避免这类问题。
5.2 键位映射的底层原理:map和noremap的区别
如果你去搜Vim配置教程,会看到map、noremap、inoremap、nnoremap这些容易混淆的写法。简单说:
map允许递归。意思是如果你用map把a映射成b,再次按b时,你之后所有b相关的映射也会被触发。这在某种程度上会引发连锁反应。noremap禁止递归。按a只触发b,b本身如果有别的映射不会被激活。
Vim配置的安全选择是noremap系列。因为你在改键位时往往并不知道某个键在其他插件里有没有映射,递归很容易造成意料之外的组合冲突。而noremap把这种风险直接掐死在源头上。
上面的inoremap jj <Esc>为什么是inoremap而不是map?i表示只在插入模式生效,noremap保证强制转换。如果你写的是imap,当jj本身的映映射链出问题时,按法就有可能是死循环——极端的场景里Vim会直接卡住。所以,能看到的所有老手配置里,几乎只用noremap这一类。
同理,如果你装了一些常见插件,也可能需要自定义键位。比如用 Vim 写 Markdown 时,预览快捷键在不同插件里各不相同。vim-markdown-preview的默认快捷键是:MP,或者你可以自己映射到F9:
noremap <F9> :MP<CR>5.3 用最少的时间把快捷键练成肌肉记忆
学习快捷键最忌讳的就是"一次学完所有"。人的短期记忆通道是有限的,你一天背五十条快捷键,第二天能记住五条就算不错了。
我的建议是分阶段练,一个阶段只练一个"动作族":
- 第一周:只练移动。在
vimtutor(Vim自带的交互式教程)里反复练h j k l、w b、gg G。目标不是背下来,而是手指形成条件反射。建议打开任意一个文件,强制自己不用方向键,只用h j k l移动光标,走完全文件。第一晚你会觉得很难受,到第三天基本就顺畅了。 - 第二周:练删除与复制。集中精力练
dd、yy、p、u。这四个键是编辑文本的核心循环,刻意多用,强迫自己删除整行用dd、恢复用u,而不是用鼠标选中再删。 - 第三周:练单词级操作。练
w、b、e、dw、cw。这是从"行级编辑"跃升到"词级编辑"的关卡,也是你真正感觉"用Vim写东西变快了"的节点。 - 第四周:练查找替换。把
/、n、N、:%s///g这一套练熟。这时你已经可以非常有效率地应对真实配置文件了。 - 持续保留一个习惯:每次遇到"重复性操作"时停下来想一分钟,能不能用快捷键解决。如果一时半会想不到,就打开
:help搜索。Vim内置帮助系统是所有编辑器里做得最完整的,/help语法在命令模式下直接敲:help 关键词就能查看。
这套流程跟健身差不多,贵在持续和刻意。你不需要每天练一个小时,你只需要让自己在日常编辑里刻意地、哪怕稍微难受一点地去用快捷键。坚持一个月,效果会非常明显。
提示:如果是完全的新手,我强烈推荐先完整过一遍终端里输入
vimtutor命令出现的教程。这个教程大概30分钟,你全程跟着敲一遍,对模式的敏感度会有一个质的提升,比自己找文档硬啃效率高多了。
6. 最后
写了这么多,其实我最想表达的只有一句话:快捷键没有"最好的",只有"最适合你的"。Vim再高效,如果你用着难受,那就没必要死磕;Nano再简单,如果你觉得功能不够,也大可去装个VSCode。工具的最终目的是让你把注意力从"怎么操作"转移到"要编辑什么"上面。
要说我踩过的坑,最深刻的一个就是:刚用Vim时盲目追求"把所有操作都在终端完成",结果因为不熟悉键位,改个配置文件花了半小时,反而让效率变得更低。后来我才想明白,真正该做的不是"越终端越好",而是"越顺手越好"。终端编辑器学一套基础功,图形编辑器用一套通用快捷键,以任务为目标选工具,这才是我现在的工作方式。
你如果还在Linux文本编辑的门槛上挣扎,不用着急。今天先把vimtutor过一遍,再把我上面列出的高频键位表存好,剩下的交给时间。两个月后再回来看这篇东西,你会发现那些曾经让你抓狂的快捷键,已经像呼吸一样自然了。