Linux工具的配置

vim的配置:
/etc/vimrc

if  v : lang  =~   " utf8$ "   ||  v : lang  =~   " UTF-8$ "
   set fileencodings
= utf - 8 , latin1
endif

set nocompatible    
"  Use Vim defaults (much better!)
set bs=indent,eol,start        
"  allow backspacing over everything in insert mode
" set ai             "  always set autoindenting on
" set backup         "  keep a backup file
set viminfo
= ' 20,\"50    " read/write a .viminfo file, don ' t store more
            
"  than 50 lines of registers
set history=50        
"  keep  50  lines of command line history
set ruler        
"  show the cursor position all the time

"  Only  do  this part when compiled with support  for  autocommands
if  has( " autocmd " )
  
"  In text files, always limit the width of text to 78 characters
  autocmd BufRead *.txt set tw=78
  
"  When editing a file ,  always jump to the  last  cursor position
  autocmd BufReadPost 
*
  
\   if  line( " '\ "" ) > 0 && line ( "' \"") <= line("$") |
  \   exe "normal! g
' \ ""   |
  
\  endif
endif

if  has( " cscope " &&  filereadable( " /usr/bin/cscope " )
   set csprg
=/ usr / bin / cscope
   set csto
= 0
   set cst
   set nocsverb
   
"  add any database in current directory
   if filereadable(
" cscope . out " )
      cs add cscope.out
   
"   else  add database pointed to by environment
   elseif 
$CSCOPE_DB   !=   ""
      cs add 
$CSCOPE_DB
   endif
   set csverb
endif

"  Switch syntax highlighting on, when the terminal has colors
"  Also switch on highlighting the  last  used search pattern .
if   & t_Co  >   2   ||  has( " gui_running " )
  syntax on
  set hlsearch
endif

“双引号开始的行为注释行,下同 

“去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 

set nocompatible 

“显示行号 

set nummber 

“检测文件的类型 

filetype on 

“记录历史的行数 

set history
= 1000  

“背景使用黑色 

set background
= dark 

“语法高亮度显示 

syntax on 



“下面两行在进行编写代码时,在格式对起上很有用; 

“第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行; 

“第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编 

“写上很有用 

set autoindent 
set smartindent 

“第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格 

set tabstop
= 4  
set shiftwidth
= 4  

“设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号 

set showmatch 

“去除vim的GUI版本中的toolbar 

set guioptions
-=

“当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声 

set vb t_vb
=  

“在编辑过程中,在右下角显示光标位置的状态行 

set ruler 

“默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示 

set nohls 

“查询时非常方便,如要查找book单词,当输入到
/ b时,会自动找到第一 

“个b开头的单词,当输入到
/ bo时,会自动找到第一个bo开头的单词,依 

“次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词 

“时,别忘记回车 

set incsearch 

“修改一个文件后,自动进行备份,备份的文件名为原文件名加“
~ “后缀 

if  has(“vms”) 

set nobackup 

else  

set backup 

endif 

"  An example for a vimrc file.
"
"  Maintainer:    Bram Moolenaar <[email protected]>
"   Last  change :      2002  Sep  19
"
"  To  use  it ,  copy it to
"      for Unix and OS/2:  ~/.vimrc
"            for  Amiga :   s :. vimrc
"   for MS-DOS and Win32:  $VIM\_vimrc
"          for  OpenVMS :   sys $login :. vimrc

"  When started as  " evim " , evim.vim will already have done these settings.

" set path += c :/ prog / include

set nocp
filetype plugin on

if  v : progname  =~?   " evim "
  finish
endif
set guifont
= Bitstream \  Vera \  Sans \  Mono \   11
so 
$VIMRUNTIME / delmenu . vim
so 
$VIMRUNTIME / menu . vim


set tags
=./ tags

set tabstop
= 4
set shiftwidth
= 4

"  Use Vim settings, rather then Vi settings (much better!).
"  This must be first ,  because it changes other options as a side effect .
set nocompatible

"  allow backspacing over everything in insert mode
set backspace=indent,eol,start

" if  has( " vms " )
"   set nobackup         "   do  not keep a backup file ,   use  versions instead
" else
"   set backup         "  keep a backup file
" endif
set history
= 50          "  keep 50 lines of command line history
set ruler        
"  show the cursor position all the  time
set showcmd        
"  display incomplete commands
set incsearch        
"   do  incremental searching

"  For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
"  let  & guioptions  =  substitute( & guioptions ,   " t " ,   "" ,   " g " )

"  Don't use Ex mode, use Q for formatting
map Q gq

"  This is an alternative that also works in block mode ,  but the deleted
"  text is lost and it only works for putting the current register.
" vnoremap p  " _dp

"  Switch syntax highlighting on ,  when the terminal has colors
"  Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has(
" gui_running " )
  syntax on
  set hlsearch
endif
colorscheme desert
set enc=utf-8
set fenc=utf-8
set fencs=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

"" Encoding settings
if has(
" multi_byte " )
    
"  Set fileencoding priority
    
if  getfsize(expand( " % " ))  >   0
         set fileencodings
= ucs - bom , utf - 8 , cp936 , big5 , euc - jp , euc - kr , latin1
    
else
         set fileencodings
= cp936 , big5 , euc - jp , euc - kr , latin1
    endif
    
"  CJK environment detection and corresponding setting
    if v:lang =~ 
" ^ zh_CN "
         
"   Use  cp936 to support GBK ,  euc - cn  ==  gb2312
         set encoding
= cp936
         set termencoding
= cp936
         set fileencoding
= cp936
    elseif v
: lang  =~   " ^zh_TW "
         
"  cp950, big5 or euc-tw
         
"  Are they equal to  each  other ?
         set encoding
= big5
         set termencoding
= big5
         set fileencoding
= big5
     elseif v
: lang  =~   " ^ko "
         
"  Copied from someone's dotfile, untested
         set encoding=euc-kr
         set termencoding=euc-kr
         set fileencoding=euc-kr
     elseif v:lang =~ 
" ^ ja_JP "
         
"  Copied from someone ' s dotfile, unteste
         set encoding=euc-jp
         set termencoding=euc-jp
         set fileencoding=euc-jp
     endif
     " Detect UTF-8 locale, and replace CJK setting if needed
     if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
         set encoding=utf-8
         set termencoding=utf-8
         set fileencoding=utf-8
     endif
else
     "echoerr "Sorry, this version of (g)vim was not compiled with multi_byte"
endif

set path+=../include/
set path+=/Project/**/include/
"set syn=cpp

" Only do this part when compiled with support for autocommands.
if has("autocmd")

  " Enable file type detection.
  " Use the default filetype settings, so that mail gets 
' tw '  set to 72,
  " 
' cindent '  is on in C files, etc.
  " Also load indent files, to automatically do language-dependent indenting.
  filetype plugin indent on

  " Put these in an autocmd group, so that we can delete them easily.
  augroup vimrcEx
  au!

  " For all text files set 
' textwidth '  to 78 characters.
  autocmd FileType text setlocal textwidth=78

  " When editing a file, always jump to the last known cursor position.
  " Don
' do  it when the position is invalid or when inside an event handler
  
"  (happens when dropping a file on gvim).
  autocmd BufReadPost *
    \ if line(
"' \"") > 0 && line(" ' \ "" <=  line( " $ " |
    
\    exe  " normal g`\ ""  |
    \ endif

  augroup END

else

  set autoindent        
"  always set autoindenting on

endif 
"  has( " autocmd " )
set number


map <C-F12> :!ctags -R -I --c++-kinds=+p --fields=+iaS --extra=+q .<CR>

if has(
" cscope " )
set csprg=/usr/bin/cscope
set csto=0
set cst
set nocsverb
"  add any database in current directory
if  filereadable( " cscope.out " )
cs add cscope
. out
"  else add database pointed to by environment
elseif $CSCOPE_DB != 
""
cs add $CSCOPE_DB
endif
set csverb
set cscopetag
set cscopequickfix=s-,g-,c-,d-,t-,e-,f-,i-
endif

vim的智能补全:
这里我们采用omni补全办法。
下载 OmniCppComplete插件:http://www.vim.org/scripts/script.php?script_id=1520

Omni利用了工具ctags:
ctags -R -I --c++-kinds=+p --fields=+iaS --extra=+q .

vim相关配置文件:
/usr/ect/vim/
/usr/share/vim/
~/.vim

vim实现C++代码的智能补全功能:
c++的头文件:/usr/include/c++/4.4




你可能感兴趣的:(Linux工具的配置)