linux (debian) vim的配置

來源:互聯網
上載者:User

標籤:linux   vim   

vi /etc/vim/vimrc

編輯如下

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 一般設定 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 設定預設解碼 
set fenc=utf-8 
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 


" 不要使用vi的鍵盤模式,而是vim自己的 
set nocompatible 


" history檔案中需要記錄的行數 
set history=100 


" 在處理未儲存或唯讀檔案的時候,彈出確認 
set confirm 


" 與windows共用剪貼簿 
set clipboard+=unnamed 


" 偵測檔案類型 
filetype on 


" 載入檔案類型外掛程式 
filetype plugin on 


" 為特定檔案類型載入相關縮排檔案 
filetype indent on 


" 儲存全域變數 
set viminfo+=! 


" 帶有如下符號的單詞不要被換行分割 
set iskeyword+=_,$,@,%,#,- 


" 文法高亮 
syntax on 


" 高亮字元,讓其不受100列限制 
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white 
:match OverLength ‘\%101v.*‘ 


" 狀態行顏色 
highlight StatusLine guifg=SlateBlue guibg=Yellow 
highlight StatusLineNC guifg=Gray guibg=White 


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 檔案設定 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 不要備份檔案(根據自己需要取捨) 
set nobackup 


" 不要產生swap檔案,當buffer被丟棄的時候隱藏它 
setlocal noswapfile 
set bufhidden=hide 


" 字元間插入的像素行數目 
set linespace=0 


" 增強模式中的命令列自動完成操作 
set wildmenu 


" 在狀態行上顯示光線標所在位置的行號和列號 
set ruler 
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%) 


" 命令列(在狀態行下)的高度,預設為1,這裡是2 
set cmdheight=2 


" 使回格鍵(backspace)正常處理indent, eol, start等 
set backspace=2 


" 允許backspace和游標鍵跨越行邊界 
set whichwrap+=<,>,h,l 


" 可以在buffer的任何地方使用滑鼠(類似office中在工作區雙擊滑鼠定位) 
set mouse=a 
set selection=exclusive 
set selectmode=mouse,key 


" 啟動的時候不顯示那個援助索馬里兒童的提示 
set shortmess=atI 


" 通過使用: commands命令,告訴我們檔案的哪一行被改變過 
set report=0 


" 不讓vim發出討厭的滴滴聲 
set noerrorbells 


" 在被分割的視窗間顯示空白,便於閱讀 
set fillchars=vert:\ ,stl:\ ,stlnc:\ 


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 搜尋和匹配 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 高亮顯示匹配的括弧 
set showmatch 


" 匹配括弧高亮的時間(單位是十分之一秒) 
set matchtime=5 


" 在搜尋的時候忽略大小寫 
set ignorecase 


" 不要高亮被搜尋的句子(phrases) 
set nohlsearch 


" 在搜尋時,輸入的詞句的逐字元高亮(類似firefox的搜尋) 
set incsearch 


" 輸入:set list命令是應該顯示些啥? 
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$ 


" 游標移動到buffer的頂部和底部時保持3行距離 
set scrolloff=3 


" 不要閃爍 
set novisualbell 


" 我的狀態行顯示的內容(包括檔案類型和解碼) 
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} 


" 總是顯示狀態行 
set laststatus=2 


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 文本格式和排版 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 自動格式化 
set formatoptions=tcrqn 


" 繼承前一行的縮排方式,特別適用於多行注釋 
set autoindent 


" 為C程式提供自動縮排 
set smartindent 


" 使用C樣式的縮排 
set cindent 


" 定位字元為4 
set tabstop=4 


" 統一縮排為4 
set softtabstop=4 
set shiftwidth=4 


" 不要用空格代替定位字元 
set noexpandtab 


" 不要換行 
set nowrap 


" 在行和段開始處使用定位字元 
set smarttab 


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" CTags的設定 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 按照名稱排序 
let Tlist_Sort_Type = "name" 


" 在右側顯示視窗 
let Tlist_Use_Right_Window = 1 


" 壓縮方式 
let Tlist_Compart_Format = 1 


" 如果只有一個buffer,kill視窗也kill掉buffer 
let Tlist_Exist_OnlyWindow = 1 


" 不要關閉其他檔案的tags 
let Tlist_File_Fold_Auto_Close = 0 


" 不要顯示摺疊樹 
let Tlist_Enable_Fold_Column = 0 


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Autocommands 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 只在下列檔案類型被偵測到的時候顯示行號,普通文字檔不顯示 


if has("autocmd") 
   autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number 
   autocmd FileType xml,html vmap <C-o> <ESC>‘<i<!--<ESC>o<ESC>‘>o--> 
   autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>‘<o/*<ESC>‘>o*/ 
   autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100 
   autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim 
   autocmd BufReadPost * 
      \ if line("‘\"") > 0 && line("‘\"") <= line("$") | 
      \   exe "normal g`\"" | 
      \ endif 
endif " has("autocmd") 


" F5編譯和運行C程式,F6編譯和運行C++程式 
" 請注意,下述代碼在windows下使用會報錯 
" 需要去掉./這兩個字元 


" C的編譯和運行 
map <F5> :call CompileRunGcc()<CR> 
func! CompileRunGcc() 
exec "w" 
exec "!gcc % -o %<" 
exec "! ./%<" 
endfunc 


" C++的編譯和運行 
map <F6> :call CompileRunGpp()<CR> 
func! CompileRunGpp() 
exec "w" 
exec "!g++ % -o %<" 
exec "! ./%<" 
endfunc 


" 能夠漂亮地顯示.NFO檔案 
set encoding=utf-8 
function! SetFileEncodings(encodings) 
    let b:myfileencodingsbak=&fileencodings 
    let &fileencodings=a:encodings 
endfunction 
function! RestoreFileEncodings() 
    let &fileencodings=b:myfileencodingsbak 
    unlet b:myfileencodingsbak 
endfunction 


au BufReadPre *.nfo call SetFileEncodings(‘cp437‘)|set ambiwidth=single 
au BufReadPost *.nfo call RestoreFileEncodings() 


" 高亮顯示普通txt檔案(需要txt.vim指令碼) 
au BufRead,BufNewFile *  setfiletype txt 


" 用空格鍵來開關摺疊 
set foldenable 
set foldmethod=manual 
nnoremap <space> @=((foldclosed(line(‘.‘)) < 0) ? ‘zc‘ : ‘zo‘)<CR> 


" minibufexpl外掛程式的一般設定 
let g:miniBufExplMapWindowNavVim = 1 
let g:miniBufExplMapWindowNavArrows = 1 
let g:miniBufExplMapCTabSwitchBufs = 1 
let g:miniBufExplModSelTarget = 1 


註:直接複製即可

歡迎大家提出建議!

linux (debian) vim的配置

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.