Vim快捷键总结

转载自http://hi.baidu.com/sebastianwade/item/f9158a2bfdec453b94f62b9f

分屏启动Vim:

1
2
vim -On file1 file2 ...        # 使用大写的O参数来垂直分屏
vim -on file1 file2 ...        # 使用小写的o参数来水平分屏

注释: n是数字,表示分成几个屏。

关闭分屏 :

1
2
Ctrl+W c     # 关闭当前窗口
Ctrl+W q     # 关闭当前窗口,如果只剩最后一个了,则退出Vim

分屏:

1
2
3
4
Ctrl+W s        # 上下分割当前打开的文件
:sp filename    # 上下分割,并打开一个新的文件
Ctrl+W v        # 左右分割当前打开的文件
:vsp filename   # 左右分割,并打开一个新的文件

移动光标:

Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W

1
2
3
4
5
Ctrl+W l       # 把光标移到右边的屏
Ctrl+W h       # 把光标移到左边的屏中
Ctrl+W k       # 把光标移到上边的屏中
Ctrl+W j       # 把光标移到下边的屏中
Ctrl+W w       # 把光标移到下一个的屏中

移动分屏:

这个功能还是使用了Vim的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。

1
2
3
4
Ctrl+W L     # 向右移动
Ctrl+W H    # 向左移动
Ctrl+W K    # 向上移动
Ctrl+W J     # 向下移动 

屏幕尺寸:

下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用Ctrl+W <或是>,但这可能需要最新的版本才支持。

1
2
3
Ctrl+W =    # 让所有的屏都有一样的高度
Ctrl+W +    # 增加高度
Ctrl+W -     # 减少高度
横向调整:
1
2
3
:vertical res(ize) num        # 指定当前窗口为num列 
:vertical res(ize)+num        # 把当前窗口增加num列 
:vertical res(ize)-num        # 把当前窗口减少num列

给窗口重命名:

1
:f file

多标签:

直接在编辑的时候输入:
1
2
3
4
5
6
7
8
9
10
vim -p <filename> vim -p *       #编辑当前目录的所有文件   
  
多个标签间进行切换时向右切换gt,向左切换用gT   
  
:tabnew filename      # 在编辑的时候想增加一个标签 
:tabc          # 关闭当前的tab 
:tabo          # 关闭所有其他的tab 
:tabs          # 查看所有打开的tab 
:tabp          # 前一个 
:tabn          # 后一个

文件浏览:

1
2
3
4
:Ex             # 开启目录浏览器,可以浏览当前目录下的所有文件,并可以选择 
:Sex            # 水平分割当前窗口,并在一个窗口中开启目录浏览器 
:ls             # 显示当前buffer情况(已打开了多少个文件) 
:b <序号/代号>   # 指定序号(代号)的文件在本窗口打开, 其中的序号/代号就是用:ls命令看到的.

还原 Vim 窗口大小:

1
: set  sessionoptions+=resize

关闭多窗口:

1
2
3
4
:qa      # quit all 
:wa      # write all 
:qa!     # force to quit all 
:wqa     # write, then quit all
VIM和shell的切换:

执行 shell 命令

1
:!{command}      # 从Vim内部执行单个shell命令

字符 "!" 也用在其它有个程序被调用运行的场合。让我们看一看共有哪些:

1
2
3
4
:!{program}                 # 执行 {program}
:r !{program}               # 执行 {program} 并读取其输出
:w !{program}              # 执行 {program} 传送文本至其输入
:[range]!{program}       # 经由 {program} 过滤文本

注意 "!{program}" 前面那个作用区产生的区别可大了。不附带作用区,这个程序就跟通常一样被执行,而加了这个作用区,作用区内的文本行就经由该程序过滤而出。用这种方法执行一系列命令也是可以的。但 shell 在此却更胜一筹。你可以用这种方法启动一个新 shell:

1
2
:shell                 # 进入新shell
<ctrl+D>/exit     # 退出shell,还原vim环境
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值