1. 程式人生 > >Vim 配置和使用

Vim 配置和使用

網上的Vim 配置確實不少,但是在windows下能夠使用的配置並不多。

此文借鑑地址;http://www.oschina.net/code/snippet_103341_8036

" -----------------   Author: chenhua
" -----------------    Email: **@163.com
" -----------------  WebSite: http://www.blogsit.cn
" -----------------     Date: 2013-09-11

" Ctrl + K     --游標移上一行末尾
" Ctrl + H     --游標移行首
" Ctrl + L     --游標移行尾
" Ctrl + Z     --取代ESC模式鍵 [和Lingos快捷鍵有衝突]
" Ctrl + S     --儲存檔案
" Ctrl + C     --編譯 [支援C/C++、Java、Haskell]
" Ctrl + R     --執行 [支援C/C++、Java、Haskell、Lua、Perl、Python、Ruby]
" Ctrl + ]     --轉到函式定義
" Ctrl + T     --返回呼叫函式
" Ctrl + E     --添加註釋 [插入模式下] [新增的是C語言的行註釋,所以適用於C/C++/Java等]
" Ctrl + E     --一步載入語法模板和作者、時間資訊 [非插入模式下] [本質是:LoadTemplate和:AuthorInfoDetect的結合]

" <C-P>                  --單詞補全
" <C-X><C-L>             --整行補全
" Tab鍵                  --插入模式下的全功能語法結構補全 [snipMate外掛]

" wm                     --開啟文件瀏覽視窗
" \ww                    --進入vimWiki模式

" za                     --開啟或關閉當前摺疊
" zM                     --關閉所有摺疊
" zR                     --開啟所有摺疊

" :set syntax=cpp        --手動選擇語法高亮 [或 :set filetype=cpp]

" :%!xxd                 --轉儲二進位制檔案,以十六進位制形式顯示
" :%!xxd -r              --還原二進位制檔案



" ---------- 主要外掛詳細用法說明 ---------------------

" :Tlist                 --撥出變數和函式列表 [TagList外掛]
" :FencView              --檢視檔案編碼和更改檔案編碼 [FencView外掛]
" :LoadTemplate          --撥出語法模板 [Load_Template外掛]
" :AuthorInfoDetect      --新增作者、時間等資訊 [NERD_commenter && authorinfo外掛]

" ---------- a.vim [自動切換C/C++同名標頭檔案] ----------
"
" :A                     --切換同名標頭檔案並獨佔整個螢幕
" :AS                    --切換同名標頭檔案並垂直分屏,標頭檔案在上
" :AV                    --切換同名標頭檔案並水平分割,標頭檔案在左

" ---------- mark.vim [追蹤高亮指定關鍵字] ------------
"
" \m                     --normal模式下,在想要高亮的單詞上面敲擊\m即可高亮或取消高亮該單詞
" :Mark                  --取消所有高亮
" :Mark abc              --指定高亮單詞 abc 或取消高亮 abc

" ---------- NERDTree [智慧檔案瀏覽器] ----------------
"
" :NERDTree              --啟動NERDTree外掛
" o [小寫]               --切換當前檔案或目錄的開啟、關閉狀態
" u                      --開啟上層目錄
" p [小寫]               --返回上層目錄
" P [大寫]               --返回根目錄
" K                      --轉到當前目錄第一個節點
" J                      --轉到當前目錄最後的節點
" m                      --顯示檔案系統選單 [增、刪、移]
" ?                      --彈出幫助選單
" q                      --退出該外掛

