vim编辑器的使用
一张图记住vim快捷键

vim的几种模式
普通模式
插入模式
可视模式
搜索模式
命令模式
替换模式
增强模式
普通模式
此模式中你可以进行跳转、修改文本内容等操作,当然最重要的的还是在此模式下进入其他模式XD
在任何模式下按<ESC><ESC>即可进入普通模式
在此模式下可以进入其他模式i,INSERT进入插入模式v,<S-V>,<C-V>可分别进入可视模式,可视行模式,可视块模式/,?进入搜索模式:进入命令模式R进入替换模式Q进入增强模式
/和?均为搜索,前者为向后搜索,后者为向前搜索。搜索后,n向下一个搜索结果跳转,N向前一个搜索结果跳转
插入模式
此模式下可以插入文本内容
可视模式
此模式下可以对文本进行范围修改
命令模式
此模式可以执行各种命令,:!command可执行外部命令
一些简单命令的介绍wirte fileName将文件保存为fileName,如果没有fileName,则仅保存。可简写为w fileNamequit 退出vim,quit!为强制退出,即不保存退出。可简写为qedit fileName 编辑fileName的文件。help 获取帮助,可简写为h. 重复上一次操作[range]s/old/new/[option]将old替换为new[range]为范围,x,y代表从第x行到第y行
特别的:.为当前行[option]为选项,/g表示全部替换;/c表示需要确认;/p表示替换结果逐行显示
如要组合使用,应这样写/cgp,并非这样/g/c
替换模式
插入模式下按INSERT可进入替换模式
此模式下可将已输入的内容替换为将要输入的内容
example:
将wrod改为word
仅需将光标跳到wrod上,进入替换模式来重新打一遍word即可
在vim中移动
常规移动
j;k;h;l或<UP>;<DOWN>;<LEFT>;<RIGHT>
滚屏
单行<C-E> <C-Y>
半屏<C-U> <C-D>
整屏<C-F> <C-B>
单词间
w跳到下一个单词的后e调到单词最后一个字母b前一个单词的首字母
行中
0行首$行尾f{char}快速跳转到当前光标到下一个char出现的光标F{char}快速跳转到当前光标到前一个char出现的光标
段落间
}跳转到下一个空行,即下一段喽{跳转到上一个空行
文件中
]];G跳到文件底部[[;gg跳到文件顶部m{a-zA-Z}把当前光标位置设置标记'{a-zA-Z}跳到标记处'';``跳到跳转前的位置
相关命令::marks 查看已设置的标记:delmarks <marks> 删除marks标记:delmarks! 删除所有标记
在vim中进行改动
:read <file> 插入文件,将文件内容插入到光标所在位置
example:
将外部命令的返回值插入到所编辑文件中
:read !ls
I跳到当前行的最前面并进入插入模式a在当前光标后进入插入模式A跳到当前行的最后面并进入插入模式x删除光标所在字符d[move]删除(delate)
example:
dd #删除当前行
d5w #删除后5个单词
c[move]修改(change)
example:
cc删除当前行所有内容并进入插入模式
c$删除当前行所在光标后所有内容并进入插入模式
r将当前光标内容替换为将要输入的内容
打造属于你自己的vim,配置vimrc
每个人的vim都是独一无二的,动手打造属于你自己的vim吧
vim插件推荐
文件管理
preservim/NERDTree
vim主题
tomasr/molokai
代码注释
scrooloose/nerdcommenter
代码查错
w0rp/ale
自动括号
jiangmiao/auto-pairs
surround插件
tpope/vim-surround
回车选中块
gcmt/wildfire.vim
vim中文文档
yianwillis/vimcdoc
代码补全
neoclide/coc.nvim
markdown-preview
iamcco/markdown-preview.vim
markdown画表插件
dhruvasagar/vim-table-mode
markdown列表插件
dkarter/bullets.vim
vim使用技巧
vim中高效操作
[次数]+[范围]+[操作]+[动作]
example:
20dj意为将dj重复20次
自动格式化
让vim给你自动排列==排列当前行=是一个动作,后面可以加动作,当然前面也可以跟范围
example:
=gg从当前行排列到第一行
=G从当前行排列到最后一行
保存某范围内容到某个文件
lin1,lin2 wirte filename
example:
100-50,100+50 w filename
范围是可以使用表达式的
录制宏
q[寄存器名]录制,以后的操作可以录制下来,方便重复使用@[寄存器名]使用宏
折叠
让vim帮你折叠一些行,方便查看内容




