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

章鱼喵_ · · 3526 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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更配哦

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3526 次点击  
加入收藏 微博
上一篇:以太坊部署
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传