当前位置: 首页 > 科技观察

Android如何使用Vim提高开发效率

时间:2023-03-14 22:28:16 科技观察

背景笔者虽然是Android开发工程师,但也接触过各种IDE(不仅限于Android开发)。不同的IDE往往有不同的快捷键,我们不可能对每个IDE都进行配置。事实上,现在大多数IDE都以插件的形式支持Vim。因此,你只需要掌握Vim的基本使用,就可以在支持Vim的IDE中快速上手,熟悉的操作,熟悉的感觉。Vim模式Vim可分为3种模式,即Normal模式、Visual模式和Insert模式。以下基本操作在普通模式下执行。三种模式的区别这里就不详细解释了。Bing搜索有很多相关的基础教程。三者之间的关系可以简单描述下图进行基本操作。光标移动注意区分大小写字母。直接看表,很容易理解。一开始会有些别扭,但习惯了之后,就会爱上他。k(Up)h(Left)l(Right)j(Down)词间定位键如果大写,则该词允许包含标点符号w(向前跳到词首)e(向前跳到词首)词尾)b(向后跳转到词首)行内定位键$(定位至行尾)0(定位至行首)^(定位至行首,忽略空格)f正向搜索ch字符,如果ch是字母,区分大小写F反向搜索ch字符,如果ch是字母,是区分大小写的块定位键{(跳到上一个代码块)}(跳到下一个代码块)%(定位到另一个匹配的括号)页面定位键gg(定位到页面的第一行)G(定位到页面的最后一行)??H(定位到当前页顶部,High首字母大写)M(位置到当前页中间,Middle首字母大写)L(定位到当前页底部,Low首字母大写)nG或ngg(定位到指定行,n表示行数,必须大于0,如果大于行数***行,会直接跳转到页面***一行)m和'(这是一对非常强大的命令,可以标记一个位置,然后在同一页面快速定位标记。m表示标记,a是字母,可以是26个字母中的一个,'是单引号,后面是前面标注的字母)滚动屏幕滚动键Ctrl+f(向下滚动一个屏幕内容,向前第一个字母小写)Ctrl+b(向上滚动一屏内容,向后首字母小写)半屏滚动键Ctrl+d(向下滚动半屏内容,向下首字母小写)Ctrl+u(向上滚动半屏内容,向上首字母小写))行滚动键Ctrl+e(向下滚动一行内容)Ctrl+y(向上滚动一行内容)编辑模式插入键i(在光标处插入,插入小写首字母)I(在行首插入line,insertfirstletteruppercase)a(insertancharacterafterthecursor,appendlowercasefirstletter)A(insertattheendoftheline,appendfirstletteruppercase)a(insertonthepreviousline)O(insertonthenextline)cc/S(清除当前行并进入插入模式)s(清除当前字符并进入呃插入模式)嗯,这个很简单,不会有贴图。Searchkeys/pattern(正向搜索)?pattern(反向搜索)n(搜索下一个)N(搜索上一个)*(当光标定位到一个词上时,查找下一个词)#(当光标定位到某个词时,查找上一个单词)Replacekey:%s/old/new/g(globallyreplaceoldwithnew):s/old/new/g(replacecurrentlineoldwithnew)注意,替换操作只对当前页面,因此在使用此替换操作时要小心。推荐使用IDE自带的重命名操作,对应的引用也可以一起重命名!剪切、复制、粘贴键dd(剪切当前行内容)D(剪切从光标处到行尾的内容)yy/Y(复制当前行内容)p(粘贴到光标处)P(粘贴到光标前)撤消键位置u(撤消上一步,IDE一般是Cmd+Z)简单,没有质感。组合运算组合运算可以看作是op+i/a+scope公式的应用。解释这个公式。OP就是我们前面提到的插入(c)、剪切(d)、复制(y),和没有提到的选中的选项(v),i表示在范围内,a表示包含范围标记,而scope是操作的范围。这个比较抽象,下面是一些常见的组合。如果在选中的文本键下用a替换i,也会包含符号vib(选中括号内的内容)viB(选中大括号内的内容)vi"(选中双引号内的内容)vi'(选中单引号内的内容)vi<(选择尖括号内的内容)同理,将选择操作(v)替换为插入(c)、剪切(d)或复制(y),也可以达到类似的效果。神操作IDE支持跳转到变量(方法)的定义或调用,Vim也支持,也很方便,把光标定位在方法名上,然后输入gd即可。用NavigateBackofAndroidStudio,查看方法调用非常方便NavigateBacksettingbrokenlanguage掌握了Vim后,以后如果使用新的IDE或开发环境,只要支持Vim,就能快速熟悉开发environment.当然很多IDE都提供了更完善的s快捷键,笔者的观点是Vim和IDE一起使用,可以取长补短。参考链接https://jasonliao.me/posts/2016-08-09-you-dont-know-vim.htmlhttps://vim.rtorr.com/lang/zh_cn/