我的vimrc文件


vim的一直被稱為神器,確實有很多優點,但是vim到一鍵編譯實在是一個大問題,網絡上有很多配置文件,但是大多都是同一份文件到復制粘貼,不太好用。

經過這么長時間到摸索,我終於在自己到電腦上配置好了vim,下面粘貼一下我到vimrc文件。

  " This line should not be removed as it ensures that various options are
    " properly set to work with the Vim-related packages available in Debian.
     

    " Uncomment the next line to make Vim more Vi-compatible
    " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
    " options, so any other options should be set AFTER setting 'compatible'.
    set nocompatible

    " Vim5 and later versions support syntax highlighting. Uncommenting the
    " following enables syntax highlighting by default.



    "設置字符編碼
    :set encoding=utf-8
    :set fileencodings=ucs-bom,utf-8,cp936
    :set fileencoding=utf-8
    :set termencoding=utf-8


    if has("syntax")
      syntax on            " 語法高亮
    endif
    colorscheme ron        " elflord ron peachpuff default 設置配色方案,vim自帶的配色方案保存在/usr/share/vim/vim72/colors目錄下

    " detect file type
    filetype on
    filetype plugin on

    " If using a dark background within the editing area and syntax highlighting
    " turn on this option as well
    set background=dark

    " Uncomment the following to have Vim jump to the last position when
    " reopening a file
    if has("autocmd")
      au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
      "have Vim load indentation rules and plugins according to the detected filetype
      filetype plugin indent on
    endif

    " The following are commented out as they cause vim to behave a lot
    " differently from regular Vi. They are highly recommended though.

    "set ignorecase        " 搜索模式里忽略大小寫
    "set smartcase        " 如果搜索模式包含大寫字符,不使用 'ignorecase' 選項。只有在輸入搜索模式並且打開 'ignorecase' 選項時才會使用。
    set autowrite        " 自動把內容寫回文件: 如果文件被修改過,在每個 :next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] 和 CTRL-^命令時進行;用 :buffer、CTRL-O、CTRL-I、'{A-Z0-9} 或 `{A-Z0-9} 命令轉到別的文件時亦然。
    set autoindent        " 設置自動對齊(縮進):即每行的縮進值與上一行相等;使用 noautoindent 取消設置
    set smartindent        " 智能對齊方式
    set tabstop=4        " 設置制表符(tab鍵)的寬度
    set softtabstop=4     " 設置軟制表符的寬度    
    set shiftwidth=4    " (自動) 縮進使用的4個空格
    set cindent            " 使用 C/C++ 語言的自動縮進方式
    set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s     "設置C/C++語言的具體縮進方式
    "set backspace=2    " 設置退格鍵可用
    set showmatch        " 設置匹配模式,顯示匹配的括號
    set linebreak        " 整詞換行
    set whichwrap=b,s,<,>,[,] " 光標從行首和行末時可以跳到另一行去
    "set hidden " Hide buffers when they are abandoned
    set mouse=a            " Enable mouse usage (all modes)    "使用鼠標
    set number            " Enable line number    "顯示行號
    "set previewwindow    " 標識預覽窗口
    set history=50        " set command history to 50    "歷史記錄50條


    "--狀態行設置--
    set laststatus=2 " 總顯示最后一個窗口的狀態行;設為1則窗口數多於一個的時候顯示最后一個窗口的狀態行;0不顯示最后一個窗口的狀態行
    set ruler            " 標尺,用於顯示光標位置的行號和列號,逗號分隔。每個窗口都有自己的標尺。如果窗口有狀態行,標尺在那里顯示。否則,它顯示在屏幕的最后一行上。

    "--命令行設置--
    set showcmd            " 命令行顯示輸入的命令
    set showmode        " 命令行顯示vim當前模式

    "--find setting--
    set incsearch        " 輸入字符串就顯示匹配點
    set hlsearch   


"設置一鍵編譯
map <F5> :call CompileRunGcc()<CR>
imap <F5> <ESC>:call CompileRunGcc()<CR>
func! CompileRunGcc()
    exec "w"
    exec "cd %:p:h"
    if &filetype == 'c'
        exec "!g++ % -o %<"
        exec "! ./%<"
    elseif &filetype == 'cpp'
        exec "!g++ % -o %<"
        exec "! ./%<"
    elseif &filetype == 'java' 
        exec "!javac %" 
        exec "!java %<"
    elseif &filetype == 'sh'
        :!./%
    endif
endfunc


   "設置pathonen插件可用
    execute pathogen#infect()  

" About NERDTree  
noremap :<F2> NERDTreeToggle   
autocmd vimenter * if !argc() | NERDTree | endif  "open a NERDTree automatically when vim starts up if no files were specified  
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif  



" TagBar 自動生成參數和方法  
" Then the F8 key will toggle the Tagbar window.  
nmap :<F8> TagbarToggle  


"syntastic 保存檢查代碼時候傳入參數  
let g:syntastic_java_javac_args="-cp ../../lib:../../bin -sourcepath ../../bin -Djava.ext.dirs=../../lib -d ../../bin"  





" 關於Java自動文件補全插件  
autocmd Filetype java set omnifunc=javacomplete#Complete  
autocmd Filetype java set completefunc=javacomplete#CompleteParamsInf  
View Code

這里只是我的電腦里面到配置,個人不保證在其他人到電腦里也好用。

引用成神到一句話:工具都是用出來到,不是學出來的。

所以如果想用好vim,還是要在平時多多到使用,然后遇到不方便到東西就google,慢慢到就會越用越好用了。

加油。

 

引用了大神關於一鍵編譯到配置:http://www.voidcn.com/blog/u010734277/article/p-6021225.html。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM