亲爱的猴子们,你们对 Vim 不陌生吧。
Vim 用起来看起来很爽,平时咱们没少背 Vim 的快捷键,不过,你们是知道的,背的学的使用太少,很快就从入门到放弃了。
咱们仍是只有一脸崇拜的看着 Devops 老哥在 Vim 里面熟练的敲敲打打。 不过,我最近找到一种学习的方法,不用太多功夫就能把 Vim 玩的 666。 下面,我会将本身学习的办法和实用小技巧分享给你们,Vim 从入门到上手不求人。vim
在咱们平常工做中,会使用 Idea 来写代码; 咱们若是能在咱们熟悉的 Idea 里面用 Vim 来写代码,想必上手确定是很是快速的,这也是上一篇文章程序猿划水指南中提到过的刻意练习---咱们经过在 Idea 安装 Vim 插件来让本身从温馨区进入了学习区。
接下来,咱们从最简单的安装插件开始,给你们分享 Vim 的使用方式和个人心得体会。编辑器
Preferences->Plugins->Marketplace->在搜索框输入 Vim
ide
~/.ideavimrc
里面修改 vim 的配置。
IdeaVim
和
IdeaVimExtension
在重启之后会报错。
Idea
,而后先安装
IdeaVim
而后再安装
IdeaVimExtension
如今,相信插件已经安好了,在 Idea 重启的时间里,咱们从最简单的模式提及吧。
众所周知,Vim 拥有 3 个 Model(模式)分别是:学习
Normal Model
用于在窗口编辑和移动,也能够进行快捷编辑View Model
用于选择大块内容的操做(复制、剪切、删除、替换)Insert Model
用于插入内容咱们在使用 Vim 编码时,选择合适的模式,会达到事半功倍的效果。 下面,咱们来看看进入 Vim 之后,咱们怎么移动光标的。编码
0
行头 $
行尾,不少操做后面加 0
和 $
也是同样的到行头和行尾j
k
上下 h
l
左右 与箭头同样能够达到目的。熟练之后,咱们就能在高大上的 66 键的HHKB上左右腾挪,上下翻飞了。w
b
移动下一个或上一个单词头上(
)
方法(空行)开头和方法结尾 {
}
方法(空行)间上下移动在 Normal Model
下咱们会有不少便捷的剪切&删除操做,并不须要到Insert Model
中。而且,Vim 中的剪切和删除是一个用法,只是看你把剪切进去的内容是否粘贴出来。
充分利用 Vim 中各类快捷操做咱们能够达到快速编辑内容的目的。idea
x
: 剪切光标选择的内容,Normal Model 剪切一个字母,View Model 剪切全部选中内容dw
:剪切一个词Normal Model
下,按r
而后再按字母,就能用输入的字母替换选中的字母。p
粘贴刚刚剪切掉的内容,若是在 View Model 下选择了部份内容,那其实是替换了选中内容。但是咱们要替换多个地方怎么办呢,不用着急。有 2 种办法,咱们来一个个试试看吧。spa
y
进行复制。再使用 View Model 选中须要替换部分的时候经过使用 "0p
进行替换。其中的 0
是数字零,这是内容在 Vim 寄存器中的编号,它和栈结构同样,先进后出。咱们经过改变0
便可以粘贴不一样的Tip::reg
能够查看相关的全部寄存器内容.net
Normal Model
下按:
进入命令模式,而后在出现的命令行中输入下列的命令进行替换:s/from/to - 用from替换当前行第一个to。
:s/from/to/g - 用from替换当前行全部的to。
:a,bs/from/to/g - 用from替换文件a行到b行全部的to。
复制代码
因为 Idea 的 Vim 插件对于替换支持的并很差,因此,建议直接在选中的内容上使用 Ctrl+C
Ctrl+V
来操做。插件
i
: 在光标前插入; I
: 在当前行第一个非空字符前插入; gI
: 在当前行第一列插入;a
: 在光标后插入; A
: 在当前行最后插入;o
: 在下面新建一行插入; O
: 在上面新建一行插入;D
:剪切从光标到行尾;dd
剪切光标所在一行yy
复制光标当前一行dj
/d↑
剪切光标所在和上一行,dk
/d↓
剪切光标所在和下一行。J
能够把下面一行缩进到当前光标一行~
能够改变光标选中部份内容的大小写u
是撤销刚刚的操做,Ctrl+r
是重作刚刚撤销的操做。r+<Enter>
将光标后面内容移动到下面新增的一行ci(
,剪切()之间的内容 di(
复制()之间的内容 yi(
zz
将当前行移动到屏幕中央。nnoremap <space>i<space><esc>
nnoremap <enter>i<end><enter><esc>
复制代码
上面是个人 map 配置,这样是为了在Normal Model
中能够用空格键和回车键来操做内容空格和换行命令行
只须要几天,也只须要几个业务,你会忽然发现,原来 Vim 用起来也并无那么难。
另外一方面,对 Vim 熟练 之后,不论是 Idea 仍是 VScode,不论是 Mac 仍是 Linux;对于你来讲都是它们都是一个 IDE ,无缝切换,浑然天成。
还有,建议你们收藏本网页,用来操做查询。 你们发现了其余更好用的操做套路,必定要与我分享,独乐乐不如众乐乐嘛。 最后,把个人快捷键记事本分享给你们。