研发效率破局之道
葛俊
前 Facebook 内部工具团队 Tech Lead
34093 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 40 讲
开篇词 (1讲)
研发效率破局之道
15
15
1.0x
00:00/00:00
登录|注册

24 | VIM:如何高性价比地学习VIM的实用技巧?

fugitive
NERDTree
pathogen
在VIM中调用系统工具
使用管道
使用VIM作为其他工具的编辑器
VIM作为一个单纯的文本编辑器
主力IDE是否支持VI模式
文本对象
光标移动命令
使用各种命令进行工作
尽量让VIM处于命令模式
敲击主体键执行命令
一次学习,处处使用
可以在很多其他IDE、编辑器中作为插件使用
使得编辑更高效
可以大量减少按键次数
最炫酷的VIM技巧
插件推荐
VIM的学习曲线
VIM的强大功能
VIM与其他工具的集成
VIM不是主力IDE
查找、替换
编辑文本
移动光标
打开文件、退出、保存、设置
命令对象
数字 + 命令 + 命令对象
最佳工作流
命令模式
3. 在自己的工作环境中使用VIM
2. 学习VIM最常用的命令
1. 学习VIM的命令模式和命令组合方式
支持跨平台
独特的命令模式
思考题
总结
寻找合适的VIM使用场景
命令模式中的基础命令
命令的组合方式
VIM的模式机制
高效学习VIM的三步
VIM的使用技巧
如何高性价比地学习VIM的实用技巧

该思维导图由 AI 生成,仅供参考

你好,我是葛俊。今天,我来和你聊聊 VIM 的使用技巧。
在“特别放送 | 每个开发人员都应该学一些 VIM”这篇文章中,我和你详细介绍了 VIM 提高研发效能背后的原因。我推荐每个开发者都应该学一些 VIM 的原因,主要有两个:
独特的命令模式,可以大量减少按键次数,使得编辑更高效;
支持跨平台,同时可以在很多其他 IDE、编辑器中作为插件使用,真正做到一次学习,处处使用。
VIM 确实可以帮助我们提高效率,但面对这样一个学习曲线长而且陡的编辑器,我们很容易因为上手太难而放弃。所以,如何性价比高地学习 VIM 的使用技巧非常重要。
我推荐你按照以下三步,来高效地学习如何使用 VIM:
学习 VIM 的命令模式和命令组合方式;
学习 VIM 最常用的命令;
在自己的工作环境中使用 VIM,比如与命令行环境的集成使用。
接下来,我们分别看看这三步吧。

VIM 的模式机制

VIM 的基本模式是命令模式,在命令模式中,敲击主体键的效果不是直接插入字符,而是执行命令实现对文本的修改。

使用 VIM 的最佳工作流

在我看来,在命令模式下工作,效率高、按键少,所以我推荐你尽量让 VIM 处于命令模式,使用各种命令进行工作。进入编辑模式完成编辑工作之后也立即返回命令模式。
事实上,我们从命令模式进入编辑模式修改文件,之后再返回命令模式的全过程,就是一个编辑命令。它跟其他的命令,比如使用 dd 删除一行,并没有本质区别。接下来,我们一起看个具体的例子吧。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

