vim的乐趣
vim有很多基础教程,我看过比较好的是learn vim progressively。
- % : Go to the corresponding (, {, [
- * (resp. #) : go to next (resp. previous) occurrence of the word under the cursor
Abstract:
-
vi & vim 有编译模式与命令模式,下述光标移动操作均为命令模式下操作;
- 下文中以 ^ 符表示 Ctrl 键被按下,如 ^F 标示 Ctrl 与 F 键被同时按下;
- 下文中以 + 号表示按下某键后再按另外按键,如 z + Enter 表示先按下 z 键,再按下 Enter 键;
1,在屏幕中移动光标:
vi & vim 命令行模式操作移动光标位置都是指移动到要编辑单词、字母的前面。
按键 操作描述
h 光标左移一个字符;
j 光标下移一行;
k 光标上移一行;
l 光标右移一个字符;
数值 + G 光标移至“数值”所指行的行首;
^H 光标移至当前屏幕显示首行的行首;
^M 光标移至当前屏幕显示的中间行的行首;
^L 光标移至当前屏幕显示的最后一行的行首;
2,在文件行内移动光标:
vi & vim 命令行模式操作光标行内移动,单词间以空格作为分隔字符,标点符号看作一个单词。
按键 操作描述
0 (数字零) 光标移动到光标所在行的行首;
$ 光标移动到光标所在行的行末;
w 光标移动到下一个单词的首字母前;
b 光标移动到上一个单词的首字母前;
e 光标移动到当前光标所在单词的最后字符前;
3,屏幕滚动:
按键 操作描述
^F 屏幕向下滚动一屏;==>屏
^B 屏幕向上滚动一屏;
^D 屏幕向下滚动半屏;==>半屏
^U 屏幕向上滚动半屏;
^E 屏幕向下滚动一行;==>行
^Y 屏幕向上滚动一行;
z + Enter 滚动屏幕,使当前光标所在行处于屏幕第一行;
z + . 滚动屏幕,使当前光标所在行处于屏幕中间行;
z + - 滚动屏幕,使当前光标所在行处于屏幕最后一行;
4, 多屏操作
4.1 启动时候分屏
vim -on/-On filename1 filename2....
- 小写的o表示水平拆分,
- 大写的O表示垂直拆分,
- n表示需要拆分的个数,最后面跟上拆分后需要打开的文件名称
4.2 运行期间分屏
按键 操作描述
:sp [filename] 水平拆分出一个窗格,后面可以接要打开的文件名,如果没有则将当前窗口进行拆分
:vsp [filename] 垂直拆分出一个窗格
:new [filename] 水平拆分
^w+s 等效于:sp不带filename效果
^w+v 等效于:vsp不带filename效果
4.3 运行期间光标移屏
按键 操作描述
^w+h 光标移动到左边窗口
^w+j 光标移动到下面窗口
^w+k 光标移动到上面窗口
^w+l 光标移动到右边窗口
4.4 运行期间屏幕切换
按键 操作描述
^w+H 将当前窗口移动到最左边
^w+J 将当前窗口移动到最下面
^w+K 将当前窗口移动到最上面
^w+L 将当前窗口移动到最右边
4.5 运行期间调整窗口大小
按键 操作描述
^w+= 一样大高度
^w+- 减小高度
^w++ 增加高度
^w+< 减小宽度 ==>后来才知道分着这么细
^w+> 增大宽度
4.6 运行期间关闭屏幕
按键 操作描述
^w+o 只留下当前窗口,其他窗口都进行关闭 ===>改命令很有作用!
^w+c 关闭当前窗口,若是最后一个 提示是否关闭
^w+q 关闭当前窗口,若是最后一个 仍然不提是关闭
^w+< 减小宽度
^w+> 增大宽度