观前声明
vim就是个编辑器,操作特别了一点,然后或许有人和你说vim能提高工作效率,或许吧,我是没怎么觉得他会比传统的方式快多少,毕竟写代码并不是一直敲键盘就行的,当你足够熟练vim可能就会提高工作效率吧,所以,如果你是为了提高效率才学习vim,我并不建议,vim的学习成本还是有的,性价比不高
那么我认为哪些人合适呢?
- 空闲时间多的,想体验新事物
- 觉得不用鼠标很酷的,喜欢敲键盘
其他的我就不太建议了哈。当然适当了解是很好的,投入的话性价比不是很高。
怎么学习vim呢?我不建议看书或者直接看各种技巧,因为这不是现有阶段用的上的,看得多又用不上很快就忘了,所以我建议大家学习vim,就从简单的输入开始用,遇到问题了就去查,这样才能记得住,所以学习成本还是有的
本文并不是直接罗列各种技巧各种术语,而是以一个一个的场景
来带大家体会vim是如何承担起鼠标的工作的,后续作者也会持续加入自己遇到的问题,喜欢本文的可以持续关注下。
本文所有的场景演示均是在linux环境
下
vim是什么
vim
其实就是一款编辑器,并没有什么特别的,他和vscode
、记事本
这些都是文本编辑器,比较特殊的点在于操作模式
以及扩展性
vim
主要有3种操作模式
normal
正常模式,光标移动,文本删除、复制、粘贴...insert
插入模式,文本的插入(输入)command
命令模式,特殊的命令,比如设置行号等等
除了这3中模式之外,还有其他的模式,但这三种是最常用的
模式之间的转换主要是通过<Esc>
键,好了,就介绍到这里,让我们开始使用vim吧
vim的使用
场景1:怎么进入vim啊?
vim是vi的升级版,在linux环境中,vi和vim实际上最终指向一般都是vim
,这里用vi单纯的是因为可以少打一个字符
vi text
的意思是用vi
编辑一个叫text
的文件,当然你也可以直接进入vi
,等最后编写完退出时指定保存的文件名就行
按下回车,我们就进入了vim
了,以下就是vim
的界面了,光标位于左上角,最底部的两行是特殊的
- 蓝色部分 是我们的 编辑区域
- 红色部分 是 状态栏,显示文件名,还有光标的位置
- 绿色部分 是 消息栏,显示当前的消息,这里显示的是新建了一个文件
场景2:怎么输入啊?
按下i键
进入 插入模式, 然后就可以输入了,可以看到当我们进入插入模式后,状态栏 显示 [+]
,这表示当前文件已经被修改了,消息栏 显示 -- INSERT --
这表示我们进入了插入模式,然后我随便输入了一点内容,想要换行输入回车键就可以到下一行了
当我们不想输入了,就按下<Esc>
退出插入模式,避免误修改文件,这时候应该可以看到 消息栏 没有显示插入模式的消息了
场景3:怎么移动光标啊?
退出了插入模式后,我想回到某个位置,怎么移动呢?
上下左右键当然可以移动,不过在vim
中,还可以使用hjkl
这4个键来进行移动,分别对应左上下右
场景4:怎么(保存)退出呢?
在 正常模式下
按下 :键
进入 命令模式
,这时候会发现 消息栏 多了一个冒号,并且输入的内容会显示在这里,然后输入 wq
表示保存并退出,输入 q
表示不保存直接退出,如果不允许这样操作,在后面加上 !
表示强制执行
所以最后是
:wq
保存退出:q
不保存退出:wq!
强制保存退出:q!
强制不保存退出
场景5:不是,怎么删不掉最后一个字符啊?
事实上,当你按下i键
后,输入的位置是在块状光标前面,所以你没法对最后一个位置的字符操作,至少目前是这样,那我们怎么让 输入的位置是在块状光标后面呢?
按下a键
就可以啦
场景6:怎么才能新增一行方便一点呢?不想移动到行首行尾在插入在换行,太慢了
在 正常模式下
按下o键
会自动在光标下新增一行,并进入插入模式,按下O键
会自动在光标上新增一行,并进入插入模式
场景7:怎么让光标快速移动到行首/行尾呢?
在 正常模式下
按下0键
光标会移动到行首,按下$键
光标会移动到行尾
场景8:怎么让光标快速在单词之间跳转呢?不想一格一格的移动
在 正常模式下
按下w键
光标会移动到 下一个 单词的 开头, b键
光标会移动到 上一个 单词的 开头,e键
光标会移动到 下一个 单词的 结尾
场景9:怎么删除当前行呢?
在 正常模式下
按下dd键
会删除光标所在行,按下2d
会删除当前行在内的以下2行,3d
4d
同理
场景10:怎么删除一个单词呢?
在 正常模式下
按下dw键
会删除从光标开始的单词,daw
会删除光标所在的单词,d2w
会删除光标所在单词在内的2个单词,d3w
d4w
同理
场景11:怎么直接删除光标前/后的内容呢?
在 正常模式下
按下D键
会删除当前行 光标后 的所有内容,d0键
会删除当前行 光标前 的所有内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通