Linux/Unix中VIM編輯器設定檔

來源:互聯網
上載者:User


非常抱歉,這是我12年的配置了,曾經在開源中國社區分享過,後面也在不斷更新和修改。比較適合前端工程師使用。
vim的配置如下:


set nocompatible
syntax enable                " 開啟文法高亮
syntax on                    " 開啟檔案類型偵測
filetype indent on           " 針對不同的檔案類型採用不同的縮排格式;indent on就是按indent目錄下指令碼自動縮排
filetype plugin off          " 針對不同的檔案類型載入對應的外掛程式;plugin on就是允許執行 ftplugin目錄下的檔案類型特定的指令碼。
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'maksimr/vim-jsbeautify'
"filetype plugin indent on   "合并寫法
set tabstop=4                " 設定tab鍵的寬度
set shiftwidth=4             " 換行時行間交錯使用4個空格
set autoindent               " 自動對齊
set backspace=2              " 設定退格鍵可用
set cindent shiftwidth=4     " 自動縮排4空格
set smartindent              " 智能自動縮排
set ai!                      " 設定自動縮排
set nu!                      " 顯示行號
set showmatch                " 顯示括弧配對情況
set matchtime=5              " 匹配括弧高亮的時間(單位是十分之一秒)
set mouse=a                  " 啟用滑鼠
set ruler                    " 右下角顯示光線標位置的狀態行
set incsearch                " 尋找book時,當輸入/b時會自動找到
set hlsearch                 " 開啟高亮顯示結果
set incsearch                " 開啟即時搜尋功能
set nowrapscan               " 搜尋到檔案兩端時不重新搜尋
map nh :noh<cr>
set nocompatible             " 關閉相容模式
set vb t_vb=                 " 關閉提示音
set cursorline               " 反白當前行
set hidden                   " 允許在有未儲存的修改時切換緩衝區
set list
set lcs=tab:\|\
hi SpecialKey guifg=#0087AF
 
set history=1000       " 記錄數
set ignorecase         "搜尋忽略大小寫
 
" 自動插入匹配括弧
"inoremap ( ()<LEFT>
"inoremap [ []<LEFT>
"inoremap { {}<LEFT>
"inoremap < <><LEFT>
"inoremap " ""<LEFT>
"inoremap ' ''<LEFT>
 
"set nowrap               " 設定不自動換行
set wrap                  " 設定自動換行
map nw :set nowrap<CR>
 
set writebackup              " 設定無備份檔案
set nobackup
set directory=.,$TEMP        "解決“無法開啟未命名分頁檔,恢複將不可能”錯誤
"set autochdir                " 設定檔案瀏覽器目錄為目前的目錄
 
"set foldenable              " 開始摺疊
"set foldmethod=indent       " 設定文法摺疊;za/zo/zO摺疊和展開
"set foldcolumn=0            " 設定摺疊地區的寬度
"setlocal foldlevel=1        " 設定摺疊層數為
"set foldlevelstart=99       " 開啟檔案是預設不摺疊代碼
"set foldclose=all          " 設定為自動關閉摺疊               
"nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>   " 用空格鍵來開關摺疊
 
set laststatus=2                          " 開啟狀態列資訊
set cmdheight=1                           " 命令列的高度,預設為1,這裡可以重設
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %y%r%m%*%=\ %{strftime(\"%y/%m/%d\ -\ %H:%M\")} " 狀態行顯示的內容 [包括系統平台、檔案類型、座標、所佔比例、時間等
 
set shm+=I  "去掉啟動畫面
map JJ <Esc>
imap jj <Esc>
 
autocmd BufEnter * cd %:p:h "自動將 Vim 工作目錄遷移到所開啟文字檔的目錄下
map tt :tabnew<CR>  "tt建立標籤;
map tn :tabn<CR>
map tp :tabp<CR>
"map <A-Left> :tabp<CR>  "切換標籤頁;使用Alt+←切換
"map <A-Right> :tabn<CR>  "切換標籤頁;使用Alt+→切換
"map <Tab> :tabn<CR>  "使用tab切換標籤頁
 
map cc :tabc<CR>  "按cc關閉當前標籤
map <S-C> :tabc<CR>  "按Shift+c關閉當前標籤
map to :tabo<CR>  "關閉其他標籤
 
set showtabline=1  "設定標籤欄的顯示,0永遠不顯示 1兩個以上顯示 2 永遠顯示
map ft :set ft=html<CR>
 
nmap <S-L> dd       "提高用dd命令刪除行的效能
nmap kil :g/^\s*$/d<CR>
 
"標籤頁欄中去除當前所編輯檔案的路徑資訊,只保留檔案名稱
function ShortTabLabel ()
 let bufnrlist = tabpagebuflist (v:lnum)
 let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])
 let filename = fnamemodify (label, ':t')
 return filename
endfunction
set guitablabel=%{ShortTabLabel()}
 
""""""""""""""""""""
""""""外掛程式類""""""""
""""""""""""""""""""
 
"###MRU###
nmap mr :MRU<CR> "開啟最近開啟檔案
 
"###NERDTree###
 
let NERDTreeWinPos ="left"                      "將NERDTree的視窗設定在gvim視窗的左邊
let NERDTreeShowBookmarks=1                     "當開啟NERDTree視窗時,自動顯示Bookmarks
"let NERDTreeMinimalUI=1                        "不顯示協助面板
let NERDTreeChDirMode=2                         "選中root即設定為目前的目錄
let NERDTreeCaseSensitiveSort=0                 "不分大小寫排序 
let NERDTreeQuitOnOpen=0                        "開啟檔案後, 關閉NERDTrre視窗 
let NERDTreeHighlightCursorline=1               "高亮NERDTrre視窗的當前行 
let NERDTreeIgnore=['\.zip$','\~$','\.png$','\.gif$','\.jpg$','\.bak$','\.html$','\.rar$','\.swp$']                "不顯示指定的類型的檔案
"let NERDTreeIgnore += ['\(\.txt\)\@<!$[[file]]']  "只顯示txt檔案
map ` :NERDTreeToggle<CR>
map ne :NERDTreeToggle<cr>
""open a NERDTree automatically when vim starts up
"autocmd vimenter * NERDTree
"" open a NERDTree automatically when vim starts up if no files were specified
"autocmd vimenter * if !argc() | NERDTree | endif
"close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
 
"###session###
let g:session_autosave = 'yes'
let g:session_autoload = 'yes'
 
"###WinResizer###
"let g:winresizer_enable = 0
map <S-E> :WinResizerStartResize<CR>
map rs :WinResizerStartResize<CR>
 
"定製ZenCoding,用Ctrl+e替換ctrl+y+展開運算式
let g:user_emmet_install_global = 0
autocmd FileType html,css EmmetInstall
let g:user_emmet_expandabbr_key = '<c-e>'
let g:user_zen_settings = {
   \ 'php' : {
   \ 'extends' : 'html',
   \ 'filters' : 'c',
   \ },
   \ 'xml' : {
   \ 'extends' : 'html',
   \ },
   \ 'html' : {
   \ 'extends' : 'html',
   \ },
   \}
let g:use_zen_complete_tag = 1
 
map <C-S-R> :FufFileRecursive<CR>
 
"###auto_save
let g:auto_save = 0  " enable AutoSave on Vim startup
"let g:auto_save_no_updatetime = 1  " do not change the 'updatetime' option
 
"JsBeautify
map  :call JsBeautify()
" or
autocmd FileType javascript noremap    :call JsBeautify()
" for html
autocmd FileType html noremap   :call HtmlBeautify()
" for css or scss
autocmd FileType css noremap   :call CSSBeautify()

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.