" ---------- snipMate [語法結構補全] -------------------
" --------- 例如:在編輯C/C++原始檔時,輸入單詞main,然後按TAB鍵,Vim將自動補全成完整的main函式
" --------- 更多補全請自行檢視vimfiles目錄下的snippets資料夾
" --------- 此處只說明瞭C/C++的補全用法,很多經過了我的修改和調整,你也可以自行調整成適合自己的補全樣式
"
" main                   -- C/C++語言 main 函式
" inc                    -- #include <>
" iinc                   -- #include ""
" incs                   -- #include <stdio.h> or #include <iostream>
" using                  -- using namespace std;
" def                    -- #define
" un                     -- unsigned
" re                     -- return
" p                      -- printf("\n");
" s                      -- scanf("");
" fpr                    -- fprintf(abc, "\n");
" if                     -- if(){}
" elif                   -- elseif(){}
" el                     -- else{}
" t                      -- a ? b : c
" do                     -- do{}while();
" wh                     -- while(){}
" for                    -- for(){}
" forr                   -- for(i = 0; i < 10; i++){}
" cl                     -- class abc{};
" fun                    -- void abc(){}
" fund                   -- void abc();
" td                     -- typedef a b;
" st                     -- struct abc{};
" tds                    -- typedef struct _abc{}abc;
" tde                    -- typedef enum{};
" .                      -- []





" 配色方案
colorscheme desert           " 灰褐色

" 字型、字號
set guifont=Courier\ New:h10

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 mouse=a                  " 啟用滑鼠
set ruler                    " 右下角顯示游標位置的狀態行
set incsearch                " 查詢book時,當輸入/b時會自動找到
set hlsearch                 " 開啟高亮顯示結果
set incsearch                " 開啟實時搜尋功能
set nowrapscan               " 搜尋到檔案兩端時不重新搜尋
set nocompatible             " 關閉相容模式
set vb t_vb=                 " 關閉提示音
"set cursorline              " 突出顯示當前行
set hidden                   " 允許在有未儲存的修改時切換緩衝區
set list                     " 顯示Tab符,使用一高亮豎線代替
set listchars=tab:\|\ ,


syntax enable                " 開啟語法高亮
syntax on                    " 開啟檔案型別偵測
filetype indent on           " 針對不同的檔案型別採用不同的縮排格式
filetype plugin on           " 針對不同的檔案型別載入對應的外掛
filetype plugin indent on

if has("gui_running")
    au GUIEnter * simalt ~x  " 視窗啟動時自動最大化
    "set guioptions-=m       " 隱藏選單欄
    set guioptions-=T        " 隱藏工具欄
    "set guioptions-=L       " 隱藏左側滾動條
    "set guioptions-=r       " 隱藏右側滾動條
    "set guioptions-=b       " 隱藏底部滾動條
    "set showtabline=0       " 隱藏Tab欄
endif

set writebackup              " 設定無備份檔案
set nobackup
set autochdir                " 設定檔案瀏覽器目錄為當前目錄
"set nowrap                  " 設定不自動換行
set foldmethod=syntax        " 選擇程式碼摺疊型別
set foldlevel=100            " 禁止自動摺疊

" 每行超過80個的字元用下劃線標示
au BufRead,BufNewFile *.asm,*.c,*.cpp,*.java,*.cs,*.sh,*.lua,*.pl,*.pm,*.py,*.rb,*.hs,*.vim 2match Underlined /.\%81v/


" 編碼設定
"set encoding=utf-8
set fileencodings=utf-8,cp936,gbk,gb18030,big5,latin1


" For Haskell
:let hs_highlight_delimiters=1            " 高亮定界符
:let hs_highlight_boolean=1               " 把True和False識別為關鍵字
:let hs_highlight_types=1                 " 把基本型別的名字識別為關鍵字
:let hs_highlight_more_types=1            " 把更多常用型別識別為關鍵字
:let hs_highlight_debug=1                 " 高亮除錯函式的名字
:let hs_allow_hash_operator=1             " 阻止把#高亮為錯誤


set laststatus=2                          " 開啟狀態列資訊
set cmdheight=2                           " 命令列的高度,預設為1,這裡設為2

" 狀態行顯示的內容 [包括系統平臺、檔案型別、座標、所佔比例、時間等]
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %y%r%m%*%=\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}



