分类: LINUX
2010-04-02 20:56:55
vi 有时候可以用特殊的方式来显示你编辑的文件,例如多个窗口等。这里就将这类相关的命令集中了。
**让vi显示多个窗口(多缓冲区):
*水平分割当前窗口:
输入“:split”。
或输入“:sp”。
这样窗口会分为上下两部份,可以继续分割;之后在某一个窗口下,可以用“:n filename”或者“:e filename”在这个窗口内载入新文件。
*垂直分割当前窗口:
输入“:vsplit”。
这样窗口会分为左右两部份,可以继续分割;之后在某一个窗口下,可以用“:n filename”或者“:e filename”在这个窗口内载入新文件。
*一次打开多个窗口:
输入“vi -on file1 file2”。
这里只用两个文件举例,同时打开file1和file2,打开的窗口按水平方向分为上下两部份。
**
**在多窗口内操作:
*在上次和本次窗口间切换:
输入“[Ctrl]w w”。
*跳到左边的窗口:
输入“[Ctrl]w h”。
或输入“[Ctrl]w [Left]”。
最后一个键表示移动方向,和移动光标类似。
*跳到右边的窗口:
输入“[Ctrl]w l”。
或输入“[Ctrl]w [right]”。
最后一个键表示移动方向,和移动光标类似。
*跳到上边的窗口:
输入“[Ctrl]w k”。
或输入“[Ctrl]w [up]”。
最后一个键表示移动方向,和移动光标类似。
*跳到下边的窗口:
输入“[Ctrl]w j”。
或输入“[Ctrl]w [down]”。
最后一个键表示移动方向,和移动光标类似。
*扩大当前水平窗口:
输入“[Ctrl]w +”。
这里‘+’前面可以加输入一个数字,表示迭代次数。
*缩小当前水平窗口:
输入“[Ctrl]w -”。
这里‘-’前面可以加输入一个数字,表示迭代次数。
*扩大当前垂直窗口:
输入“[Ctrl]w >”。
这里‘>’前面可以加输入一个数字,表示迭代次数。
*缩小当前垂直窗口:
输入“[Ctrl]w <”。
这里‘<’前面可以加输入一个数字,表示迭代次数。
*最大化当前水平窗口:
输入“[Ctrl]w _”。
*最大化当前垂直窗口:
输入“[Ctrl]w |”。
*平分窗口:
输入“[Ctrl]w = ”。
*水平分割窗口:
输入“[Ctrl]w s”.
*垂直分割窗口:
输入“[Ctrl]w v”.
*退出当前窗口:
输入“:q”.
*退出并保存当前窗口:
输入“:wq”.
*退出全部窗口:
输入“:qa”.
*退出并保存全部窗口:
输入“wqa”.
**
**移动窗口
上下左右移动窗口位置的命令,是CTRL-W J/K/H/L (:help CTRL-W_H, …)。前提是开了多个窗口(:split或:vsplit)。注意,这里的H, J, K, L是大写的,小写的则表示移动到相应的窗口里面了.
*将窗口移动到左面:
输入"[Ctrl]w H".
*将窗口移动到右面:
输入"[Ctrl]w L".
*将窗口移动到上面:
输入"[Ctrl]w K".
*将窗口移动到下面:
输入"[Ctrl]w J".
**
**颜色相关:
*改变颜色主题(为evening):
输入“color evening”。
或输入“colorscheme evening”。
*改变主题颜色为默认:
输入“color default”。
或输入“colorscheme default”。
**
**pages tab标签打开多文件:
自从Vim发布7.0之后, 就开始支持标签或者叫标签页. 不像其它程序中的普通标签, Vim的标签页就像是将你打开的文件分组的一种方法. 每个标签能够保存几个打开的缓冲, 并且也能同时处理几个窗口. 实际上一个标签中用“yy”在另一个page中也可以p上去的。这里给出常用命令,更多帮助可以查看:help tabpage。
*启动的时候为每一个文件打开新的page:
输入“vi -p file1 file2”
注意:这里file1,file2是文件。
*打新page:
输入“tabnew”。
在当前tab page的后面打开一个新的空窗口的tab page.
*打新page并且编辑file:
输入"tabnew file"
*打开新page并执行命令:
输入"[count] tab {cmd}".
这里,新的tabpage在后面第[count]个page上面出现,":0tab {cmd}"将会在第一个位置得到一个新的标签.
":tab split" 使用一个新的标签页打开当前的缓存,即把split的分割窗口放到两个pages里面了。
":tab help gt" 打开一个tab page 同时执行了":help gt"命令.
*打开新page,并编辑在cursor下的文件:
输入“CTRL-W gf”。
**
**关闭tab page
当关闭最后一个窗口的时候也会关闭这个标签页命令如下。
*关闭当前page:
输入“:tabclose!”。
这里加'!'是强制关闭不管保存了,tabclose可以简化为tabc,实践发现":q"也行。
*关闭编号为{count}的page:
输入“:tabclose count”。
或输入“:tabclose! count”。
这里加'!'是强制关闭不管保存了,tabclose可以简化为tabc。
*关闭除了自身的其他pages:
输入“tabonly”。
或输入“tabonly!”。
这里加'!'是强制关闭不管保存了,tabonly可以简化为tabo。
**
**切换到另外page:
*切换到下一个page:
输入“gt”。
或输入“:tabnext”。
或输入“[Ctrl]PageDown”。
这里,tabnext可以简化为tabn,都是循环切换的最后一个之后就是第1个(第3个方法好像不管用?)。
*切换到第{count}号page:
输入“{count}gt”。
或输入“:tabnext {count}”。
或输入“{count}[Ctrl]PageDown”。
这里,tabnext可以简化为tabn,第一个page是1,都是循环切换的(第3个方法好像不管用?)。
*切换到上一个page:
输入“gT”。
或输入“:tabprevious”。
或输入“:tabN[ext]”。
或输入“[Ctrl]PageUp”。
这里,tabprevious可简化为tabp,tabNext可简化为tabN,没有tabP,切换循环,第1个之后就是最后一个(第4个方法好像不管用?).
*切换到前{count}个page:
输入“{count}gT”。
或输入“:tabprevious{count}”。
或输入“:tabNext{count}”。
或输入“{count}[Ctrl]PageUp”。
也就是后退{count} page,也是循环的,tabprevious可简化为tabp,tabNext可简化为tabN(第4个方法好像不管用?)。
*去第一个page:
输入“:tabfirst”。
这里tabfirst可简化为tabfir。
*去最后一个page:
输入":tablast"。
这里tablast可简化为tabl。
*列出所有pages它们包含的windows:
输入":tabs"。
这里结果中">"是当前的window,"+"是被修改的缓存。
*移动当前page到第N个后面:
输入“tabmove[N]”。
这里,tabmove可以简化为tabm使用0表示移动当前page成为第1个,不使用N表示当前page成为最后一个。
*在每一个page 中执行命令{cmd}
输入“:tabd[o] {cmd}”。
注意的是:它只执行每个page的当前窗口,如果有一个窗口出现了错误,那么就中断后面的访问。
这里,tabdo可以简化为tabd。
**
**文件浏览:
在vim 7.0以前,文件浏览功能由explorer.vim插件提供,在vim 7.0中,这个插件被netrw.vim插件所代替。这里说得是netrw.vim插件。使用vim尝试打开目录时,vim会自动调用netrw.vim插件打开该目录。
*打开当前文件的目录:
输入“:E”。
*水平分割窗口,并打开当前文件目录:
输入“:He”。
或输入“:Se”。
*垂直分割窗口,并打开当前文件目录:
输入“:Ve”。
*在前一个窗口打开文件:
输入“:P”。
这里,假设光标在目录的某一个文件上面,则在上次打开的窗口打开该文件(适合多文件窗口).
*新开一个垂直窗口,打开该文件:
输入“:v”。
假设光标在目录的某一个文件上面,则新开一个垂直窗口,打开该文件。
*新开一个水平窗口预览文件:
输入“:p”。
假设光标在目录的某一个文件上面,新开一个水平窗口预览文件,光标仍在该目录中,如果换其他文件再按p则仍在上面的预览窗口中显示新文件
*新开一个标签打开文件
输入“:t”。
假设光标在目录的某一个文件上面,新开一个标签打开文件。
*以不同模式显示目录中文件:
输入"i"。
这里,直接输入i就以不同的模式循环切换显示目录中的文件,如树型,列表等等。
*更多的命令查看帮助:
输入:[F1]
下面,列出一些简短的常用操作:
- 返回上级目录
c 切换vim的当前工作目录为正在浏览的目录
d 创建目录
D 删除文件或目录
i 切换显示方式
R 改名文件或目录
s 选择排序方式
x 定制浏览方式,使用你指定的程序打开该文件
**
**关于历史窗口:
*打开命令历史:
输入"q:".
这样,就可以打开命令历史窗口,查看以前输入过的命令行命令(就是在":"提示符号后面输入的命令)。选择其中的任何一个回车,相应的命令都会被执行。在最后一个空行上面回车就退出相应窗口。
*打开查找历史:
输入"q/".
这样,就可以打开查找历史窗口,查看以前查找过的字符串。选择其中的任何一个回车,相应的查找都会被执行。在最后一个空行上面回车就退出相应窗口。
**