linux .vimrc教程,vim配置文件~/.vimrc

在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本。

"设置编码

set encoding=utf-8

set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936

set fileencodings=utf-8,ucs-bom,chinese

"语言设置

set langmenu=zh_CN.UTF-8

"设置语法高亮

syntax enable

syntax on

"设置配色方案

colorscheme torte

"可以在buffer的任何地方使用鼠标

set mouse=a

set selection=exclusive

set selectmode=mouse,key

"高亮显示匹配的括号

set showmatch

"去掉vi一致性

set nocompatible

"设置缩进

set tabstop=4

set softtabstop=4

set shiftwidth=4

set autoindent

set cindent

if &term=="xterm"

set t_Co=8

set t_Sb=^[[4%dm

set t_Sf=^[[3%dm

endif

"打开文件类型自动检测功能

filetype on

"设置taglist

let Tlist_Show_One_File=0  "显示多个文件的tags

let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏

let Tlist_Exit_OnlyWindow=1 "在taglist是最后一个窗口时退出vim

let Tlist_Use_SingleClick=1 "单击时跳转

let Tlist_GainFocus_On_ToggleOpen=1 "打开taglist时获得输入焦点

let Tlist_Process_File_Always=1 "不管taglist窗口是否打开,始终解析文件中的tag

"设置WinManager插件

let g:winManagerWindowLayout='FileExplorer|TagList'

nmap wm :WMToggle

map :WMToggle "将F9绑定至WinManager,即打开WimManager

"设置CSCOPE

set cscopequickfix=s-,c-,d-,i-,t-,e- "设定是否使用quickfix窗口显示cscope结果

"设置Grep插件

nnoremap :Grep

"设置一键编译

map :make

"设置自动补全

filetype plugin indent on  "打开文件类型检测

set completeopt=longest,menu "关掉智能补全时的预览窗口

"启动vim时如果存在tags则自动加载

if exists("tags")

set tags=./tags

endif

"设置按F12就更新tags的方法

map :call Do_CsTag()

nmap s :cs find s =expand(""):copen

nmap g :cs find g =expand("")

nmap c :cs find c =expand(""):copen

nmap t :cs find t =expand(""):copen

nmap e :cs find e =expand(""):copen

nmap f :cs find f =expand(""):copen

nmap i :cs find i ^=expand("")$:copen

nmap d :cs find d =expand(""):copen

function Do_CsTag()

let dir = getcwd()

if filereadable("tags")

if(g:iswindows==1)

let tagsdeleted=delete(dir."\\"."tags")

else

let tagsdeleted=delete("./"."tags")

endif

if(tagsdeleted!=0)

echohl WarningMsg | echo "Fail to do tags! I cannot delete the tags" | echohl None

return

endif

endif

if has("cscope")

silent! execute "cs kill -1"

endif

if filereadable("cscope.files")

if(g:iswindows==1)

let csfilesdeleted=delete(dir."\\"."cscope.files")

else

let csfilesdeleted=delete("./"."cscope.files")

endif

if(csfilesdeleted!=0)

echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.files" | echohl None

return

endif

endif

if filereadable("cscope.out")

if(g:iswindows==1)

let csoutdeleted=delete(dir."\\"."cscope.out")

else

let csoutdeleted=delete("./"."cscope.out")

endif

if(csoutdeleted!=0)

echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.out" | echohl None

return

endif

endif

if(executable('ctags'))

"silent! execute "!ctags -R --c-types=+p --fields=+S *"

silent! execute "!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."

endif

if(executable('cscope') && has("cscope") )

if(g:iswindows!=1)

silent! execute "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.Java' -o -name '*.cs' > cscope.files"

else

silent! execute "!dir /s/b *.c,*.cpp,*.h,*.java,*.cs >> cscope.files"

endif

silent! execute "!cscope -b"

execute "normal :"

if filereadable("cscope.out")

execute "cs add cscope.out"

endif

endif

endfunction

"设置默认shell

set shell=bash

"设置VIM记录的历史数

set history=400

"设置当文件被外部改变的时侯自动读入文件

if exists("&autoread")

set autoread

endif

"设置ambiwidth

set ambiwidth=double

"设置文件类型

set ffs=unix,dos,mac

"设置增量搜索模式

set incsearch

"设置静音模式

set noerrorbells

set novisualbell

set t_vb=

"不要备份文件

set nobackup

set nowb

--------------------------------------分割线 --------------------------------------

--------------------------------------分割线 --------------------------------------

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值