" ######### 括號、引號、中括號等自動匹配 ######### "

:inoremap ( ()<ESC>i

:inoremap ) <c-r>=ClosePair(')')<CR>

:inoremap { {}<ESC>i

:inoremap } <c-r>=ClosePair('}')<CR>

:inoremap [ []<ESC>i

:inoremap ] <c-r>=ClosePair(']')<CR>

":inoremap < <><ESC>i
	
":inoremap > <c-r>=ClosePair('>')<CR>

:inoremap " ""<ESC>i

:inoremap ' ''<ESC>i

:inoremap ` ``<ESC>i

function ClosePair(char)
	if getline('.')[col('.') - 1] == a:char
		return "\<Right>"
	else
		return a:char
	endif
endf




" ######### 自定義快捷鍵 ######### "

" Ctrl + K 將游標移到上一行的末尾
imap  <ESC>kA

" Ctrl + L 將游標移到行尾
imap  <ESC>A

" Ctrl + H 將游標移到行首
imap  <ESC>I

" Ctrl + Z 取代ESC模式鍵
:inoremap  <ESC>

" Ctrl + S 儲存檔案
map  <ESC>:w<CR>
imap  <ESC>:w<CR>a
vmap  <ESC>:w<CR>

" Ctrl + E 一步載入語法模板和作者、時間資訊 [非插入模式]
map  <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi
vmap  <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi

" Ctrl + E 在當前行新增C語言行註釋 [插入模式]
imap  /*  */<ESC>hhi





" ######### 第三方外掛 ######### "

" WinManager 直接輸入 wm 命令即可開啟檔案瀏覽視窗
let g:winManagerWindowLayout='FileExplorer'
nmap wm :WMToggle<cr>

" MiniBufExplorer 多個檔案切換 可使用滑鼠雙擊相應檔名進行切換
let g:miniBufExplMapWindowNavVim=1
let g:miniBufExplMapWindowNavArrows=1
let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplModSelTarget=1

" TagList 鍵入:Tlist開啟
let Tlist_Show_One_File=1                             " 只顯示當前檔案的tags
let Tlist_Exit_OnlyWindow=1                           " 如果Taglist視窗是最後一個視窗則退出Vim
let Tlist_Use_Right_Window=1                          " 在右側視窗中顯示

" ctags
" --先在專案頂層目錄執行ctags -R,然後開啟原始檔,在命令模式中執行如:set tags=../../tags
" --這樣在函式名上按 <C-]> 即可轉到函式定義,按 <C-T> 可以返回呼叫地址
" --如果長時間需要在該目錄工作,也可以將tags路徑寫入配置檔案

"set tags+=C:\Develop\MinGW\include\tags              " For C/C++
"set tags+=C:\Develop\GTK\include\tags                " For GTK+
"set tags+=C:\Develop\Lua\lua\tags                    " For Lua
"set tags+=G:\Cygwin\usr\include\tags                 " For Cygwin

" TxtBrowser 高亮TXT文字檔案
au BufRead,BufNewFile *.txt setlocal ft=txt

" fencview 自動編碼識別     :FencView   檢視檔案編碼和更改檔案編碼
let g:fencview_autodetect=1

" Load_Template 根據檔案字尾自動載入模板,使用:LoadTemplate撥出
let g:template_path='D:\Apps\Gvim\vimfiles\template\'

" NERD_commenter && authorinfo 自動新增作者、時間等資訊,使用:AuthorInfoDetect撥出
let g:vimrc_author='Ruchee' 
let g:vimrc_email='
[email protected]
' let g:vimrc_homepage='http://www.ruchee.com' " ######### 一鍵儲存和編譯 ######### " " ######### 如此處沒有配置你需要的程式語言,請參照示例自行配置,很簡單的 " 編譯C原始檔 func! CompileGcc() exec "w" let compilecmd="!gcc -Wall -pedantic -std=c99 " let compileflag="-o %<" exec compilecmd." % ".compileflag endfunc " 編譯C++原始檔 func! CompileCpp() exec "w" let compilecmd="!g++ -Wall -pedantic -std=c++98 " let compileflag="-o %<" exec compilecmd." % ".compileflag endfunc " 編譯Java原始檔 func! CompileJava() exec "w" exec "!javac %" endfunc " 編譯Haskell原始檔 func! CompileHaskell() exec "w" let compilecmd="!ghc --make " let compileflag="-o %<" exec compilecmd." % ".compileflag endfunc " 執行Lua原始檔 func! RunLua() exec "w" exec "!lua %" endfunc " 執行Perl原始檔 func! RunPerl() exec "w" exec "!perl %" endfunc " 執行Python原始檔 func! RunPython() exec "w" exec "!python %" endfunc " 執行Ruby原始檔 func! RunRuby() exec "w" exec "!ruby %" endfunc " 根據檔案型別自動選擇相應的編譯函式 func! CompileCode() exec "w" if &filetype == "c" exec "call CompileGcc()" elseif &filetype == "cpp" exec "call CompileCpp()" elseif &filetype == "java" exec "call CompileJava()" elseif &filetype == "haskell" exec "call CompileHaskell()" elseif &filetype == "lua" exec "call RunLua()" elseif &filetype == "perl" exec "call RunPerl()" elseif &filetype == "python" exec "call RunPython()" elseif &filetype == "ruby" exec "call RunRuby()" endif endfunc " 執行可執行檔案 func! RunResult() exec "w" if &filetype == "c" exec "! %<" elseif &filetype == "cpp" exec "! %<" elseif &filetype == "java" exec "!java %<" elseif &filetype == "haskell" exec "! %<" elseif &filetype == "lua" exec "!lua %<.lua" elseif &filetype == "perl" exec "!perl %<.pl" elseif &filetype == "python" exec "!python %<.py" elseif &filetype == "ruby" exec "!ruby %<.rb" endif endfunc " Ctrl + C 一鍵儲存、編譯 map :call CompileCode()<CR> imap <ESC>:call CompileCode()<CR> vmap <ESC>:call CompileCode()<CR> " Ctrl + R 一鍵儲存、執行 map :call RunResult()<CR> imap <ESC>:call RunResult()<CR> vmap <ESC>:call RunResult()<CR> " ######### VimWiki 寫作助手 ######### " " 使用滑鼠對映 let g:vimwiki_use_mouse = 1 " 不要將駝峰式片語作為 Wiki 詞條 let g:vimwiki_camel_case = 0 " 宣告可以在wiki裡面使用的HTML標籤 let g:vimwiki_valid_html_tags='b,i,s,u,sub,sup,kbd,br,hr,div,del,code,red,center,left,right,h4,h5,h6,pre' let g:vimwiki_list = [{ \ 'path': 'D:/Apps/Gvim/mysite/wiki', \ 'path_html': 'D:/Apps/Gvim/mysite/html/', \ 'html_header': 'D:/Apps/Gvim/mysite/template/header.html', \ 'html_footer': 'D:/Apps/Gvim/mysite/template/footer.html', \ 'auto_export': 1, \ 'nested_syntaxes': {'Asm': 'asm', 'C': 'c', 'C++': 'cpp','Java': 'java', 'Haskell': 'haskell', 'Lua': 'lua', 'Perl': 'perl', 'Python': 'python', 'PHP': 'php', 'HTML': 'html', 'Bash': 'sh', 'Vim': 'vim', 'Make': 'make', 'Automake': 'AUTOMAKE'},}]
" 配色方案
colorscheme desert           " 灰褐色

" 字型、字號
set guifont=Courier\ New:h10

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 mouse=a                  " 啟用滑鼠
set ruler                    " 右下角顯示游標位置的狀態行
set incsearch                " 查詢book時,當輸入/b時會自動找到
set hlsearch                 " 開啟高亮顯示結果
set incsearch                " 開啟實時搜尋功能
set nowrapscan               " 搜尋到檔案兩端時不重新搜尋
set nocompatible             " 關閉相容模式
set vb t_vb=                 " 關閉提示音
"set cursorline              " 突出顯示當前行
set hidden                   " 允許在有未儲存的修改時切換緩衝區
set list                     " 顯示Tab符,使用一高亮豎線代替
set listchars=tab:\|\ ,


syntax enable                " 開啟語法高亮
syntax on                    " 開啟檔案型別偵測
filetype indent on           " 針對不同的檔案型別採用不同的縮排格式
filetype plugin on           " 針對不同的檔案型別載入對應的外掛
filetype plugin indent on

if has("gui_running")
    au GUIEnter * simalt ~x  " 視窗啟動時自動最大化
    "set guioptions-=m       " 隱藏選單欄
    set guioptions-=T        " 隱藏工具欄
    "set guioptions-=L       " 隱藏左側滾動條
    "set guioptions-=r       " 隱藏右側滾動條
    "set guioptions-=b       " 隱藏底部滾動條
    "set showtabline=0       " 隱藏Tab欄
endif

set writebackup              " 設定無備份檔案
set nobackup
set autochdir                " 設定檔案瀏覽器目錄為當前目錄
"set nowrap                  " 設定不自動換行
set foldmethod=syntax        " 選擇程式碼摺疊型別
set foldlevel=100            " 禁止自動摺疊

" 每行超過80個的字元用下劃線標示
au BufRead,BufNewFile *.asm,*.c,*.cpp,*.java,*.cs,*.sh,*.lua,*.pl,*.pm,*.py,*.rb,*.hs,*.vim 2match Underlined /.\%81v/


" 編碼設定
"set encoding=utf-8
set fileencodings=utf-8,cp936,gbk,gb18030,big5,latin1


" For Haskell
:let hs_highlight_delimiters=1            " 高亮定界符
:let hs_highlight_boolean=1               " 把True和False識別為關鍵字
:let hs_highlight_types=1                 " 把基本型別的名字識別為關鍵字
:let hs_highlight_more_types=1            " 把更多常用型別識別為關鍵字
:let hs_highlight_debug=1                 " 高亮除錯函式的名字
:let hs_allow_hash_operator=1             " 阻止把#高亮為錯誤


set laststatus=2                          " 開啟狀態列資訊
set cmdheight=2                           " 命令列的高度,預設為1,這裡設為2

" 狀態行顯示的內容 [包括系統平臺、檔案型別、座標、所佔比例、時間等]
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %y%r%m%*%=\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}



" ######### 括號、引號、中括號等自動匹配 ######### "

:inoremap ( ()<ESC>i

:inoremap ) <c-r>=ClosePair(')')<CR>

:inoremap { {}<ESC>i

:inoremap } <c-r>=ClosePair('}')<CR>

:inoremap [ []<ESC>i

:inoremap ] <c-r>=ClosePair(']')<CR>

":inoremap < <><ESC>i
	
":inoremap > <c-r>=ClosePair('>')<CR>

:inoremap " ""<ESC>i

:inoremap ' ''<ESC>i

:inoremap ` ``<ESC>i

function ClosePair(char)
	if getline('.')[col('.') - 1] == a:char
		return "\<Right>"
	else
		return a:char
	endif
endf




" ######### 自定義快捷鍵 ######### "

" Ctrl + K 將游標移到上一行的末尾
imap  <ESC>kA

" Ctrl + L 將游標移到行尾
imap  <ESC>A

" Ctrl + H 將游標移到行首
imap  <ESC>I

" Ctrl + Z 取代ESC模式鍵
:inoremap  <ESC>

" Ctrl + S 儲存檔案
map  <ESC>:w<CR>
imap  <ESC>:w<CR>a
vmap  <ESC>:w<CR>

" Ctrl + E 一步載入語法模板和作者、時間資訊 [非插入模式]
map  <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi
vmap  <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi

" Ctrl + E 在當前行新增C語言行註釋 [插入模式]
imap  /*  */<ESC>hhi





" ######### 第三方外掛 ######### "

" WinManager 直接輸入 wm 命令即可開啟檔案瀏覽視窗
let g:winManagerWindowLayout='FileExplorer'
nmap wm :WMToggle<cr>

" MiniBufExplorer 多個檔案切換 可使用滑鼠雙擊相應檔名進行切換
let g:miniBufExplMapWindowNavVim=1
let g:miniBufExplMapWindowNavArrows=1
let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplModSelTarget=1

