天天看點

ubuntu下gvim配置檔案.vimrc



在主檔案夾(個人檔案夾)裡建立   .vimrc  檔案,以下列内容為母版快速的配置gvim。

終端輸入:gvim  .vimrc 或者在個人檔案夾下點選 Ctrl+h(顯示隐藏檔案指令)找到.vimr檔案,根據個人喜好定制gvim的配置

由于浏覽器文本格式問題,部分代碼可能會出錯。

内容如下:

" 不要使用vi的鍵盤模式,而是vim自己的
set nocompatible
" 文法高亮
set syntax=on
"配色方案
" colorscheme torte
colorscheme koehler
set pastetoggle=<F11>         " pastetoggle( 粘貼模式切換 ) 可以避免自動縮進 
                              " 的帶來的格式影響;每次按下 <F11> 鍵可以打開 
                              " / 關閉自動縮進功
" 去掉輸入錯誤的提示聲音
set noeb
" 在處理未儲存或隻讀檔案的時候,彈出确認
set confirm
" 自動縮進
set autoindent
set cindent
" 自動換行
set wrap
" 整詞換行
set linebreak
" Tab鍵的寬度
set tabstop=4
" 統一縮進為4
set softtabstop=4
set shiftwidth=4
" 不要用空格代替制表符
" set noexpandtab
set expandtab
" 在行和段開始處使用制表符
set smarttab
" 顯示行号
set number
" 曆史記錄數
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 helplang=cn
set encoding=utf8 
set langmenu=zh_CN.UTF-8 
set imcmdline 
source $VIMRUNTIME/delmenu.vim 
source $VIMRUNTIME/menu.vim
" 設定字型。
set guifont=Liberation\Mono\ 12
"set  guifont=Fixedsys\Excelsior\3.01\ 14
" 我的狀态行顯示的内容(包括檔案類型和解碼)
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%%]
" 總是顯示狀态行
set laststatus=2
" 在編輯過程中,在右下角顯示光标位置的狀态行
set ruler           
" 指令行(在狀态行下)的高度,預設為1,這裡是2
set cmdheight=2
" 偵測檔案類型
filetype on
" 載入檔案類型插件
filetype plugin on
" 為特定檔案類型載入相關縮進檔案
filetype indent on
" 儲存全局變量
set viminfo+=!
" 帶有如下符号的單詞不要被換行分割
set iskeyword+=_,$,@,%,#,-
" 字元間插入的像素行數目
set linespace=0
" 增強模式中的指令行自動完成操作
set wildmenu
" 使回格鍵(backspace)正常處理indent, eol, start等
set backspace=2
" 允許backspace和光标鍵跨越行邊界
set whichwrap+=<,>,h,l
" 可以在buffer的任何地方使用滑鼠(類似office中在工作區輕按兩下滑鼠定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 通過使用: commands指令,告訴我們檔案的哪一行被改變過
set report=0
" 啟動的時候不顯示那個援助索馬裡兒童的提示
set shortmess=atI
" 在被分割的視窗間顯示空白,便于閱讀
set fillchars=vert:\ ,stl:\ ,stlnc:\
" 高亮顯示比對的括号
set showmatch
" 比對括号高亮的時間(機關是十分之一秒)
set matchtime=5
" 光标移動到buffer的頂部和底部時保持3行距離
set scrolloff=3
" 為C程式提供自動縮進
set smartindent
" 隻在下列檔案類型被偵測到的時候顯示行号,普通文本檔案不顯示
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("{1}quot;) | 
  \   exe "normal g`\"" |
  \ endif
endif " has("autocmd")
" F5編譯和運作C程式,F6編譯和運作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 "!g++ -Wall % -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
"-----------
" 模仿MS Windows中的快捷鍵 
"-----------
vmap <C-c> "yy 
vmap <C-x> "yd 
nmap <C-v> "yp 
vmap <C-v> "yp 
nmap <C-a> ggvG$