VIM是Unix/Linux系统的基础编辑器,具有独特的命令模式和跨平台支持,可与其他工具结合使用。本文介绍了VIM的实用技巧、命令组合、设计命令、查找替换和可视模式的应用,以及在工作环境中寻找合适的VIM使用场景。学习VIM的三个步骤包括学习命令模式和命令组合方式、掌握VIM最常用的命令、在工作环境中使用VIM。此外,文章还分享了VIM与其他工具集成的适用场景,包括作为其他工具的编辑器、使用管道和在VIM中调用系统工具。通过这些技巧,读者可以更高效地使用VIM进行文本编辑,提高研发效能。文章还提到VIM的学习曲线较长,但只要愿意学习,就可以不断提高。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《研发效率破局之道》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(11)

  • 最新
  • 精选
  • 吴新星
    老师你好 在使用vim的过程中 一直被中文输入法困扰着: 在Insert模式下录入中文,然后进入Normal模式进行一些操作,这时候一定要把输入法切换成英文,否则录入的命令会被输入法拦截,当操作完成后又需要进入到Insert模式录入中文,这时候又需要切换输入法,多出来的两次输入法切换,比较影响效率 请问老师有好的解决方案吗(我在Mac环境下使用vim)

    作者回复: 有解决办法的。大概思路如下: 1. 引入一个能在命令行切换输入法的工具 2. 在VIM中切换到Normal模式的时候自动切换到英文,切换回来时自动切换中文。 请参考: https://www.zhihu.com/question/303850876 https://huangxuan.me/2018/10/06/vim-cn-im/ 我过两天在极客部落上详细写一下。

    2019-12-27
    2
    4
  • Marvin
    gg到文档头,o插入行,yy复制行,p粘贴,s删除并进入编辑,a光标移动到当前字之后进入编辑,v/ctrl+v视图选择,ctrl+i移动到行首进入编辑…喜欢vim,服务器无障碍,nice。

    作者回复: 是啊,抛开研发效能不说,使用VIM会有爽的感觉 :) 另外,ctrl+i 你是指 Shift+i吧?

    2019-10-24
    4
  • 我来也
    我常用的几个小命令: 普通模式下的 zt zz zb 用于把当前行移动到窗口顶部/中间/底部。 再就是插入模式下的Ctrl+o,再结合zz。 从编辑模式临时切回普通模式,执行了一个命令后继续回到编辑模式。 避免按esc退出编辑模式。

    作者回复: > 普通模式下的 zt zz zb 这三个我也经常用。尤其是zz。 另外,跟这几个有点类似的还有H,M,L。分别把光标挪到窗口最上方,中间,和最下方。 > 再就是插入模式下的Ctrl+o,再结合zz。 Ctrl+o临时切换回编辑模式我偶尔会用,但是从来没有结合zz一起用过。刚刚试了一下,好用!谢谢 :)

    2019-10-22
    2
    3
  • 二狗
    在Windows下用gvim学vim。d的组合键怎么用 我按d的组合键容易触发长按效果dd 比如我按dw 结果把整个文本全删了 按d( 结果触发d+shift 把光标后面都删了

    作者回复: 按键触发长按效果这个我还从来没有见过。是你的键盘有问题吗?在其他文本编辑器中输入不会出现重复的情况?

    2019-11-01
    3
    1
  • 于小咸
    发现了葛俊老师的个人博客!

    作者回复: 这个博客比较简陋,刚刚搭起来不久 :)以后会逐渐把我的关于研发效能的东西慢慢往上面放

    2019-10-21
    1
  • Jxin
    刚好明天周末,开始照着练手。

    作者回复: 的确是爱学习,赞!

    2019-10-18
    1
  • 搏未来
    看完发现我是小白,去学习了

    作者回复: 加油!

    2019-10-18
    1
  • 三件事
    老师 在一个1000多行文件里 我需要在三个不同的方法里改代码,要来回切换这三个方法。有没有啥好的办法?我现在是用 m 进行标记,但感觉还是不方便。

    作者回复: 这种情况使用三个mark应该是不错的办法了。 另外一个可能的办法是使用三个窗口。然后使用C-w 系列命令在窗口之间转换。C-w h|j|k|l| 切换起来还算比较方便。

    2020-03-29
    2
  • Alvin-L
    我在其他通用编辑器里有这么个功能,ctrl+d是向下复制一行当前行内容。vim里的操作就要yyp,如何设置成ctrl+d同样功能呢,这个习惯了

    作者回复: 添加这两行到.vimrc文件中即可: nmap <C-d> <Esc>Yp imap <C-d> <Esc>Ypi 第一行是普通模式中的设置。第二行是编辑模式中的设置。

    2019-11-13
  • Geek_a03aa5
    推荐两个高性价比插件 1. vim-surround 方便快捷地编辑成对的符号 2. easymotion 搜索并移动光标到指定位置
    2021-12-27
    1
收起评论
显示
设置
留言
11
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部