美文网首页程序员Linux系统工具
听说,撸代码,ide与vim更配哦

听说,撸代码,ide与vim更配哦

作者: 闲睡猫 | 来源:发表于2018-07-23 14:01 被阅读113次

    vim折腾记

    在选择编辑器上面,我是一个纠结的人,曾经年少的我执着地追求一款万能的编辑器,可以支持所有编辑语言,灵活可定制,可纯粹用键盘操作。符合这种条件的编辑器,非vim莫属。

    在投入vim阵营之前,我对其是敬而远之的。第一次使用vim,我的第一感觉是:

    "挖槽,这是什么鬼?行号没有,语法高亮没有,自动提示也没有,这跟txt有什么区别... 赶紧退出,靠,怎么还退不出?这反人类的东西还被誉为编辑器之神?“

    后来看了大神们对于vim的配置,才知道vim原来还可以这么玩,推荐阅读 老司机乱谈编辑器之神,这篇文章让我惊叹于vim的牛逼,感觉vim无所不能,开始想象着自己学会vim后,在其他人都用各种ide的情况下,我将vim窗口最大化,键指如飞,犹如弹钢琴的艺术家。这个装逼的场景,想想都觉得飘飘然...

    在各种酷炫功能的吸引下,我开始沉迷于如何折腾vim

    vim装逼插件

    装逼是人类的刚需

    vim的学习曲线比较陡峭,如果你是纯粹的小白,强烈推荐 简明 VIM 练级攻略,跟着此文练习几天,vim最基本的功能就熟悉了。

    对vim有初步的认知后,要进一步系统地学习vim,《Vim实用技巧(第2版)》是不二选择

    Vim实用技巧(第2版)

    掌握vim的基础命令后,我就开始了折腾vim的辛酸血泪史,一开始是自己配置.vimrc,后来看到网上有很多现成的配置,如号称vim终极配置的 spf13-vim,国内的 spacevim 将vim配置得如同开箱即用的ide

    在尝试各种vim配置后,没有哪一个配置是真正用得称手的,总有些坑在等着我,而且将vim打造得如此复杂,总感觉格格不入,貌合神离,且并没有ide好用。

    既然如此,为何要去折腾vim? 直接用ide不就行了?

    可是习惯了vim的模式切换,键位操作,再也无法去用ide那些奇奇怪怪的快捷键组合。

    最终的解决方案就是用 jetbrains全家桶,然后安装ideavim插件,既能享受ide集成环境的便利,又得继续使用强大的vim, 而且jetbrains全家桶已经囊括了主流编程语言,不管是写PHP(phpstorm), 还是撸python(pyCharm), 又或者是玩golang(GoLang),都有对应的ide,但使用起来就如同在用同一款编辑器

    vim常用命令

    vim是学不完的,即使是用了vim十年的老手,也不敢说完全掌握了vim。但常用的vim指令并不是很多,以下列举我常用的指令:

    光标移动

    • 0 到行头
    • ^ 到本行第一个不是blank的位置
    • $ 到行尾
    • g_ 到本行最后一个不是blank的位置
    • NG 到第N行 或者是 :N
    • w 到下一个单词的开头
    • e 到下一个单词的结尾
    • % 匹配括号移动
      • 和 # 匹配光标当前所在的单词,移动光标到下一个/上一个匹配单词
    • f{char} 到下一个{char}
    • t{char} 到{char}前的一个字符
    • Nf{char} 在当前行查找第N个出现的{char} 如:3fa
    • F 和 T 与 f 和 t 反方向
    • dt{char} 删除{char}之前的所有内容
    • ; 与 , 跳到下/上一个由f/F, t/T查找的字符

    替换

    • :%s/原文本/替换的内容/g 全文替换
    • :10,20/原文本/替换的内容/g 指定行号替换

    指定行数操作

    • :10,20y 复制10至20行
    • :10,20d 删除10至20行

    高效操作

    • . 重复上一次的命令
    • N<command> 重复某个命令N次
    2dd 删除2行
    3p 粘贴文本3次
    100idesu[ESC] 会写下100个 desu
    

    跳转

    • ctrl + o 回到上一处
    • ctrl + i 回到下一处

    书签

    • ma 设置当前文件的书签
    • mA 设置全局文件的书签
    • `a 跳到书签a
    • `A 跳到书签A
    • :marks 查看当前所有书签

    宏操作

    1. 首先,按下 q,然后按下你想要保存的寄存器,任何小写字母都可以。比如我们来把它保存到 q 这个寄存器中。按下 qq,你会发现命令行里已经显示了 "recording @q"。
    2. 如果你已经录制完成,那么只需要再按一次 q 就可以结束录制。
    3. 如果你想调用刚才录制的宏,只需要 [count]@q
    4. 如果你想调用上一次使用的宏,只需要 [count]@@

    实例:一个插入字符串 "abc" 后换行的宏,重复调用十次:

    qq
    iabc<cr><esc> # <cr> 表示回车键
    q
    10@q
    

    Tip: 如果是windows系统,ide启用vim插件的体验不太好,因为ctrl既是vim的功能键,又是windows功能键,两者会有冲突,用着不是很爽。mac的功能键是command键,避免了冲突问题

    如果觉得本文对你有所帮助,点个赞,或者赏杯咖啡钱,你的认可对我很重要

    相关文章

      网友评论

      本文标题:听说,撸代码,ide与vim更配哦

      本文链接:https://www.haomeiwen.com/subject/wgxjmftx.html