" TagList 鍵入:Tlist開啟
let Tlist_Show_One_File=1                             " 只顯示當前檔案的tags
let Tlist_Exit_OnlyWindow=1                           " 如果Taglist視窗是最後一個視窗則退出Vim
let Tlist_Use_Right_Window=1                          " 在右側視窗中顯示

" ctags
" --先在專案頂層目錄執行ctags -R,然後開啟原始檔,在命令模式中執行如:set tags=../../tags
" --這樣在函式名上按 <C-]> 即可轉到函式定義,按 <C-T> 可以返回呼叫地址
" --如果長時間需要在該目錄工作,也可以將tags路徑寫入配置檔案

"set tags+=C:\Develop\MinGW\include\tags              " For C/C++
"set tags+=C:\Develop\GTK\include\tags                " For GTK+
"set tags+=C:\Develop\Lua\lua\tags                    " For Lua
"set tags+=G:\Cygwin\usr\include\tags                 " For Cygwin

" TxtBrowser 高亮TXT文字檔案
au BufRead,BufNewFile *.txt setlocal ft=txt

" fencview 自動編碼識別     :FencView   檢視檔案編碼和更改檔案編碼
let g:fencview_autodetect=1

" Load_Template 根據檔案字尾自動載入模板,使用:LoadTemplate撥出
let g:template_path='D:\Apps\Gvim\vimfiles\template\'

