转载自:https://segmentfault.com/a/1190000011466454 作者:SF / 枫上雾棋
本文导航
◈ 安装03%
◈ 新手指南04%
◈ 移动光标05%
◈ 退出08%
◈ 删除08%
◈ 修改10%
◈ 撤销11%
◈ 复制粘贴剪切12%
◈ 状态13%
◈ 查找13%
◈ 替换15%
◈ 折叠16%
◈ 执行外部命令17%
◈ .vimrc18%
◈ 基本配置23%
◈ 取消备份23%
◈ 文件编码23%
◈ 显示行号24%
◈ 取消换行24%
◈ 显示光标当前位置25%
◈ 设置缩进25%
◈ 突出显示当前行26%
◈ 查找27%
◈ 左下角显示当前 vim 模式27%
◈ 代码折叠28%
◈ 主题29%
◈ 插件配置32%
◈ 树形目录32%
◈ 代码,引号,路径补全46%
◈ 语法高亮,检查50%
◈ 文件,代码搜索56%
◈ 加强版状态栏59%
◈ 代码注释63%
◈ git69%
◈ Markdown71%
◈ Emmet74%
◈ html 576%
◈ css 377%
◈ JavaScipt82%
◈ React91%
◈ Prettier93%
◈ 总结97%
Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使用 vim-plug 来管理插件等内容,有兴趣的同学下来可以自己了解和对比下。
安装
sudo apt-get install vim // Ubuntu
其他平台,可以自行谷歌。
新手指南
vimtutor // vim 教程
上面是史上最简单,最全面的Vim基础教程,至今无人超越。
下面是作者基于上面的归纳:
移动光标
hjkl
向前移动两个单词:2w
向前移动到第 3 个单词的末尾:3e
移动到行首:0
当前行的末尾:$
文件第一行:gg
文件最后一行:G
指定行:行号+G
跳转回之前的位置:<ctrl>+o
返回跳转之前的位置:<ctrl>+i
退出
进入正常模式:<esc>
不保存退出:q!
保存后退出:wq
删除
删除当前字符:x
删除至当前单词末尾:dw
删除至当前单词末尾,包括当前字符:de
删除至当前行尾:d$
删除整行:dd
删除两行:2dd
修改
插入文本:i
当前行末尾添加:A
替换当前字符:r
打开新的一行并进入插入模式:o
撤销
撤销:u
取消撤销:<ctrl>+r
复制粘贴剪切
进入可视模式:v
复制:y 粘贴:p
复制当前行:yy
剪切当前行:dd
状态
显示当前行以及文件信息:<ctrl>+g
查找
正向查找:/ (n:继续查找,N:相反方向继续查找)
逆向查找:?
查找配对的:% {,[,(
忽略大小写:set ic
取消忽略大小写:set noic
匹配项高亮显示:set hls
显示部分匹配:set is
替换
替换该行第一个匹配串:s/old/new
替换全行的匹配串:s/old/new/g
替换整个文件的匹配串:%s/old/new/g
执行外部命令
执行外部命令:!shell