也许你和我一样,使用着两大神器, Vim 和 Total Commander
Vim的模式与快捷键让人着迷,TC的高效和强大,让人欢喜。
于是,我尝试将Vim与TC结合,让TC在操作上,变更加快捷起来。
Vim Mode At Total Commander 简介
也许你和我一样,使用着两大利器,Vim与TotalCommander。
Vim的模式与快捷键让人着迷,TC的高效和强大,让人欢喜。
于是,我尝试将Vim模式与TC结合,让TC操作“快捷”起来。
如果你曾经使用过Vim,又正在使用TC,那么你会喜欢ViATc
如果你在使用TC,但又觉得鼠标的点击不足以更快速地操作,那么你会想用ViATc
把复杂的操作,用两只手在键盘上敲击出来。是编写ViATc的初衷。
让TC带有Vim的模式,h,j,k,l移动和更多;按下:到命令行模式。
不需要使用时,Alt+`禁用功能,或者干脆退出ViATc,对TC完全无影响。
任意一个快捷键都不与TC自带的快捷键冲突,绿色。
常驻为任务栏图标,双击任务栏图标,或者Win+w调用TC
多次移动、组合键、还有更多……
等待您的建议,一起让ViATc变得更加好用
有关ViATC的使用过程遇到的问题和建议可以发邮件到[email protected]
关于ViATc的更多想法,也可以加Q群7995919
下载:
程序: ViATc_0.5.1_CN.7z
报病毒和x64的TCer可以下载源码。然后安装AHK_L,再运行源码ViATc.ahk即可。
源码: ViATc_0.5.1_CN_1016.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
|
自動補齊檔案內的上 |
一、Visual Studio中的Vim插件:
1. ViEmu(收费)
地址:http://www.viemu.com/
还有在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
二、Eclipse中的vim插件:
1. viPlugin(收费)
地址:http://www.viplugin.com/
不错的插件,功能上比其他的要好,不过要收费。
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.org/
项目主页:http://eclim.sourceforge.net/
关于eclipse中的插件还可以参考:http://paddy-w.iteye.com/blog/969366
以下红字部分来自http://ihacklog.com/software/cool_software_share/vim-plugins-for-ide.html
三、Netbeans IDE中的Vim插件: Jvi
http://jvi.sourceforge.net/
jVi是Vim一些基本功能的JAVA版实现。在netbeans里面可以很方便地启用和禁用jVi编辑器。jVi目前支持超过200个vim命令:
http://jvi.sourceforge.net/vimhelp/help.txt.html#reference_toc
四、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
五、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
六、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
七、在bash中使用vi
Bash中默认是emacs模,你可以用命令set -o vi 来设置为vi模式。如果想一直使用vi模式,你可以把set -o vi加入到家目录下的配置文件.bashrc中。
其实还可以用autohotkey来在别的软件中实现vim模式的,有人已经写了一个叫Vim_Mode的脚本,有兴趣的可以下载使用http://dl.dbank.com/c0e7mpz675
1、安装Gvim7.3 : 下载地址http://www.vim.org/download.php#pc。
2、安装中文帮助: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,显示中文帮助,说明安装成功:
3、设置语法高亮
编辑安装目录下的_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,效果如下:
4、程序中跳转
将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”则返回;
5、源代码分析工具 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,左侧栏消失;左侧栏列出了当前文件中的所有宏, 全局变量, 函数名等, 在查看代码时用这个窗口总揽全局, 切换位置相当方便
6、文件浏览组件 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窗口;
7、多文档编辑
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,切换到上下左右的窗口中。
8、在工程中快速查找
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窗口中列出所有符合条件的搜索结果
9、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实现。
10、高亮书签
下载插件: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反向切换。
11、Python代码补全
下载插件pydiction-1.2.zip
解压后,将里面的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],就可以看到自动补全的代码选项了
12、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设断点
13、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 " fihttp://my.oschina.net/alphajay/blog/30419