Android Studio下Vim的使用

Android Studio下Vim的使用

之前都是用eclipse进行Android开发,最近开始使用AS,使用了一段时间发现这个真的好用,现在主要说下idea vim这个插件:

  • vim可以让我们在键盘上实现鼠标的操作

vim的安装

启动AS Ctrl+Alt+S弹出Settings窗口,选择Plugins,如图:
Android Studio下Vim的使用_第1张图片
找到后双击即可安装,安装成功后重启AS

默认快捷键修改

Ctrl+Alt+V vim模拟器开启/关闭(这个键位与AS快捷键冲突建议修改)

修改方法:Ctrl+Alt+S->Keymap
Android Studio下Vim的使用_第2张图片
双击找到的内容->Add Keyboard shortcut->输入自己的快捷键

vim使用

好了上面的都配置完成了,终于可以使用vim了。
这是在编辑器中按下i即可输入字符,按下ESC返回命令模式。
我们输入一个命令试试:zz ,光标瞬间跑到屏幕中间了。
命令显示在编辑器下方
这里写图片描述

ESC 插入模式->命令模式(退出插入模式)

other vim命令

idea vim插件使用
1.切换vim模拟器状态
Ctrl+Alt+V vim模拟器开启/关闭(这个键位与AS快捷键冲突建议修改,个人修改为Ctrl+;)

2.ESC 插入模式->命令模式(退出插入模式)

:set so=5 可以令屏幕滚动时在光标上下方 保留5行预览代码(也就是光标会在第5行触发向上滚动,或者在倒数第5行触发向下滚动)。在代码窗口比较狭小时(例如单步跟踪调试时)非常方便。可惜仅在Vim模拟器开启时有效。

3.行号定位
命令模式下输入 行号G 或 :行号<回车> 都能快速定位到某一行。区别在于前者在输入行号时屏幕上没有任何提示,后者则在Vim命令输入框中可以看到输入过程。(题外话:Sublime Text 2也是用 :行号 来快速定位到某行,应该是沿用了Vim的习惯)

4.进入修改
进入插入模式的方法有很多,直接选用合适的方式进入插入模式比进入后再用箭头键移动要好,常用的有:
o 在当前行下方插入新行并自动缩进
O 在当前行上方插入新行并自动缩进
i 在当前字符左方开始插入字符
a 在当前字符右方开始插入字符
I 光标移动到行首并进入插入模式
A 光标移动到行位并进入插入模式
s 删除光标所在字符并进入插入模式
S 删除光标所在行并进入插入模式(效果同 cc)
c 删除光标所在位置周围某个范围的文本并进入插入模式,关于范围请看第5点,常用的组合有:
caw 删除一个单词包括它后面的空格并进入插入模式;
ciw 删除一个单词并进入插入模式;
c Cc
r 修改光标所在字符,然后返回命令模式
R 进入覆盖模式

5.范围操作
某些命令模式的动作命令后面可以追加一些表示范围的指令,表示该动作将作用在整个范围上。
这类命令常用的有:
d<范围> 删除一定范围内的文本
c<范围> 删除一定范围内的文本并进入插入模式
y<范围> 复制范围内的文本 (使用p 粘贴)
v<范围> 选择范围内的文本
=<范围> 自动缩进范围内的文本
gU<范围> 将范围内的字符转换为大写
gu<范围> 将范围内的字符转换为小写

<范围> 将范围中的内容缩进一格
<<范围> 将范围中的内容取消缩进一格

