写在开头
我是个gopher&vimer,玩过的编辑器有sublime atom vscode。当然也用过笨重的IDE Goland。个人是比较爱折腾的人,我是很享受折腾后自己完成一个很棒的作品那种成就感,所以也选择了程序员这样的话行业2333,摸爬滚打也有个三四年了,虽然比较爱折腾但是却懒得写文章,可能从小被语文作文折磨过有阴影o(TωT)o 。
如何调教自己のVim
我的日常是这样的满足我写React Js go,毕竟you said JB without pic。
关于vim有多好用多强大 我就不多做赘述了,笔者也不敢说自己把vim玩的多明白,和那些用过几年甚至更久的大佬是没法比的,vim是很难上手很难折腾的一个东西,如果你是M那你不用vim简直可惜了啊!经常对身边的朋友以及我在的一些go群里推崇vim,但是很多人是抵触接触vim或者emacs,大部分并不想把时间浪费在一个编辑器上,更多的放在了coding上,可能国内这个行业日常工作都是较为繁重压得大家都没精力折腾了吧。如果没有个好的编辑器我是挺痛苦的,我会在想这个东西好丑啊,怎么没有这个功能那个功能啊的吐槽 ̄▽ ̄。言归正传那么刚入门vim如何调教自己的vim呢(你需要对vim的基本操作有了解网上教程很多这里不讲)简单演示一下:
Neovim or Vim
这个我感觉容易引战,不多说-,-笔者用的是neovim。这两者的感情纠纷大家可以google
插件配置
当你熟悉了vim的基操之后就可以上手配置自己的vim了,通过一些changelife的插件可以做到许多你想象不到的骚操作。简直amazing!!!很多新手比较喜欢clone别人的配置。我是不建议这样做的因为每个人的习惯不同日常使用的功能不同,可能clone下来你可能看不懂不知道怎么去改甚至一些键位的习惯你自己不是很舒服改来改去反而耽误更多时间,笔者是亲身经历过的,只能说是痛苦!建议就是你需要的插件一个个安装,需要什么安装什么,你可以在[Vim Awesom](Vim Awesome)这个网站查找你需要的插件。
如果你确实没什么时间但是又想用vim,现在有很多不错的vim配置例如[SpaceVim](
Homespacevim.org),或者用[PegasusWang](
PegasusWang/vim-configgithub.com),还有其他的配置感兴趣你可以去搜索,我个人是觉得是新手用这种大而全的懒人配置就像又在新学一门编辑器一样很kb。[SpaceVim](Home)可能大家都听过一直在维护也很不错的配置,[PegasusWang](
PegasusWang/vim-config
)这个是朋友的配置,也很不错的配置人也很nice使用中有问题你可以去叨扰他(=0=)y。
键位映射
这里是我个人在折腾的经验,也许并不适合你,折腾映射你需要了解vim的模式,键位在不同模式下是可以有不同的功能的,这里你可以参考[使用map定义快捷键](
简单聊聊Vim中的自定义快捷键 - 被欺负的大白 - CSDN博客blog.csdn.net),这篇文章比较详细的介绍了map在不同模式的定义以及生效的模式。个人经验
- Insertmode尽量用ctrl键做prefix,
- 建议把ctrl和capslock互换个位置
- 尽量少用shift键
- 推荐使用leader和localleader配合 减少使用递归按键映射
我是不喜欢在插入模式通过快捷键使用插件的时候在看到prefix出现在消失,比如leader是逗号`,`这个键位,有个插件的快捷键是`leader+W`,使用的时候就会打逗号在按w,那这个逗号就会先出现然后等待递归键位在继续操作,按下w之后就不见了执行插件了,我是很不喜欢这样的操作和视觉体验,我更希望prefix不会给我任何的反馈,slient执行。
ctrl键在左下角使用真的很不舒服,长时间小手指会很忙碌很累啊,如果是机械键盘你可以用手掌,用久了手掌也难受,mac可以直接在键盘里改修饰键就很舒服。刚开始会不习惯因为肌肉记忆是在左下角,坚持使用你会发现wow。
shift的话就是配合字母是大写嘛会和一些默认的vim键位冲突。
减少递归的意思就是不要让键位去等待,这里可能阐述的不清楚,比如这样的配置:
au FileType go nmap <Leader>goi <Plug>(go-info)
这是vim-go的插件里的go-info这个功能我定义的快捷键,它使用`,`+`goi`来执行,然后我还有个这样的设置
map
这是一个tagbar插件打开关闭的配置通过`,`+`g`来执行,那么当我按下`,`+`g`的时候vim会等待你是否有继续的输入,没有才会执行打开关闭tagbar就会有一个延迟。
The End
第一次在这种比较大的平台写文章。先写这些吧后续大家感兴趣继续更一些插件和好玩的东西
这里有一篇关于[Shougo大神的采访](
deoplete.nvim開発者、Shougoが考える「Vimの限界ギリギリ」を攻めるプラグイン開発の裏側 #エンジニアHub - エンジニアHub|若手Webエンジニアのキャリアを考える!employment.en-japan.com),创作了很多好用的插件。感兴趣可以看看哦
我的配置仅供参考
deoplete补全插件