Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5503876
  • 博文数量: 922
  • 博客积分: 19333
  • 博客等级: 上将
  • 技术积分: 11226
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 14:33
文章分类

全部博文(922)

文章存档

2023年(1)

2020年(2)

2019年(1)

2017年(1)

2016年(3)

2015年(10)

2014年(17)

2013年(49)

2012年(291)

2011年(266)

2010年(95)

2009年(54)

2008年(132)

分类: LINUX

2010-04-02 20:54:45

这里包含在shell下执行vi,以及vi中关于文件操作的内容。


*打开一个文件file进行编辑等操作:

$vi file


*打开文件,并将光标置于第n行首:

$vi +n filename

这里输入得都是shell下进行得,是shell命令,打开之后光标在屏幕中间,而屏幕中间的行就是第n行。


*打开文件,并将光标置于第一个与pattern匹配的串处:

$vi +/pattern filename

这里输入得都是shell下进行得,是shell命令。


*在上次正用vi编辑时发生系统崩溃,恢复filename:

$vi -r filename 


*以只读方式打开文件:

$vi -R file

或$view file

这里输入得都是shell下进行得,是shell命令。其中view是unix得命令,有的linux有。


*vi下临时切换到shell执行shell命令:

输入“:!command”。

注意:这里command是命令名字(例如“ls”).


*查看当前编辑的文件和行号:

输入“[Ctrl]g”。

或输入“:args”,查看当前编辑缓冲文件状态(文件名).


*显示当前光标所在行的行号:

输入":nu".

这里只是在底部“状态栏”的位置显示一下当前光标所在的行号以及行。


*保存:

输入“:w”。

若输入":w file"(效果和另存为文件file一样).


*载入(创建)一个新文件("file"):

输入“:e file”。

或输入“:n file”。

或输入":hide e filename"。 

这里,类似于新建文件或者新打开一个文件,当前文件的窗口将会被待编辑的文件所占用,如果当前文件没有保存会提示的。实质上是隐藏当前文件到buffer缓存,打开另一个文件进行编辑,具体见缓存部分。


*在新窗口载入(创建)一个文件("file")

输入“:vnew file”。

或输入":vsplit file"

或输入":split file"

这将新开一个垂直的分割窗口,并在新开的窗口中载入相应的文件(:split file是水平窗口)。


*将当前文件以及改动保存到另外文件中

输入":w FILENAME".

这里,FILENAME是另外的文件名,执行之后仍然停留在当前文件中,只是目录中多了一个FILENAME文件(即另存为).


*只保存文章的某个部分到另外文件:

输入":#,# w TEST"。

这里的 #,# 就是要求您记住的行号范围(最小行号,最大行号),而 TEST 就是选定的文件名。


*向当前光标中插入另外的文件的内容:

输入":r FILENAME".

这里,FILENAME是要插入的文件名,r前面可以指定一个行号,表示把内容插在这个行号后面。


**在buffer缓冲内操作文件相关

*列出当前打开的文件,以及编号:

输入":buffers ".

或输入':ls'.

假设我们打开一个文件,之后用n来切换到另外一个文件中,或者用tabnew打开新文件,那么原来的文件以及现在的文件都会在buffers中,并且yy等命令复制的原来的文件的内容还能用。列表前面的前缀'%'表示当前文件,'#'表示可以用[Ctrl]^等切换的可用buffer,其他的可以查看:help ls或者:help buffers.


*切换成第N个缓冲:

输入"N ctrl^".

或输入":buffer N".

这里,注意第一种方法不用输入":",两个buffer文件之间也可用yy,pp.



*新开一个窗口,载入第N个缓冲区的文件:

输入":sbuffer N".

窗口默认是水平的。


*切换到下一个文件:

输入":bn".


*切换到上一个文件:

输入":bp".


*关闭当前文件:

输入":bw".

这样会关闭当前文件进入下一个buffer的文件,并且当前文件也会从buffer列表中删除。


*跳至下一个文件:

输入":n".

当然这里打开文件的方法应该是"$vi file1 file2 file3"才行。如果用"vi file1"之后用":n file2"这样不行。


*回到刚才编辑的文件:

输入"":e#".

或输入"[Ctrl]^"

例如运行了"vi a b c",当前编辑文件为a,:n跳至b,再:n跳至c,:e#回到b,想回到a的话用:ea。

**


*退出:

输入“:q”。


*保存退出:

输入“:wq”.

或者输入":x".

或输入"ZZ".


*强制退出:

输入“:q!”(可能未保存)。


*退出所有:

输入":qa".

这里如果打开多个窗口或者文件的时候,使用这个命令可以实现一次性退出。


*查看当前编辑缓冲文件状态(文件名):

输入“:args”。

阅读(849) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~