- Published on
最近又VIM了
- Authors
- Name
- Z1206
最近又开始鼓捣深奥的VIM了,配置了个LazyVim开始了新一轮作死受罪了。
别的先不扯了,直接上一些小技巧:
- cmd里面
:r! date
可以插入时间,时间这个关键词也可以换成别的,比如可以插入别的内容。 D
和C
在normal mode里面删除/修改到行末的意思,其实相当于d$
和c$
了。- mark允许快速跳转,小写字母的mark只在同一个文件有效,大写的可以跨文件。删除的command是
:delmarks a-z
意思是小写的marks一概删除。 :help
后面加关键字可以搜帮助。比如前面的r命令是什么意思我写篇文章的时候其实是不记得了的,我搜了:help :r
。- marco宏,超级强大,想进阶的话不可能绕得开。记录一个宏的方法是按下q和另外一个键开始录制宏,完毕后按下q结束录制。使用的时候用@再加记录的键名。如果要在不同的地方重复使用上一个使用过的宏,用
@@
反复。 - 新写了一些代码,想快速调整下新代码的indent可以用
gg=G
其意为“跳转到文件开头调整缩进直到文件末”。 - regex正则表达式非常强大,不只是VIM用户,只要你是个码农你就应该知道,你想成为好的码农那你更要精通才是。比如我有10行代码格式大体上是
str === 'NUMBER' ||
我想只保留'NUMBER'
这部分并且后面加上逗号,
,那我可以先用visual模式选中我要修改的行,然后用正则表达式修改,比如我写的这个:s/.*\('.*'\).*/\1,
。 - 前面的例子也可以用另一种方式解决,用visual模式选中需要修改的行然后可以在cmd里面运行
'<,'>norm _d2wwwDA',
,意思就是“运行normal模式下的命令,_移到行首,d2w删除两个字,ww移动到字符串关单引号处,D删除到行末,A行末插入单引号和逗号”。
接着说说几个安装了的nvim插件:
better-escape.nvim
: insert模式下可以快速用jk跳回normal模式。flash.nvim
: 快速跳转,很神的插件。yanky.nvim
: 很适合我这种对yank不熟的菜鸟。harpoon
: 多个文件不断跳转很困扰我,这个插件解决了问题。fzf-lua
: 模糊搜索,很强大。mini.surround
: 对代码加括号,对文字加引号,都是很常见的用例,这个插件可以做这些事。vim-be-good
: VIM小游戏,锻炼基本功。which-key.nvim
: 弹窗提示快捷键。smear-cursor.nvim
: 光标移动时候有动画效果,容易捕捉光标动向。