" NERD_commenter && authorinfo 自動新增作者、時間等資訊,使用:AuthorInfoDetect撥出
let g:vimrc_author='Ruchee' 
let g:vimrc_email='
[email protected]
' let g:vimrc_homepage='http://www.ruchee.com' " ######### 一鍵儲存和編譯 ######### " " ######### 如此處沒有配置你需要的程式語言,請參照示例自行配置,很簡單的 " 編譯C原始檔 func! CompileGcc() exec "w" let compilecmd="!gcc -Wall -pedantic -std=c99 " let compileflag="-o %<" exec compilecmd." % ".compileflag endfunc " 編譯C++原始檔 func! CompileCpp() exec "w" let compilecmd="!g++ -Wall -pedantic -std=c++98 " let compileflag="-o %<" exec compilecmd." % ".compileflag endfunc " 編譯Java原始檔 func! CompileJava() exec "w" exec "!javac %" endfunc " 編譯Haskell原始檔 func! CompileHaskell() exec "w" let compilecmd="!ghc --make " let compileflag="-o %<" exec compilecmd." % ".compileflag endfunc " 執行Lua原始檔 func! RunLua() exec "w" exec "!lua %" endfunc " 執行Perl原始檔 func! RunPerl() exec "w" exec "!perl %" endfunc " 執行Python原始檔 func! RunPython() exec "w" exec "!python %" endfunc " 執行Ruby原始檔 func! RunRuby() exec "w" exec "!ruby %" endfunc " 根據檔案型別自動選擇相應的編譯函式 func! CompileCode() exec "w" if &filetype == "c" exec "call CompileGcc()" elseif &filetype == "cpp" exec "call CompileCpp()" elseif &filetype == "java" exec "call CompileJava()" elseif &filetype == "haskell" exec "call CompileHaskell()" elseif &filetype == "lua" exec "call RunLua()" elseif &filetype == "perl" exec "call RunPerl()" elseif &filetype == "python" exec "call RunPython()" elseif &filetype == "ruby" exec "call RunRuby()" endif endfunc " 執行可執行檔案 func! RunResult() exec "w" if &filetype == "c" exec "! %<" elseif &filetype == "cpp" exec "! %<" elseif &filetype == "java" exec "!java %<" elseif &filetype == "haskell" exec "! %<" elseif &filetype == "lua" exec "!lua %<.lua" elseif &filetype == "perl" exec "!perl %<.pl" elseif &filetype == "python" exec "!python %<.py" elseif &filetype == "ruby" exec "!ruby %<.rb" endif endfunc " Ctrl + C 一鍵儲存、編譯 map :call CompileCode()<CR> imap <ESC>:call CompileCode()<CR> vmap <ESC>:call CompileCode()<CR> " Ctrl + R 一鍵儲存、執行 map :call RunResult()<CR> imap <ESC>:call RunResult()<CR> vmap <ESC>:call RunResult()<CR>

