设置vim语法高亮显示和自动缩进

来源:互联网 发布:淘宝公司运营模式 编辑:程序博客网 时间:2024/04/29 02:48
1、配置文件的位置
    在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。
 
2、设置语法高亮显示
1) 打开vimrc,添加以下语句来使得语法高亮显示:
    syntax on
2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:
    export TERM=xterm-color
3、设置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 会自动地将当前行的缩进拷贝到新行,也就是"自动对齐”,当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。
 

记住上次打开的位置:
                     去掉对下面代码的注释:
if has("autocmd")
   au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
          注:这时用户要对家目录下的  .viminfo 文件拥有必要的权限(应该是读写权限),要不然也不会记住上次打开的位置

设置 VIM 搜索字符串高亮显示:

set hlsearch

set expandtab(是否在缩进和遇到 Tab 键时使用空格替代;使用 noexpandtab 取消设置)

set tabstop=2 : 设置tab的宽度 。说明:就是一个制表符等于几个空格.

softtabstop(软制表符宽度,设置为非零数值后使用 Tab 键和 Backspace 时光标移动的格数等于该数值,但实际插入的字符仍受 tabstop 和 expandtab 控制);
说明:
例如softtabstop=8,那么按下tab键,插入的就是正常的一个制表符;
如果设定 softtabstop=16,那么插入的就是两个制表符;
如果softtabstop=12,那么插入的就是一个制表符加上4个空格;
如果 softtabstop=4呢?那么一开始,插入的就是4个空格,此时一旦你再按下一次tab,这次的四个空格就会和上次的四个空格组合起来变成一个制表符。
换句话说,softtabstop是“逢8空格进1制表符”,前提是你tabstop=8



s”为表示替换动作,“%”表示所有行,“g”表示全文,“^”表示行首,“$”表示行尾。
:%s#/usr/bin#/bin#g       把文件中所有路径/usr/bin换成/bin或:%s/usr/bin/bin/g
:%d       删除全部   
dG                                               删除光标后所有行
:u                                             恢复上一步操作
:x                                           不提示,直接退出并保存
:1,$s/^M//g               将DOS格式文本转成Unix格式文本
:g/^/s//NewString/g       文本每行的行首添加字符串“NewString”
:%s/^/NewString/g              文本每行的行首添加字符串“NewString”
:g/$/s//NewString/g   每行的行尾添加字符串“NewString”
:%s/$/NewString/g          每行的行尾添加字符串“NewString”
:3,$s/^/NewString/        从文本的第3行至最后一行的行首全部插入字符串“NewString”

:%s/old_string/new_string/g 将文中“old_string”替换成“new_string”
:3,7s/old_string/new_string/ 将文件中的第3行到第7行中的“old_string”替换成“new_string”