最近一直在强迫自己练习使用XVim来编写iOS程序,搜集了一点资料,给自己做备忘。
模式的切换
Vim有3个模式,输入模式(Insert Mode),普通模式(Normal Mode ),视图模式(Visual Mode),彼此之间的切换也比较方便和快捷。这张表很直观描述模式的切换。
输入模式
通过按i时进入输入模式,但是这样的效率比较蠢,也没有效率,通常命令模式和输入模式的切换有Append,Insert,Replace,Subsitute 记作AIRS,这种记忆方法特别方便.
i:在光标之前插入;I:光标所在行的行首插入;
a:在光标之后插入;A:光标所在行的行末插入;
o:在光标所在的行的下面一行插入;O:光标所在行上面一行插入;
s:删除光标后的一个字符,然后进入插入模式;S:删除光标所在的行,然后进入插入模式;nS从当前行开始,删除向下 n 行并进入编辑模式;
r:替换光标所在处字符,结束替换;R:替换多个字符串,直到你按ESC结束向后替换;
普通模式下操作
正常操作都要在普通模式下,只有在需要情况下才切换到字符模式下;普通模式进入直接按ESC时肯定会切换回去的;
移动操作:
h左l右j下k上对应的箭头按键也是这样的,推荐使用hjkl;
0 -- 这是数字 “0”:移动到这一行的最前面字符处!!!!会把空格当成字符,因此就是最前端,哪怕你代码缩进了;
^--这个是移动到这一行非空的第一个字符处;
$--这个是移动到最后一个字符处;
num+ -- 光标下移到 n 行头,若没有 n 光标移到下行行头
num- -- 光标上移到 n 行头,若没有 n 光标移到上行行头
num$ -- 光标下移到 n 行尾,若没有 n 则移动到本行行尾
ctr+d 下移好几行
ctr+u 上移好几行
gg:回到顶部; G:回到尾部(所有大写可以通过shift+小写来实现,直接大写没有用)
常用的几个快捷键推荐:
1.
o/O: 非常好用,直接下一行输入或者上一行输入,用于保持代码格式很棒。
a/A:a这个直接光标后面输入,这个个人觉得比i好用很多,因为光标所在字母经常是要在后面输入。A这个是在这一行末尾输入。
dd:剪切光标所在行到缓存区,这个缓存区和mac系统缓存区是独立开来的。
yy:复制光标所在行到缓存区,这个缓存区和mac系统缓存区是独立开来的。
p/P:粘贴缓存区的内容,p是光标所在行下一行粘贴,P是粘贴到上一行。
s/S:S是删除当前光标所在行并且进入输入模式,比单纯的dd删除要好
r/R:在Xcode不是很推荐使用这个,因为没法触发Xcode的补全机制。
u/ctr-r:这个对应Xcode本身快捷键command+z,和command+shift+z,分别是撤销上一次操作和撤销上一次撤销的操作。至于采用哪一个那就见仁见智。
. 点功能在这里是执行缓存区里面操作,但是请注意首先撤销操作并不会记录在你的缓存区,而且你输入的代码如果是通过Xcode补全机制的话不会记录补全后的内容。