相關推薦

manjaro下vim配置YouCompleteMe插件的安裝

資料 方法 family shu distrib .sh 沒有 的人 https manjaro下vim配置和YouCompleteMe插件的安裝 前言 我Garen Wang就是餓死,死外邊,從下面跳上去,也不會卸載掉ubuntu玩別的distribution!!! 真香

Vim 配置使用

網上的Vim 配置確實不少,但是在windows下能夠使用的配置並不多。 此文借鑑地址;http://www.oschina.net/code/snippet_103341_8036 " ----------------- Author: chenhua " ----------------- E

為BashVIM配置一個美觀奢華的狀態提示欄 • cenalulu's Tech Blog

本文將詳細介紹在Mac環境下安裝powerline的方式 什麼是powerline 如果你不是通過搜尋引擎搜到這篇文章的話,也許你還沒有聽說過powerline。而你又恰巧是個*UNIX黨,或者VIM黨的話,那麼強烈建議你瞭解並使用powerline。powerline是一個statel

vim + ctags + taglist配置使用 【及】 一鍵安裝 ctagscscope的方法 【及】vim語法高亮,自動縮排,python 自動縮排設定

1, vim + ctags + taglist配置和使用 taglist依賴於ctags,所以要先裝ctags,否則taglist裝了也沒法用! 1、首先安裝ctags 首先是ctags的安裝,推薦使用exuberant ctags,我們可以從其官方網站上下載它的原始碼包

VIM配置神一般的外掛。

       剛開始工作的時候,主要是C和C++,使用VIM比較多,後來轉到Android,主要使用IDE開發,VIM用的比較少,但是也有用到VIM的時候,總是遇到這樣那樣的問題,自動補全,檔案查詢,搜尋什麼的,然後就是各種外掛,外掛多了,衝突的問題就來了,問題是外掛也不能解

windows 下配置使用 vim ide。。。。更新中

vim 有windows版的,應該可以從www.vim.org上下載。。。我用的是7.3的 1.配置 ctags 首先需要配visual studio 自帶的include tags 如果還有sdk 按照這個方法配置 ctags貌似無法識別空格路徑 所以我們需要做一個目

vim + ctags + taglist配置使用

通過tags 檔案來閱讀原始碼: tags 檔案是通過命令:ctags -R 生成索引檔案(原始碼目錄下所有的結構體定義,函式的定義,巨集定義 都可以通過索引檔案找到它所在的路徑檔案) ctags + ]  跳轉到指定符號所定義的檔案  ctags + t  返回  注

缺省源Vim配置

font unsigned case undefine cmd rst long long first gui 缺省源 #include<bits/stdc++.h> #include<bits/extc++.h> #define file(s)

