Windows下vim方式操做軟件+Gvim使用

Vim+ Total Command

http://sourceforge.net/p/viatc/home

im key At Total Commander

也許你和我同樣,使用着兩大神器, Vim Total Commander php

Vim的模式與快捷鍵讓人着迷,TC的高效和強大,讓人歡喜。 html

因而,我嘗試將Vim與TC結合,讓TC在操做上,變動加快捷起來。 python

  • 讓TC帶有Vim的模式 ,h,j,k,l移動和更多;
  • 按下:到命令行模式;按下i到編輯模式。
  • 不須要使用時,Alt+Esc禁用功能,或者乾脆退出ViATc, 對TC徹底無影響
  • 任意一個快捷鍵都不與TC自帶的快捷鍵衝突,綠色。
  • 你能夠常駐爲 任務欄圖標 ,雙擊任務欄圖標,或者 Win+E調用TC
  • 作爲一個 TC插件 安裝,方便快捷。
  • 屢次移動、組合鍵、永久 保存/恢復選擇列表、還有更多……


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

程序: 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目錄中。

給程式設計師的Vim入門圖解說明

剛在寫那篇關於vi和文字編輯器的文章時,本來想附上一個vim的超簡單入門連結,但找了一下都沒有很滿意的,因此決定本身動手先來畫個入門用的說明圖。

vim-cheat-sheet-full
PDF版下載

vim-cheat-sheet-diagram

這個圖把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
自動補齊檔案內的上


用vim的方式操做你的軟件

1、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

 

2、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

 

3、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

 

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



Gvim開發環境配置筆記--Windows篇

一、安裝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,顯示中文幫助,說明安裝成功:

Image

三、設置語法高亮

編輯安裝目錄下的_vimrc文件(例如:個人在D:\Program Files\Vim)

     加入如下內容:

     set nu!

     colorscheme desert
     syntax enable
     syntax on

再打開gvim,打開一個源代碼文件:

Image(1)

這些設置使得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,效果以下:

Image(2)


四、程序中跳轉

將ec57w32.zip解壓,在解壓後將文件夾中的ctags.exe複製到D:\ProgramFiles\Vim\vim73下,並編輯_vimrc文件,添加如下內容:
set tags=tags;
set autochdir

 

而後將D:\ProgramFiles\Vim\vim73加到環境變量的path中。在須要查看的源代碼目錄下執行命令ctags -R;而後再用gvim打開源代碼文件:

Image(3)


按住「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

Image(4)


用gvim打開代碼文件(已生成過tags文件),輸入:Tlist,TagList窗口即出如今左側。再輸入:

:Tlist,左側欄消失;左側欄列出了當前文件中的全部宏,  全局變量,  函數名等,  在查看代碼時用這個窗口總攬全局,  切換位置至關方便

Image(5)



六、文件瀏覽組件 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",窗口以下:

Image(6)

左上角是瀏覽文件的窗口,左下角的是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打開多個源代碼文件後,如圖:

Image(7)

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窗口中列出全部符合條件的搜索結果

Image(8)

九、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,即添加了書籤。

Image(9)

使用F2在書籤之間正向切換,shift+F2反向切換。

十一、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],就能夠看到自動補全的代碼選項了

Image(10)

十二、python編譯

下載VimPdb,解壓後拷貝VimPdb.py,VimPdb.vim到plugin便可。

用vim代開python代碼文件,按F5運行,而後按F2設置斷點,在運行到斷點後能夠用按F12能夠查看Stack Trace,F3查看變量和參數值。

Image(11)

不過這種方法使用了一下,常常會死掉,不知道爲何,因此在網上找到了另一種方法:

在_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,便可進行代碼檢查:

Image(12)


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

 

 
"======================================================================     
 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
相關文章
相關標籤/搜索