常用的范围指令有:
空格 光标所在位置字符。(例如 gU空格 将光标位置字符转为大写)
重复某些动作命令 光标所在行。(例如dd删除一行,yy复制一行,cc删除一行文本并进入插入模式,>>当前行缩进一格,==自动缩进当前行)
$ 从光标位置到行尾
^ 从光标位置到行首,不包含缩进空白
0 从光标位置到行首,包含缩进空白
gg 到文件开头
G 到文件结尾
% 从光标位置到另一个匹配的括号
f<字符> 从光标位置到光标右边某个字符首次出现的位置,包括该字符
F<字符> 从光标位置到光标左边某个字符首次出现的位置,包括该字符
t<字符> 从光标位置到光标右边某个字符首次出现的位置,不包括该字符
T<字符> 从光标位置到光标左边某个字符首次出现的位置,不包括该字符
/正则表达式 从光标位置到下一个匹配正则表达式的位置(跨行)
?正则表达式 从光标位置到上一个匹配正则表达式的位置(跨行)
aw 一个单词加一个空格
in 一个单词
a” 一个字符串包括双引号
i” 一个字符串不包括双引号
a< 一组<>包含的文本,包括<>号本身
i< 一组<>包含的文本,不包括<>号本身
同理类推:a[,i[,a(,i(
注意:真正vim中的it范围(一对xml标签内部)在ideaVim中不生效。

用/或?命令查找时,正则表达式默认大小写敏感,如果需要不敏感,可以在正则表达式开始处加上\c标志。例如/\cabc可以匹配到ABC,下面提到的:s命令同样适用。

6.选择文本
在Vim中,选择文本需要进入“可视模式”(Visual Mode),
v 进入字符选择模式
V 进入行选择模式
Ctrl+v 进入块选择模式
进入相应模式后移动光标即可选中文本。过程中可按o键令光标在选区两端切换。
在块选择模式中选中多行,然后按I或A后输入文本,再退出插入模式,所输入的文本将自动加入到每一行的开头或结尾。

7.复制粘贴
在Vim模式下,复制粘贴并不直接使用系统的剪贴板,而是使用Vim提供的多个“寄存器”,每个寄存器都以一个字符来表示。关于寄存器的详细说明可以看。、、

8 一些插入模式下的常用快捷键
Ctrl+a 数字加1
Ctrl+x 数字减1
Ctrl+h 删除光标左边字符
Ctrl+w 删除光标左边单词
Ctrl+y 复制上方的一个字符
Ctrl+e 复制下方的一个字符
Ctrl+r0 插入前一次用y命令寄存的内容
Ctrl+r* 插入系统剪贴板的内容
Ctrl+r<寄存器名称> 插入指定寄存器的内容
Ctrl+a 插入前一次插入模式所键入的内容
Ctrl+o 执行一个命令模式下的命令然后返回插入模式。(例如Ctrl+oA 相当于按End键,Ctrl+o0 相当于按Home键)

9.退出插入模式
退出插入模式可以用ESC键,但是键位太远。也可以用Ctrl+[

10.重复操作
. 重复上一次的修改操作
& 重复上一次的:s替换命令
@@ 重复上一次执行的宏

11.跳转
Ctrl+]跳转到当前标识的定义位置(相当于在当前光标位置的单词上按住Ctrl用鼠标点击)
Ctrl+o 回退一步
Ctrl+i 前进一步
Ctrl+b 上一页
Ctrl+f 下一页
`.跳转到之前修改位置
“在前一次跳转位置与当前位置间切换
行号G 或 :行号<回车> 跳转到某一行
gg 跳转到文件开头
G 跳转到文件末尾
H 跳转到屏幕顶端(如果设置了:set so=n,则跳转到第n行)
L 跳转到屏幕底端(如果设置了:set so=n,则跳转到倒数第n行)
M 跳转到屏幕中间
f或F 跳转到本行某个字符,小写f向右查找,大写F向左查找。
t或T 跳转到本行某个字符之前,小写t向右查找,大写T向左查找。用;或,在匹配间切换
/正则表达式 跳转到下一个匹配。用n或N在匹配间切换。
?正则表达式 跳转到上一个匹配。用n或N在匹配间切换。
(结合前面第5点,你也许注意到了,在指定范围时,使用跳转命令将指定一个从光标位置到跳转目标的区域)

组合技能
ggvG 全选
xp 调换两个字符位置
yyp 复制一行
ddp 调换两行的位置
?^p 到类定义的位置

你可能感兴趣的:(android)