如何提升 Vim 技巧?

2021-01-19 10:11:13 +08:00
 FaiChou

自己已经不做互联网行业了, 但平时业余也写点脚本, 用 VSCode 感觉太重, 所以选择 Vim.

因为知道 Vim 有很多奇技淫巧, 但平时使用还是习惯那几个快捷键. 比如想删除一行再进行编辑, 之前习惯 dd 再 insert, 其实有更简便的 S; 再比如 a = "xyz" 想更换双引号为单引号, 使用 r 来一个一个替代, 其实有更简便的: 光标在 xyz 中, cs"'(change surrounding " to ').

尽管不知道这几个奇技淫巧也不耽误开发, 但学习了它会提升一定的效率. 自己闭门练习不会提升, 只会让效率低的快捷键成为码代码的习惯. 看他人使用 Vim 码代码会学习他人的 Vim 快捷键习惯. 除此之外 还有什么好的方法来学习这些奇技淫巧?

6825 次点击
所在节点    程序员
61 条回复
jdhao
2021-01-19 10:14:19 +08:00
编辑的时候,多想想有没有更快捷的方式,然后去搜索,八成是有比你现在编辑的方式更快的方案。
nthhdy
2021-01-19 10:16:49 +08:00
需求驱动。多用 vim 处理数据、做开发、读代码,这中间就会遇到各种需求的
ysn2233
2021-01-19 10:17:50 +08:00
多用就习惯了
FaiChou
2021-01-19 10:19:45 +08:00
@ysn2233 #3 多用就习惯了已经知道的快捷键, 我想学习更快捷的
lbyo
2021-01-19 10:22:18 +08:00
学到了,VSCode + Vim 目前体验不错
xubeiyan
2021-01-19 10:22:20 +08:00
有个 missing semester of computer science,你去搜一下。其中就有讲这个一节课
perapera
2021-01-19 10:26:52 +08:00
我自己的方法是拿张纸把自己的需求和相应的键位写下来,然后放在最显眼的地方,dd 用烦了就看一眼,一眼就能看到,久而久之就习惯了,要是一直不看就说明旧的键位也很顺手(不过楼主说的两个键位我从来没用过,学习了,哈哈
jasonyang9
2021-01-19 10:35:32 +08:00
change surrounding 是不是需要插件的,我试了无效。
anzu
2021-01-19 10:35:48 +08:00
比起 S 更习惯用 cc,我觉得与其找两个键,不如一个键重复两次。推荐看《 vim 实用技巧》,当你从入门到熟练后,可以试着放慢编辑速度,稍微思考或查找是否有更高效的快捷键组合。有些人用了 vim 后感觉没有提高的原因之一就是,他们一直在使用低效的入门快捷键组合。
Chingim
2021-01-19 10:36:01 +08:00
有本书可以翻翻 Practical Vim
Chingim
2021-01-19 10:36:54 +08:00
@jasonyang9 tpope/vim-surround
northisland
2021-01-19 10:40:22 +08:00
vim cheat sheet : https://vim.rtorr.com/

vim 周边插件(比如搞一下 nvim + pynvim )

然后了解一下上限


然后你会发现,还是 pycharm 好用。
rationa1cuzz
2021-01-19 10:41:15 +08:00
还是要多用,多搜
rainfd
2021-01-19 10:48:50 +08:00
看书《 Vim 实用技巧》,看 vim 相关的博客,自己研究太慢了,不如别人总结
FaiChou
2021-01-19 10:52:25 +08:00
@northisland #12 谢谢, vim 的 chectsheet 太多了 感谢再提供一个
unicloud
2021-01-19 11:03:31 +08:00
除了多用、多总结,真的没有什么捷径;即便有一百个人告诉你如何如何,还是得自己练习。
itgoyo
2021-01-19 11:20:29 +08:00
Vim 更多的是肌肉记忆,关于技巧啥的《 Vim 使用技巧》书里面的操作过一遍即便足够了解 Vim 的基本操作了,后面更多的就是看你用不用到所谓的 Vim 插件了,但是很多 vim 的插件,IDE 要么有类似的功能,要么已经有 dalao 移植了 vim 的功能过来,根据实际情况来吧,如果是 C,Python 、Go 这种确实 vim 也可以,但是你让我来写前端代码,对不起我还是选择 VSCode 或者是 Atom 、Sublime Text
AmoreLee
2021-01-19 11:39:44 +08:00
1. 看书:vim 实用技巧
2. 安装插件,https://github.com/amix/vimrc 推荐这套配置
3. 不断的实践
Qcui
2021-01-19 11:54:54 +08:00
上面大佬说到了 cc,让我想起,一个单词重复两次就是针对一行操作的这句话,比如:
y: 复制,yy: 复制一行
d: 删除,dd: 删除一行
c: 修改,cc: 修改一行
其它的有大佬补充没?
cmdOptionKana
2021-01-19 12:13:24 +08:00
终极技巧:IDEA 或 VScode + vim 插件。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/746177

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX