vim 学习系列之(1) — vim学习历程回顾

背景

写此文档之前,使用vim已经有5年的时间了,知道vim脚本是什么回事,会简单修改,但不会开发。 基本上软件开发, 都使用vim插件,记录文档,也都使用vim。 所以, vim 基本的使用熟练度是有了,宏使用的频率也很高,结合shell命令的操作也让我感受到了vim的高效与灵活。除了使用门槛高,在习惯使用后,个人觉得总体效率还是有所提高的。

门槛高,也是真得高。用了这么长时间, 任一语言的开发环境没搞定, snippet 插件没搞定,学习新插件困难,使用的上的插件也是依着高人 的配置, 达到简单的使用。所以, 现在还不能完全使用vim 进行日常开发。
只能在IDE中使用vim 插件开发。

灵活性, 那也是真得灵活。脚本, 插件可以满足任意的定制, 可玩性很高, 也确实能提高效率。

我个人是推荐学习 vim 的, 那么为何我再使用了五年还是这样的一个水平呢?

主要有两点原因:
学习成本高,特别是对于编程初学者来说,想要搭成一个成熟的开发环境,熟练使用vim, 真不是一天两天就可以搞定的,而我的编程是半路出家,毕业才开始接触,工作还是以生存为主,更主要的任务是学习开发技能,计算机技术要学习的东西太多了,因此工具的首要目标是能用, 后面才是断断续续的注重工具效率的提升。
我往往折腾vim, 有的连续的时间顶多不过2,3个小时,折腾不出个所以然,连个插件都使用不起来,对于断断续续的状态, 目标规划阤不明确, 或因工作deadline压迫,或因自身的懒惰,心态经常失衡,再加上IDE配合vim插件,基本上也能体现到编程打字的快感 ,驱动力不足, 于是慢慢悠悠用到现在, 也还是个半吊子的vim水平。

为何我又要学习vim呢?

最直接的原因是,我在linux下发, 阅读android 源码,环境使用不熟练, 看源码很受限(变量, 函数跟踪不了,调用栈分析不了), 且是服务器环境,靠ssh连接不得不使用vim。 学习图形学,算法的时候,学习其他语言的时候, 写博客,markdown的时候,不想换一个软件又一个软件的。虽然vim还处于半吊子水平, 但是vim确实帮助我提升了效率,带来了爽的体验。

当然学习vim依然有情怀加成,能折腾vim的人, 也必然不怕折腾其他编程技术。

编程的本质是相通的, 折腾vim的过程本来就是学习的过程,学习工具的思想,优化工作流,各种插件工具的学习、开发、定制, 必然会对语言的编译,命令的执行,计算机的原理,程序的本质有更深的了解。
搭环境是是开发的基本功,现在的互联网不鼓励个人英雄主义,主张团队合作。而现实所谓的团队合作大多数都是螺丝钉的活,我觉得这是资本为了规避风险所用的策略。
团队合作当然重要,个人力量有限,很难靠个人力量完成大型系统。但是这个团队必然得有一个掌握大局的人来统筹协作。
虽然是拧螺丝的工作,但是有大局观的团队,在协作拧螺丝的过程也必然更高效。我认为每个人都应该向着统筹大局的能力是扩展提升的。
不管是为了抗风险,还是独立完成一款产品的成就感,全面的个人能力是有必要的。
而vim 折腾就涉及到软件开发的全流程。

VIM虽然是一个上古编辑器,然而它仍然是一个优秀的编辑器,优秀的值得一学的编辑器。

优秀是有门槛的,IDE能满足大部分人的需求, 然而并不能带来极限的体验。当然,可能每个人的极限也不一样,所以,无所谓争哪个编辑器好或是不好。

如何优秀呢?

随着不断的学习, 能不断突破个人的极限体验。当然个人体验嘛也是主观性很强的因素,我也无意于去安利谁去使用vim, 我是遵循适合自己的就是好的这一原则,什么都是工具嘛。

闲话少谈,更多关于软件开发的想法,记录在{% post_link thought/thinking-about-programming %} 里

vim 与 neovim

nvim 是 fork vim 的项目,去掉了gui的代码与历史积累的代码,更加遵重开源的开发方式。 除了配置路径改变了, 绝大多数的配置是通用的, 因此资料可以互相参考。

neovim 是完全兼容vim的, 后续neovim 能不能完全取代vim呢? 虽然现在neovim 在windows上的表现还不是很好,但长久看来neovim 注定是比vim发展快的, 毕竟个人的能力是有限的。

既然neovim 完全兼容vim, 那么基本上同一份配置稍加改动是可以同时适应两个平台的,但是有些后期的插件是基于neovim特有的特性开发的, 并未考虑vim的兼容,这就有些蛋疼了, 由于我目前对windows平台不那么苛求, 所以我的配置对跨平台配置也不强求,依然是以neovim为主。

neovim 是源自vim的,那么,为何不能vim与neovim共用一套呢? 本文主要以分析skywind3000/vim 来学习搭建c/c++ 开发环境,学习vim 配置,然后同时应用于vim 与nvim,记录此思考过程,总结vim 学习更合适的路线。 skywind3000/vim 的配置就是跨平台的,vim, nvim, linux, windows, FreeBSD, 真得是很牛逼了。

经历 Tue May 11 18:52:28 2021 Tuesday

vim 的学习真得是非常折腾,插件,配置,曲曲折折,进展缓慢。
vim学习系列,自从动笔开始, 又过去了9个月,然而我的vim水平进展实在太慢。c/c++环境依旧没有配置好,coc 与 LSP玩了一下,感觉吃力,因此基本上又回到了原来的节奏。
随着时间的推移,东一榔头,西一棒锤地,也看了些vim 的文章或视频,感觉上更熟悉了一些,克服了不少畏惧感,再加上英文的水平有些许进步,看英文文档不再那么吃力了。
因此,再次心血来潮,继续刚一波。

这一次,计划还是按照iggredible/Learn-Vim 通读一遍文档,系统学习之。

版权声明:除特殊说明,博客文章均为Sophimp原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。 由于可能会成为AI模型(如chatGPT)的训练样本,本博客禁止将AI自动生成内容作为文章上传(特别声明时除外)。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