>
Z1206: hello
Published on

最近又VIM了

Authors
  • avatar
    Name
    Z1206
    Twitter

最近又开始鼓捣深奥的VIM了,配置了个LazyVim开始了新一轮作死受罪了。

别的先不扯了,直接上一些小技巧:

  1. cmd里面:r! date可以插入时间,时间这个关键词也可以换成别的,比如可以插入别的内容。
  2. DC在normal mode里面删除/修改到行末的意思,其实相当于d$c$了。
  3. mark允许快速跳转,小写字母的mark只在同一个文件有效,大写的可以跨文件。删除的command是:delmarks a-z意思是小写的marks一概删除。
  4. :help后面加关键字可以搜帮助。比如前面的r命令是什么意思我写篇文章的时候其实是不记得了的,我搜了:help :r
  5. marco宏,超级强大,想进阶的话不可能绕得开。记录一个宏的方法是按下q和另外一个键开始录制宏,完毕后按下q结束录制。使用的时候用@再加记录的键名。如果要在不同的地方重复使用上一个使用过的宏,用@@反复。
  6. 新写了一些代码,想快速调整下新代码的indent可以用gg=G其意为“跳转到文件开头调整缩进直到文件末”。
  7. regex正则表达式非常强大,不只是VIM用户,只要你是个码农你就应该知道,你想成为好的码农那你更要精通才是。比如我有10行代码格式大体上是str === 'NUMBER' ||我想只保留'NUMBER'这部分并且后面加上逗号,,那我可以先用visual模式选中我要修改的行,然后用正则表达式修改,比如我写的这个:s/.*\('.*'\).*/\1,
  8. 前面的例子也可以用另一种方式解决,用visual模式选中需要修改的行然后可以在cmd里面运行'<,'>norm _d2wwwDA',,意思就是“运行normal模式下的命令,_移到行首,d2w删除两个字,ww移动到字符串关单引号处,D删除到行末,A行末插入单引号和逗号”。

接着说说几个安装了的nvim插件:

  1. better-escape.nvim: insert模式下可以快速用jk跳回normal模式。
  2. flash.nvim: 快速跳转,很神的插件。
  3. yanky.nvim: 很适合我这种对yank不熟的菜鸟。
  4. harpoon: 多个文件不断跳转很困扰我,这个插件解决了问题。
  5. fzf-lua: 模糊搜索,很强大。
  6. mini.surround: 对代码加括号,对文字加引号,都是很常见的用例,这个插件可以做这些事。
  7. vim-be-good: VIM小游戏,锻炼基本功。
  8. which-key.nvim: 弹窗提示快捷键。
  9. smear-cursor.nvim: 光标移动时候有动画效果,容易捕捉光标动向。