也許你和我同樣,使用着兩大神器, Vim 和 Total Commander php
Vim的模式與快捷鍵讓人着迷,TC的高效和強大,讓人歡喜。 html
因而,我嘗試將Vim與TC結合,讓TC在操做上,變動加快捷起來。 python
Vim Mode At Total Commander 簡介 linux
也許你和我同樣,使用着兩大利器,Vim與TotalCommander。
Vim的模式與快捷鍵讓人着迷,TC的高效和強大,讓人歡喜。
因而,我嘗試將Vim模式與TC結合,讓TC操做「快捷」起來。 web
若是你曾經使用過Vim,又正在使用TC,那麼你會喜歡ViATc
若是你在使用TC,但又以爲鼠標的點擊不足以更快速地操做,那麼你會想用ViATc
把複雜的操做,用兩隻手在鍵盤上敲擊出來。是編寫ViATc的初衷。 chrome
讓TC帶有Vim的模式,h,j,k,l移動和更多;按下:到命令行模式。
不須要使用時,Alt+`禁用功能,或者乾脆退出ViATc,對TC徹底無影響。
任意一個快捷鍵都不與TC自帶的快捷鍵衝突,綠色。
常駐爲任務欄圖標,雙擊任務欄圖標,或者Win+w調用TC
屢次移動、組合鍵、還有更多…… shell
等待您的建議,一塊兒讓ViATc變得更加好用 express
有關ViATC的使用過程遇到的問題和建議能夠發郵件到linxinhong.sky@gmail.com
關於ViATc的更多想法,也能夠加Q羣7995919 編程
下載: vim
報病毒和x64的TCer能夠下載源碼。而後安裝AHK_L,再運行源碼ViATc.ahk便可。
安裝:
若是是安裝版TC,能夠直接運行,配置文件viatc.ini位於TC目錄中。
若是是綠色版TC,請將ViATc置於TC目錄中。
剛在寫那篇關於vi和文字編輯器的文章時,本來想附上一個vim的超簡單入門連結,但找了一下都沒有很滿意的,因此決定本身動手先來畫個入門用的說明圖。
這個圖把vim中基本的移動方法都畫上去了,為了方便programmer,特別列出了不少只有寫程式才會用的按鍵。除了這些之外,其實還有一些好用的東西我還沒想到怎麼畫上去比較好(像是tags、沒有標準快速鍵的tab、man..),若是你們有idea歡迎提供。
這些圖示依照移動的單位大小分為如下幾個種類,分別用不一樣顏色標示:
(注意,這不是完整的vim快速鍵列表,只是我覺得比較經常使用的鍵而已。)
字元(character) | |
---|---|
h
|
左 |
j
|
下 |
k
|
上 |
l
|
右 |
單字(word) | |
---|---|
w
|
下一個word |
W
|
下一個word(跳過標點符號) |
b
|
前一個word |
e
|
跳到目前word的尾端 |
行(line) | |
---|---|
0
|
跳到目前行的開頭 |
^
|
跳到目前行第一個非空白字元 |
$
|
跳到行尾 |
段落(paragraph)、區塊(block) | |
---|---|
{
|
上一段(以空白行分隔) |
}
|
下一段(以空白行分隔) |
[{
|
跳到目前區塊開頭 |
]}
|
跳到目前區塊結尾 |
%
|
跳到目前對應的括號上(適用各種括號,有設定好的話連HTML tag都能跳) |
螢幕(screen)、絕對位置 | |
---|---|
H
|
螢幕頂端 |
M
|
螢幕中間 |
L
|
螢幕底部 |
:
x
xG
|
跳到第x行(x是行號) |
搜尋(search) | |
---|---|
/xxxx
|
搜尋xxxx |
#
|
往前搜尋目前遊標所在的字(word) |
*
|
往後搜尋目前遊標所在的字(word) |
f
x
|
在目前行往後搜尋字元x |
gd
|
跳到目前遊標所在的字(word)的定義位置(寫程式用, 跳到定義變數/函式的地方) |
分割視窗 | |
---|---|
:split
|
分割視窗(可加檔名順便開啟另外一檔案) |
:diffsplit xxx
|
以分割視窗和檔案xxx作比較(diff) |
Ctrl-W p
|
跳到前一個分割視窗(在兩個分割窗來回切換) |
Ctrl-W j
|
跳到下面的分割窗 |
Ctrl-W h
|
跳到左邊的分割窗 |
Ctrl-W k
|
跳到上面的分割窗 |
Ctrl-W l
|
跳到右邊的分割窗 |
自動補齊(Auto-completion) (在Insert Mode中使用) | |
---|---|
Ctrl-N
|
自動補齊檔案內的下一個可能字(word) |
Ctrl-P
|
自動補齊檔案內的上 |
1、Visual Studio中的Vim插件:
1. ViEmu(收費)
還有在Word , Outlook和SQL Server Management Studio中的使用的ViEmu。
2. VsVim(免費)
地址:http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329/
以上兩個插件基本命令都有了,不過仍是ViEmu好用。
3. visual_studio.vim(免費)
地址:http://www.vim.org/scripts/script.php?script_id=864
支持Visual Studio 2003, 2005 and 2008
這個沒用過,只是當時在官網上看到過。
4. VisVim(免費)
以上都只是支持visual Studio,若是還在用VC6.0能夠考慮一下這個,此插件是打開vim來編輯當前文件的,而且vim得是OLE的GUI版本才行。
使用方法能夠參考http://blog.csdn.net/absurd/article/details/1164127
2、Eclipse中的vim插件:
1. viPlugin(收費)
不錯的插件,功能上比其餘的要好,不過要收費。
2. Vrapper(免費)
地址:http://vrapper.sourceforge.net
Vrapper也比較不錯,可是比上面那位仍是弱點。
已知的問題有當要刪的詞位於行末時dw會連換行符也刪掉,搜索結果不高亮。
3. VimPlugin(免費)
地址:http://sourceforge.net/projects/vimplugin/
VimPlugin須要gvim的支持。
使用方法能夠參考:http://akunamotata.iteye.com/blog/324637
4. eclim(免費)
eclim是直接調用了vim,而不是模擬。
項目主頁:http://eclim.sourceforge.net/
關於eclipse中的插件還能夠參考:http://paddy-w.iteye.com/blog/969366
如下紅字部分來自http://ihacklog.com/software/cool_software_share/vim-plugins-for-ide.html
3、Netbeans IDE中的Vim插件: Jvi
jVi是Vim一些基本功能的JAVA版實現。在netbeans裏面能夠很方便地啓用和禁用jVi編輯器。jVi目前支持超過200個vim命令:
http://jvi.sourceforge.net/vimhelp/help.txt.html#reference_toc
4、JetBrains PhpStorm中的Vim插件:IdeaVIM
支持如下功能:
Motion keys
Deletion/Changing
Insert mode commands
Marks
Registers
VIM undo/redo
Visual mode commands
Some Ex commands
Some :set options
Full VIM regular expressions for search and search/replace
Macros
Diagraphs
VIM help
按ctrl+alt+v 可啓用此Vim模擬器。
相比於netbeans中的Vim插件,這個稍微遜色一些。
參考資料:http://coolshell.cn/articles/1837.html
5、Chrome
Vimium:
地址:https://chrome.google.com/webstore/detail/dbepggeogbaibhgnhhndojpepiihcmeb
用這個插件的人貌似比較多,?能夠查看可使用的命令。
具體使用能夠參考http://kejibo.com/chrome-vimium/
Vrome:
https://chrome.google.com/webstore/detail/godjoomfiimiddapohpmfklhgmbfffjj
最近才發現另外一個不錯的插件 Vrome,前身是Vimlike Smooziee ,做者是個中國人,支持一下。感受功能比Vimium強,不過彷佛不太火。
特點:
縮放網頁
C-y 縮短當前網址,而且複製縮短後的地址到剪貼板(此功能須要設置,此插件設置很不錯,能夠像配置vim同樣簡單配置下)
C-i 使用外部編輯器編輯等。
具體能夠參考:http://linuxtoy.org/archives/vimlike-smooziee-chrome-vim-extension.html#comment-133032
6、Firefox
Pentadactyl:https://addons.mozilla.org/en-US/firefox/addon/pentadactyl/
Vimperator:
https://addons.mozilla.org/en-US/firefox/addon/vimperator/
不怎麼用火狐,感興趣的話能夠參考:http://xbeta.info/vimperator.htm
7、在bash中使用vi
Bash中默認是emacs模,你能夠用命令set -o vi 來設置爲vi模式。若是想一直使用vi模式,你能夠把set -o vi加入到家目錄下的配置文件.bashrc中。
其實還能夠用autohotkey來在別的軟件中實現vim模式的,有人已經寫了一個叫Vim_Mode的腳本,有興趣的能夠下載使用http://dl.dbank.com/c0e7mpz675
一、安裝Gvim7.3 : 下載地址http://www.vim.org/download.php#pc。
二、安裝中文幫助:vimcdoc-1.8.0-setup.exe 地址http://vimcdoc.sourceforge.net/
會自動識別gvim的安裝路徑,
安裝完後,gvim菜單中文出現亂碼,在_vimrcset文件中增長:
" 配置多語言環境,解決中文亂碼問題
if has("multi_byte")
" UTF-8 編碼
set encoding=utf-8
set termencoding=utf-8
set formatoptions+=mM
set fencs=utf-8,gbk
if v:lang =~? '^/(zh/)/|/(ja/)/|/(ko/)'
set ambiwidth=double
endif
if has("win32")
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
endif
else
echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
endif
輸入:help,顯示中文幫助,說明安裝成功:
三、設置語法高亮
編輯安裝目錄下的_vimrc文件(例如:個人在D:\Program Files\Vim)
加入如下內容:
set nu!
colorscheme desert
syntax enable
syntax on
再打開gvim,打開一個源代碼文件:
這些設置使得gvim能夠顯示行號,並使用了desert配色方案,並且打開了語法高亮功能(用不一樣顏色顯示註釋、關鍵字、字符串等)。
咱們還可讓函數名也高亮起來,
這裏對C、C++的代碼進行配置:在D:\Program Files\Vim\vim73\syntax下找到 c.vim 和 cpp.vim,分別添加如下內容:
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
hi cFunction gui=NONE guifg=#B5A1FF
從新打開gvim,效果以下:
四、程序中跳轉
將ec57w32.zip解壓,在解壓後將文件夾中的ctags.exe複製到D:\ProgramFiles\Vim\vim73下,並編輯_vimrc文件,添加如下內容:
set tags=tags;
set autochdir
而後將D:\ProgramFiles\Vim\vim73加到環境變量的path中。在須要查看的源代碼目錄下執行命令ctags -R;而後再用gvim打開源代碼文件:
按住「CTRL」鍵,點擊對應的函數名或「CTRL+]」,會自動跳轉到函數的定義部分,「CTRL+T」則返回;
五、源代碼分析工具 taglist
將taglist_45.zip解壓,解壓後包含一個doc文件夾和一個plugin文件夾,將其中內容分別複製到d:\Program Files\Vim\vim73下的doc及plugin中。
在_vimrc文件中加入如下內容:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
用gvim打開代碼文件(已生成過tags文件),輸入:Tlist,TagList窗口即出如今左側。再輸入:
:Tlist,左側欄消失;左側欄列出了當前文件中的全部宏, 全局變量, 函數名等, 在查看代碼時用這個窗口總攬全局, 切換位置至關方便
六、文件瀏覽組件 WinManager
winmanager.zip 地址http://www.vim.org/scripts/download_script.php?src_id=754
將winmanager.zip解壓和拷貝,解壓後包含一個doc文件夾和一個plugin文件夾,將其中內容分別複製到d:\Program Files\Vim\vim73下的doc及plugin中
在_vimrc文件中加入如下內容:
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>
用gvim打開代碼文件,normal狀態下輸入命令"wm",窗口以下:
左上角是瀏覽文件的窗口,左下角的是TagList窗口;
七、多文檔編輯
minibufexpl.vim 地址http://www.vim.org/scripts/download_script.php?src_id=3640
解壓後將將minibufexpl.vim複製到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:
let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplMapWindowsNavVim=1
let g:miniBufExplMapWindowNavArrows=1
用GVIM打開多個源代碼文件後,如圖:
ctrl+Tab,切換到前一個buffer,並在當前窗口打開文件;
ctrl+shift+Tab,切換到後一個buffer,並在當前窗口打開文件;
ctrl+箭頭鍵,能夠切換到上下左右窗口中;
ctrl+h,j,k,l,切換到上下左右的窗口中。
八、在工程中快速查找
grep.vim 地址http://www.vim.org/scripts/download_script.php?src_id=7645
解壓後把grep.vim文件拷貝到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:
nnoremap <silent> <F3> :Grep<CR>
由於windows下是不帶grep的,須要下載Grep for Windows http://gnuwin32.sourceforge.net/packages/grep.htm
下載後在環境變量中增長grep的路徑;
用gvim打開一個源代碼文件,光標選擇須要查找的內容,按F3,肯定要查找的內容和搜索範圍,gvim會在彈出的QuickFix窗口中列出全部符合條件的搜索結果
九、h\c切換(針對C、C++)
下載插件:a.vim 地址http://www.vim.org/scripts/download_script.php?src_id=7218
將a.vim複製到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:
nnoremap <silent> <F12> :A<CR>
用gvim打開源碼文件後,按F12便可以在c/h文件中切換,也能夠經過輸入:A實現。
十、高亮書籤
下載插件:visualmark.vim 地址http://www.vim.org/scripts/download_script.php?src_id=4700
將visualmark.vim複製到d:\Program Files\Vim\vim73\plugin。
用gvim打開源碼文件,將光標定位在須要添加書籤的地方,按下ctrl+F2,即添加了書籤。
使用F2在書籤之間正向切換,shift+F2反向切換。
十一、Python代碼補全
解壓後,將裏面的python_pydiction.vim文件複製到D:\Program Files\Vim\vimfiles\ftplugin
將complete-dict 和 pydiction.py複製到D:\Program Files\Vim\vimfiles\ftplugin\pydiction
在_vimrc文件中增長配置以下:
filetype plugin on 「啓用filetype插件
let g:pydiction_location = 'D:\Program Files\Vim\vimfiles\ftplugin\pydiction\complete-dict'
let g:pydiction_menu_height = 20 」設置彈出菜單的高度,默認是15
用gvim打開一個py文件,輸入row+[tab],就能夠看到自動補全的代碼選項了
十二、python編譯
下載VimPdb,解壓後拷貝VimPdb.py,VimPdb.vim到plugin便可。
用vim代開python代碼文件,按F5運行,而後按F2設置斷點,在運行到斷點後能夠用按F12能夠查看Stack Trace,F3查看變量和參數值。
不過這種方法使用了一下,常常會死掉,不知道爲何,因此在網上找到了另一種方法:
在_vimrc增長
python << EOF import time import vim def SetBreakpoint(): nLine = int( vim.eval( 'line(".")')) strLine = vim.current.line i = 0 strWhite = "" while strLine[i] == ' ' or strLine[i] == "\t": i += 1 strWhite += strLine[i] vim.current.buffer.append( "%(space)spdb.set_trace() %(mark)s Breakpoint %(mark)s" % {'space':strWhite, 'mark': '#' * 30}, nLine - 1) for strLine in vim.current.buffer: if strLine == "import pdb": break else: vim.current.buffer.append( 'import pdb', 0) vim.command( 'normal j1') break vim.command( 'map <C-M> :py SetBreakpoint()<cr>') def RemoveBreakpoints(): nCurrentLine = int( vim.eval( 'line(".")')) nLines = [] nLine = 1 for strLine in vim.current.buffer: if strLine == 'import pdb' or strLine.lstrip()[:15] == 'pdb.set_trace()': nLines.append( nLine) nLine += 1 nLines.reverse() for nLine in nLines: vim.command( 'normal %dG' % nLine) vim.command( 'normal dd') if nLine < nCurrentLine: nCurrentLine -= 1 vim.command( 'normal %dG' % nCurrentLine) vim.command( 'map <C-U> :py RemoveBreakpoints()<cr>') vim.command( 'map <C-D> :!python %<cr>') EOF
而後在要調試的代碼裏面用ctrl-M設斷點
ctrl-D運行
1三、Python代碼檢查
下載pyflakes,解壓縮後把pyflakes.vim文件和pyflakes目錄拷貝套ftplugin\python目錄中,打開一個有問題的python源代碼文件,執行命令:cc,便可進行代碼檢查:
Windows下Gvim的_vimrc設置
=========== my vimrc =============
" 設置文件編碼檢測類型及支持格式
set fencs=utf-8,gbk,ucs-bom,gb18030,gb2312,cp936
"解決consle輸出亂碼
language messages zh_CN.utf-8
set termencoding=cp936
"設置編碼
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
" 指定菜單語言
set langmenu=zh_CN.utf-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set guifont=DejaVu\ Sans\ Mono:h12
set guifontwide=新宋體:h12
"幫助語言
set helplang=cn
"TAB距離
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set cindent
"打開行號
set nu
"自動折行
set wrap
"開啓語法高亮設置
if !exists("syntax_on")
syntax on
endif
"Switch on search pattern highlighting.
set hlsearch
"Hide the mouse when typing text
set mousehide
"設置默認語言爲C
set filetype=c
"設置鍵映射快捷鍵
"map <C-F9> :!d:\usr\perl\bin\perl %
"map <C-F11> :!e:\firefox\firefox localhost:8080/perl/%
"設置默認目錄
lcd D:\Workspace\SVN_Root\BTS_SC_DSP\trunk\workarea\C_Application\SC_DSP
"vimrc初始設置
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
1 "======================================================================
2 " Filename: vimrc
3 " Author: Wu Yin(吳垠)
4 " Email: lazy_fox#gmail.com
5 " Homepage: http://blog.csdn.net/wooin
6 " Created: 2007-10-26
7 "===============================================================================
8 set encoding=gb2312
9 set guifont=Luxi\ Mono\ 9 " 設置字體,字體名稱和字號
10 set tabstop=4 " 設置tab鍵的寬度
11 set backspace=2 " 設置退格鍵可用
12 set nu! " 顯示行號
13 set vbt_vb= " vim進行編輯時,若是命令錯誤,會發出一個響聲,該設置去掉響聲
14 "set wrap " 自動換行
15 "set nowrap " 不自動換行
16 set linebreak " 整詞換行
17 set whichwrap=b,s,<,>,[,] " 光標從行首和行末時能夠跳到另外一行去
18 "set list " 顯示製表符
19 "set listchars = tab:>-,trail:- " 將製表符顯示爲'>---',將行尾空格顯示爲'-'
20 set listchars=tab:.\ ,trail:. " 將製表符顯示爲'. '
21 set autochdir " 自動設置目錄爲正在編輯的文件所在的目錄
22 set hidden " 沒有保存的緩衝區能夠自動被隱藏
23 set scrolloff=5
24
25 "--------------------------------------------------------------------------------
26 " 查找/替換相關的設置
27 "--------------------------------------------------------------------------------
28 set hlsearch " 高亮顯示搜索結果
29 set incsearch " 查詢時很是方便,如要查找book單詞,當輸入到/b時,會自動找到
30 " 第一個b開頭的單詞,當輸入到/bo時,會自動找到第一個bo開頭的
31 " 單詞,依次類推,進行查找時,使用此設置會快速找到答案,當你
32 " 找要匹配的單詞時,別忘記回車
33 set gdefault " 替換時全部的行內匹配都被替換,而不是隻有第一個
34
35 "--------------------------------------------------------------------------------
36 " 狀態欄相關的設置
37 "--------------------------------------------------------------------------------
38 set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
39 set laststatus=2 " always show the status line
40 set ruler " 在編輯過程當中,在右下角顯示光標位置的狀態行
41
42 "--------------------------------------------------------------------------------
43 " 編程相關的設置
44 "--------------------------------------------------------------------------------
45 set completeopt=longest,menu " 關掉智能補全時的預覽窗口
46 filetype pluginindenton " 加了這句才能夠用智能補全
47 :set tags=/home/nfs/microwindows/src/tags
48 syn on " 打開語法高亮
49 set showmatch " 設置匹配模式,相似當輸入一個左括號時會匹配相應的那個右括號
50 set smartindent " 智能對齊方式
51 set shiftwidth=4 " 換行時行間交錯使用4個空格
52 set autoindent " 自動對齊
53 set ai! " 設置自動縮進
54 colorscheme desert_wuyin
55
56 "--------------------------------------------------------------------------------
57 " 代碼摺疊
58 "--------------------------------------------------------------------------------
59 "set foldmarker={,}
60 "set foldmethod=marker
61 set foldmethod=syntax
62 set foldlevel=100 " Don't autofold anything (but I can still fold manually)
63 "set foldopen-=search " don't open folds when you search into them
64 "set foldopen-=undo " don't open folds when you undo stuff
65 "set foldcolumn=4
66
67 "--------------------------------------------------------------------------------
68 " 模仿MS Windows中的快捷鍵
69 "--------------------------------------------------------------------------------
70 vmap <C-c> "yy
71 vmap <C-x> "yd
72 nmap <C-v> "yp
73 vmap <C-v> "yp
74 nmap <C-a> ggvG$
75
76 "--------------------------------------------------------------------------------
77 " 窗口操做的快捷鍵
78 "--------------------------------------------------------------------------------
79 nmap wv <C-w>v " 垂直分割當前窗口
80 nmap wc <C-w>c " 關閉當前窗口
81 nmap ws <C-w>s " 水平分割當前窗口
82
83 "--------------------------------------------------------------------------------
84 " 模仿MS Windows中的保存命令: Ctrl+S
85 "--------------------------------------------------------------------------------
86 imap <C-s> <Esc>:wa<cr>i<Right>
87 nmap <C-s> :wa<cr>
88
89
90
91
92 "###############################################################################
93 " The following is the Plugins' setting
94 "###############################################################################
95
96 "--------------------------------------------------------------------------------
97 " TagList :Tlist
98 "--------------------------------------------------------------------------------
99 let Tlist_Show_One_File=1
100 let Tlist_Exit_OnlyWindow = 1
101 "let Tlist_Use_Right_Window=1
102
103 "--------------------------------------------------------------------------------
104 " netrw 文件瀏覽器 :e <PATH>
105 "--------------------------------------------------------------------------------
106 "let g:netrw_winsize = 30 " 瀏覽器寬度
107
108 "--------------------------------------------------------------------------------
109 " QuickFix
110 "--------------------------------------------------------------------------------
111 nmap <F6> :cn<cr> " 切換到下一個結果
112 nmap <F7> :cp<cr> " 切換到上一個結果
113
114 "--------------------------------------------------------------------------------
115 " WinManager :WMToggle
116 "--------------------------------------------------------------------------------
117 let g:winManagerWindowLayout='FileExplorer|TagList'
118 "let g:winManagerWidth = 30
119 "let g:defaultExplorer = 0
120 "nmap <C-w><C-b> :BottomExplorerWindow<cr> " 切換到最下面一個窗格
121 "nmap <C-w><C-f> :FirstExplorerWindow<cr> " 切換到最上面一個窗格
122 nmap wm :WMToggle<cr> " 是nomal模式的命令,不是Ex模式的
123
124 "--------------------------------------------------------------------------------
125 " MiniBufExp
126 "--------------------------------------------------------------------------------
127 "let g:miniBufExplMapWindowNavVim = 1
128 let g:miniBufExplMapWindowNavArrows = 1
129 let g:miniBufExplMapCTabSwitchBufs = 1
130 "let g:miniBufExplModSelTarget = 1
131
132 "--------------------------------------------------------------------------------
133 " cscope
134 "--------------------------------------------------------------------------------
135 cs add /home/nfs/microwindows/src/cscope.out /home/nfs/microwindows/src
136 :set cscopequickfix=s-,c-,d-,i-,t-,e-
137 :set cscopetag
138 " 按下面這種組合鍵有技巧,按了<C-_>後要立刻按下一個鍵,不然屏幕一閃
139 " 就回到nomal狀態了
140 " <C-_>s的按法是先按"Ctrl+Shift+-",而後很快再按"s"
141 nmap <C-_>s :cs find s <C-R>=expand("<cword>")<cr><cr> :cw<cr>
142 nmap <C-_>g :cs find g <C-R>=expand("<cword>")<cr><cr> :cw<cr>
143 nmap <C-_>c :cs find c <C-R>=expand("<cword>")<cr><cr> :cw<cr>
144 nmap <C-_>t :cs find t <C-R>=expand("<cword>")<cr><cr> :cw<cr>
145 nmap <C-_>e :cs find e <C-R>=expand("<cword>")<cr><cr> :cw<cr>
146 nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<cr><cr>
147 nmap <C-_>i :cs find i <C-R>=expand("<cfile>")<cr><cr> :cw<cr>
148 nmap <C-_>d :cs find d <C-R>=expand("<cword>")<cr><cr> :cw<cr>
149
150 "--------------------------------------------------------------------------------
151 " Grep
152 "--------------------------------------------------------------------------------
153 "直接按下<F3>鍵來查找光標所在的字符串
154 nnoremap <silent> <F3> :Rgrep<CR>
155
156 "--------------------------------------------------------------------------------
157 " A
158 "--------------------------------------------------------------------------------
159 nnoremap <silent> <F12> :A<CR>
160
161 "--------------------------------------------------------------------------------
162 " NERD_commenter
163 "--------------------------------------------------------------------------------
164 let NERD_c_alt_style = 1 " 將C語言的註釋符號改成//, 默認是/**/
165 "nmap <F5> ,cc
166
167 "--------------------------------------------------------------------------------
168 " SuperTab :SuperTabHelp
169 "--------------------------------------------------------------------------------
170 let g:SuperTabRetainCompletionType = 2
171 let g:SuperTabDefaultCompletionType = "<C-X><C-O>"
172
173 "--------------------------------------------------------------------------------
174 " CVim :help csupport
175 "--------------------------------------------------------------------------------
176 let g:C_Comments = "no" " 用C++的註釋風格
177 let g:C_BraceOnNewLine = "no" " '{'是否獨自一行
178 let g:C_AuthorName = "Wu Yin"
179 let g:C_Project="F9"
180 let g:Cpp_Template_Function = "c-function-description-wuyin"
181 let g:C_TypeOfH = "c" " *.h文件的文件類型是C仍是C++
182
183 "##################################################################
184 "########################## End Of Vimrc ##########################
185 "##################################################################
186
187 " if filetype is C
188 " TODO
189 " fi