溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

我的VIM -- vimrc配置

發(fā)布時間:2020-07-08 15:18:28 來源:網絡 閱讀:394 作者:張濤澤 欄目:網絡安全

主要都是參考融合了網上比較熱的幾分VIM配置文檔,加上我的使用習慣而形成的。感謝他們的奉獻!

基本上每行配置上面都有注釋,相信仔細看下就會明白的了。

我的VIM -- vimrc配置

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

" 語法高亮
set syntax=on

" 去掉輸入錯誤的提示聲音
set noeb

" 在處理未保存或只讀文件的時候,彈出確認
set confirm

" 自動縮進
set autoindent
set cindent

" Tab鍵的寬度
set tabstop=4

" 統(tǒng)一縮進為4
set softtabstop=4
set shiftwidth=4

" 不要用空格代替制表符
set noexpandtab

" 在行和段開始處使用制表符
set smarttab

" 顯示行號
set number

" 歷史記錄數(shù)
set history=1000

"禁止生成臨時文件
set nobackup
set noswapfile

"搜索忽略大小寫
set ignorecase

"搜索逐字符高亮
set hlsearch
set incsearch

"行內替換
set gdefault

"編碼設置
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936

"語言設置
set langmenu=zh_CN.UTF-8
set helplang=cn

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

" 總是顯示狀態(tài)行
set laststatus=2

" 在編輯過程中,在右下角顯示光標位置的狀態(tài)行
set ruler          

" 命令行(在狀態(tài)行下)的高度,默認為1,這里是2
set cmdheight=2

" 偵測文件類型
filetype on

" 載入文件類型插件
filetype plugin on

" 為特定文件類型載入相關縮進文件
filetype indent on

" 保存全局變量
set viminfo+=!

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

" 字符間插入的像素行數(shù)目
set linespace=0

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

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

"狀態(tài)欄顯示目前所執(zhí)行的指令
set showcmd

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

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

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

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

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

" 高亮顯示匹配的括號
set showmatch

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

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

" 為C程序提供自動縮進
set smartindent

"隱藏工具欄
set guioptions-=T
"隱藏菜單欄
set guioptions-=m

"開啟折疊
"set foldenable
"設置語法折疊
"set foldmethod=syntax
"設置折疊區(qū)域的寬度
"set foldcolumn = 0
"設置折疊層數(shù)
"set foldlevel=1  
"設置自動關閉折疊

"set foldclose=all
"自動切換當前目錄為當前文件的目錄
set autochdir
set tags=tags;

let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1

"設置字體
set guifont=Inconsolata\ 12
"設置配色方案
colorscheme desert

let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>set cscopequickfix=s-,c-,d-,i-,t-,e-
cs add cscope.out

let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplMapWindowNavVim = 1
" 只在下列文件類型被偵測到的時候顯示行號,普通文本文件不顯示
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程序

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

" C++的編譯和運行
map <F6> :call CompileRunGpp()<CR>func! CompileRunGpp()
exec "w"
exec "!cscope -Rbq"
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()

我的VIM -- vimrc配置


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI