AndroidStudio-------IdeaVim插件

另一个好用的插件是IdeaVim,这个插件的作用是在Intellij中模拟Vim的操作方式。咋看上去,似乎是一个只有Vim的狂热玩家才会选用的插件。但事实上这个插件提供了一个非常实用功能,让它成为了我们这种普通开发者居家旅行的必备选择。

这个功能是,IdeaVim允许设置一个快捷键来激活或关闭IdeaVim模拟器,而且在激活或关闭时,会自动切换Keymap。也就是说,你在输入大段代码时,可以使用自己惯用的Keymap。在阅读代码,小范围修改,或者进行一些重复性修改时,可以切换到Vim模式。甚至你可以把“关闭IdeaVim”看做“增强的Vim插入模式”。有了Vim普通模式下的各种功能,就可以省去记忆大量快捷键的苦恼,而且本来熟悉vim使用,是程序员迟早都要遇到的问题。 


安装配置: 

在Setting -> Plugins -> Browse repositories中查找IdeaVim插件安装即可。

首次使用时,它会问你以哪个Keymap为基础创建Vim的Keymap。建议使用Default,否则一些自定义的快捷键可能会与Vim普通模式下一些按键冲突。

然后在Setting -> Keymap中查找Vim Emulator,设定激活/关闭IdeaVim模拟器的快捷键,我设定为Ctrl+;(分号)。注意你需要在你惯用Keymap和名为Vim的Keymap上分别作同样的设定(否则进入了Vim模拟器就退不出去,或者退出去了就进不回来)。默认Vim Emulator按键是Ctrl+Alt+V,会覆盖掉很常用的Extract Local Variable(抽取局部变量)快捷键,因此强烈建议重设。

另外,个人感觉AceJump比Vim常用的定位跳转(f/F, /查找等)好用,建议设定其在Vim Keymap中的快捷键。 


不熟悉Vim的朋友可在 http://sourceforge.net/projects/vimcdoc/files/pdf-manual/1.8.0/ 找到中文文档(对应Vim版本7.3)。下面随手列一些在IDEA常用且有用的操作(也就是IDEA本身做起来不方便的),这些操作均在Vim普通模式下发起,注意大小敏感,大写的字母可以按shift+字母输入(不知道什么是普通模式的朋友请看Vim文档): 

1. 在普通模式下输入 :s/正则表达式/替换文本/g 可以在当前行范围内查找替换。(在正常的IDEA中需要选中当前行后在当前选区查找替换) 

2. 在普通模式下输入 小数点 将在当前光标位置重复上一次修改操作。例如你在某一行进行了上述的查找替换,如果立即需要在另一行做同样操作,把光标移动到该行按小数点即可。 

3. yyp 复制当前行。 yy10p 复制当前行10次 

4. u 撤销修改 / Ctrl+R 重做修改 

5. q加任何单个数字或字母,录制后续操作,记录到名为该数字或字母的宏(Macro)中。在录制状态下按q结束录制。@加某个已录制的宏名(单个数字或字母),回放宏。录制的宏只要不被覆盖,会自动保存。重启IDEA后仍然有效。(在正常的IDEA中使用宏需要进行菜单操作,不甚方便) 

6. daw 删除一个单词,d$删除至行尾,d0删除至行首(包括缩进),d^删除至行首(保留缩进),dd删除当前行。删除后按p可以复制删除内容。 

7. J 直接把下一行连接到本行末尾,去除缩进 

8. % 跳到匹配的括号 

9. 10ib<ESC> 插入10个b。(数字)i/a/o/O(字符串)<ESC> 可插入n个重复字符串,i在光标前插入,a在光标后插入,o在下一行插入,O在上一行插入。注意在IDEA默认情况下输入“i字符”后会弹出自动补全菜单,需要多按一下ESC取消掉补全菜单。 

10. 在一个数字上按ctrl+a,可将该数字加1.  按ctrl+x可将数字减1. 按(数字)ctrl+a,可将光标数字加上输入的数字。 

11.  ~ - 将光标下的字母改变大小写。 g~aw - 改变当前单词的大小写。gU<空格> - 当前字母改大写。gu<空格> - 当前字母改小写。 gUaw - 当前单词改大写。 guaw - 当前单词改小写。 在字符串前面的引号上 gUf" - 字符串改大写。 

12. 行号G - 直接移动到某行。(使用IDEA的Ctrl+G会弹出对话框,且移动到的那行会自动居中,颇为眼花) 

13. H - 光标移动到屏幕第一行。 L - 光标移动到屏幕最后一行。 M - 光标移动到屏幕中间。 zz - 光标所在行居中。 

当然这里只是列出一些简单的常用操作。Vim模拟器的玩法远远不止上述这些,有兴趣但还不熟悉Vim的朋友阅读文档之余也可以看看《Pratical VIM》这本书 http://www.itpub.net/forum.php?mod=viewthread&tid=1734891 

你可能感兴趣的:(android,Studio)