vim 多文件操作常用命令[持续更新]

http://blog.csdn.net/xiemeikj/article/details/5549392

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc 文件。

 

多文件操作

1、用vi同时打开多个文件
vi 1.text 2.text 3.text
——————————————————————
2、 多文件切换命令
:args  显示当前编辑文件
:next  切换到下个文件
:prev  切换到前个文件
:next!不保存当前编辑文件并切换到下个文件
:prev!不保存当前编辑文件并切换到上个文件
——————————————————————-
3、 定位首文件和尾文件
:first   定位首文件
:last    定位尾文件
——————————————————————
4、 快速文件切换
ctrl+^  快速在最近打开的两个文件间切换

 

5、其他定位命令

:hide e filename

:n filename

隐藏当前文件,打开另一个文件进行编辑

:bn 切换到下一个文件

:bp 切换到上一个文件

:bw 关闭当前文件

多窗口操作

vi -o file1.txt file2.txt   # 水平分割
vi -O file1.txt file2.txt   # 垂直分割

:split                         # 把当前文件水平分割
:split another-file      # 把当前窗口水平分割, 并装入another-file
:vsplit another-file    # 把当前窗口垂直分割, 并装入another-file
:new another-file      # 同 “:split another-file”

:close                 # 关闭当前窗口
:o nly                  # 只显示当前窗口, 关闭所有其他的窗口
:all                     # 打开所有的窗口
:vertical all         # 打开所有的窗口, 垂直打开

:buffers              # 列出所有的当前窗口
:buffer 2             # 编辑第二个窗口

:bd                     #关闭buffer
:bw                    #彻底关闭buffer

 

VIM7多TAB页操作

:tabnew [++opt选项] [+cmd] 文件            建立对指定文件新的tab
:tabc       关闭当前的tab
:tabo       关闭所有其他的tab
:tabs       查看所有打开的tab
:tabp      前一个
:tabn      后一个

 

 

设置语法高亮显示 
1) 打开vimrc,添加以下语句来使得语法高亮显示:
syntax on
2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:
export TERM=xterm-color

 

 

设置Windows风格的C/C++自动缩进(添加以下set语句到vimrc中)
1)不讨论制表符为8还是为4较好,这里设置(软)制表符宽度为4:
set tabstop=4
set softtabstop=4
2)设置缩进的空格数为4
set shiftwidth=4
3)设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
set autoindent
4)设置使用 C/C++ 语言的自动缩进方式:
set cindent
5)设置C/C++语言的具体缩进方式(以我的windows风格为例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
6)如果想在左侧显示文本的行号,可以用以下语句:
set nu
7)最后,如果没有下列语句,就加上吧:
if &term==”xterm”
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif

PS:
自动缩进有两个选项:
set autoindent
set cindent

autoindent 就是自动缩进的意思,当你在输入状态用回车键插入一个新行,或者在 normal 状态用 o 或者 O 插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是"自动对齐”,当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。

cindent 就不同了,它会按照 C 语言的语法,自动地调整缩进的长度,比如,当你输入了半条语句然后回车时,缩进会自动增加一个 TABSTOP 值,当你键入了一个右花括号时,会自动减少一个 TABSTOP 值。

 

############################################################

同一个窗口中复制和插入

方法一: 多文件打开方法:

我们可以使用命令:vi fstab fstab.bak, vi本身支持打开多个文件。

使用vi 命令 :buffers 列出当前打开的文件,以及编号,

使用:buffer I 来切换当前文件,可以使用 yy 和pp 来复制文件了。

操作顺序:

1、  输入命令,我们可以看到输出一下结果:

:buffers

1 %a + "fstab"                        line 12

2 # =  "fstab.bak"                    line 1

2、  切换到第二个附近,复制其中的内容:

:buffer 2

"fstab.bak" [readonly] 2L, 95C

3、  复制文件中的第一行内容:

yy

4、  切换回第一个文件:

:buffer 2

“fstab” 12L, 808C

5、  粘贴复制内容,在插入点录入 y复制命令:

p

 

方法二: 多窗口方法:

Vi本身也是支持多窗口操作,你知道么,看我们如何操作:

操作顺序:

1、  打开第一个文件 fstab:

vi fstab

2、  在vi里面打开第二个文件:

:new fstab.bak

是否看到vi把窗口切分为上下两个编辑窗?

3、  复制 fstab.bak中的内容,目前活动窗口为fstab.bak,我们输入命令 yy 复制当前行。

yy

4、  切换到fstab窗口,这个需要使用符合命令:

Ctrl + w j

命令的操作方法是同时按下 ctrl 控制键 和 w 键,松手后再按下 j键,是否已经看到光标移动到了下面的窗口。

5、  粘贴所选内容:

p

Ok,如何,文件复制完成了吧?

 

 

方法三:插入方法:

使用word,我们大多都使用过插入一个文件的方法,vi 也很cool,同样存在这个方法。

操作顺序:

1、  打开第一个文件 fstab:

vi fstab

2、  把光标放置到插入点,录入命令:

:r fstab.bak

3、  已经可以看到fstab.bak中的内容已经插入到了fstab。

 

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>