spring4.0.0的配置使用

target new static context odin bean 數據庫 getbean 工廠 1.創建一個javaproject或者webproject,我創建的時webproject,編譯器用的時myeclipse2013 2.在lib文件夾以下倒入sprin

zookeeper安裝以及配置註意事項

zk1,安裝 wget tar zxvf zookeeper-3.4.9.tar.gz cd zookeeper-3.4.9/conf cp zoo_sample.cfg zoo.cfg 修改zoo.cfg配置文件 如下tickTime=2000 initLimit=10 syncLi

sshd服務基本配置使用(201610改)

主目錄 兩個文件 pos home ref 保存 如果 鏈接 運行環境 一、基於密鑰認證的服務端基本安全設置:1、修改/etc/ssh/sshd_config,具體如下:Protocol 2 #只支持SSH2協議Port <端口號> #修改默認端口號Ma

mysqlroute配置使用

mysql mysqlrouter mysql-routerMySQL Router是MySQL官方推出的一個輕量級MySQL中間件是處於應用client和dbserver之間的輕量級代理程序,它能檢測,分析和轉發查詢到後端數據庫實例,並把結果返回給client。是mysql-proxy的一個替代品.但是和m

CloudStack+XenServer詳細部署方案 交換機配置服務器連線

cloudstack+xenserver詳細部署方案CloudStack+XenServer詳細部署方案(2):交換機配置和服務器連線 本文將根據設計文檔, 對交換機進行配置和服務器網絡連線方式進行說明.Step1.交換機規劃, 根據功能將交換機端口分為三個部分:管理區域(交換機1 – 16 口): 用於

(二)apache atlas配置運行

altas href 訪問 min mage sta 功能 技術分享 -1 上一篇文章,我們已經構建出了altas的安裝包,所以我們繼續使用安裝包配置和運行atlas 首先解壓atlas壓縮包,授予bin目錄下的執行權限 1.默認啟動atlas cd atlas/bi

PhoneGap3+版本號的安裝、配置使用[圖]

結果 apache height avd fig blog 所在 modules mar 如若轉載。請註明博文地址及原作者(RisingWonderland)。 PhoneGap2+版本號最高為2.9.1,從3+版本號開始,PhoneGap官方不再提供下載安裝包

Hadoop 0.20.2+Ubuntu13.04配置WordCount測試

password trac 讓我 說明 core jvm -m launchpad 1.7 事實上這篇博客寫的有些晚了。之前做過一些總結後來學校的事給忘了,這幾天想又一次拿來玩玩發現有的東西記不住了。翻博客發現居然沒有。好吧,所以趕緊寫一份留著自己用吧。這東西網上有非常

如何在 CentOS 7 中安裝、配置安全加固 FTP 服務

cte success fire lease 註意 tps tran sub linux 步驟 1:安裝 FTP 服務器 1、 安裝 vsftpd 服務器很直接,只要在終端運行下面的命令。 # yum install vsftpd 2、 安裝完成後,服務先是被禁用的,因

weblogic虛擬路徑的配置使用

rtu 版本 其他 解決 ble 說明 醫療 path 虛擬路徑 項目場景: 公司中醫療項目需要展示藥品說明書的其他版本(圖片或者PDF),由於其他版本文件存在Linux服務器上,服務器用的是weblogic, 無法直接訪問文件,因此可以用weblogic的虛擬路徑解決

曙光集群 配置檢查內容

eboot power tar poweroff gre sta 普通用戶 name 服務狀態 第一步:檢查node39 ypserv服務狀態[[email protected]/* */ ~]# /etc/init.d/ypserv statusypserv

Ubuntu配置修改IP地址

ren from var address can gen pen -name get http://blog.csdn.net/readiay/article/details/50866709 Ubuntu配置和修改IP地址 1、修改配置文件/etc/network/i