vim 多文件操作常用命令

来源:互联网 发布:网上发短信软件 编辑:程序博客网 时间:2024/05/20 15:40

在目录 /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+^  快速在最近打开的两个文件间切换

 

 

多窗口操作

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

:split[sp]                        # 把当前文件水平分割
:split another-file      # 把当前窗口水平分割, 并装入another-file
:vsplit[vsp] another-file    # 把当前窗口垂直分割, 并装入another-file
:new another-file      # 同 ":split another-file"

:close                 # 关闭当前窗口
:only                  # 只显示当前窗口, 关闭所有其他的窗口
: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 值。