Home
什么是VimDesktop
VimDesktop = Vim Mode At Desktop
Vim的模式與快捷鍵讓人着迷,使用Vim的人會希望將這種模式應用在任意程序中,於是有了Vimperator/Pentadactyl@Firefox,vimium@Chrome。
2012年中國小伙Array(linxinhong.sky At gmail.com)使用ahk開發了viatc(Vim Mode At Total Commander),這讓強大的文件管理利器Total Commander插上了Vim的翅膀:把復雜的操作,用兩只手在鍵盤上敲擊出來;最多兩次按鍵,即可完成大部分TC操作。
2013年,viatc擴展為VimDesktop(Vim Mode At Desktop),使得我們可以在Windows的任意桌面程序上使用Vim的模式進行操作。
VimDesktop適用對象
- Total Commander:最好你已經安裝並使用了Total Commander,認為TC大大提高了你的工作效率,那么你一定要嘗試一下VimDesktop,VimDesktop將會再一次提升你的使用境界——VimDesktop目前對Total Commander的支持最為成熟和完善,畢竟VimDesktop是從viatc發展過來的且更為強大;
- 如果你使用Vim作為編輯器,對Vim的操作模式和快捷鍵有些狂熱,希望把它們應用在任何場合,那么VimDesktop也許正是你的期待;
- 如果你已習慣Firefox上的擴展Vimperator/Pentadactyl,並將之作為使用Firefox的重大理由,那么VimDesktop絕對不容錯過;
- 如果你使用AutoHotkey編寫一些腳本用來輔助工作,那么VimDesktop可以為您提供一種Vim的方式來集中管理這些腳本;
- 如果上述情況你都不了解,那么你必須是一個擁有折騰精神的人,好好學習,天天向上吧。
VimDesktop能干什么
簡單來說,可以將VimDesktop理解為一個可以自定義快捷鍵的工具;不簡單的地方在於,VimDesktop擁有高度可配置性的定義方式:
- 可以定義不帶有Win、Ctrl、Alt等輔助功能鍵的快捷鍵:這恰恰是VimDesktop能夠獲得更高效的途徑之一;
- 可以定義全局快捷鍵及其對應的功能:任意場景下按下全局快捷鍵都會觸發你希望執行的操作,VimDesktop可以對系統全局快捷鍵重新定義,比如我們將Win+E默認打開資源管理器,替換為默認打開Total Commander;
- 可以為指定應用程序定義快捷鍵
- 可以為指定應用程序的指定界面定義快捷鍵
- 可以為指定應用程序或指定界面定義多個模式,每種模式下可分別定義不同的快捷鍵:常用模式如normal、insert,比如在normal模式下按下dd,將刪除選定文件,而在插入模式(比如修改文件名時)下按下dd,僅僅是輸入了兩個字母dd
- 可以通過指定可執行文件、批處理命令的方式來實現快捷鍵對應的功能
- 可以通過Autohotkey模擬發送按鍵實現對應功能
- 可以通過Autohotkey編寫特定方法實現想要的功能,Autohotkey讓你幾乎無所不能...
VimDesktop的安裝與配置
- 下載 VimDesktop,最新版本
- 運行vimd.exe,此時VimDesktop也許會彈出窗口要求設置Total Commander的安裝路徑。
此時VimDesktop在系統托盤添加了一個圖標,並自動注冊了很多熱鍵,可通過右鍵菜單“查看熱鍵”,來查看:
- 窗口:快捷鍵起作用的應用窗口,其中全局——相當於系統級的全局快捷鍵;General——對所有窗口都起作用;TTOTAL_CMD,為Total Commander定義的快捷鍵
- 模式:類似於Vim的模式,通常包括normal模式(按下win+t(可在配置文件中修改快捷鍵)可進入),該模式下可使用類似Vim的快捷鍵進行相關操作,如
j
向下滾動;insert模式(在Normal模式下按下i
可進入insert模式),此時通常不包括任何快捷鍵定義,此時VimDesktop將不起作用。
快速上手
IE瀏覽器示例
- 打開IE瀏覽器
- 按下快捷鍵
win+t
即進入normal模式 - 按下
j
,向下滾動 - 按下
k
,向上滾動 - 按下
x
,關閉窗口
說明:
- 更多快捷鍵,VimDesktop托盤圖標右鍵菜單-查看熱鍵,其中窗口-General,模式-normal下的快捷鍵均可使用
- 如需輸入地址、編寫內容等,請首先按下 i 進入insert模式,否則將無法正確輸入j/k等字符
Total Commander示例
打開Total Commander,此時默認即為normal模式,此時可使用的常用快捷鍵如下:
將TotalCommander作為文件打開對話框
win + o
,全局快捷鍵,在文件對話框或任意文字編輯界面按下該快捷鍵將跳轉至TC並激活select模式,該模式下可通過按下Ctrl+回車選定文件,如需多選則在TC中選定多個文件后再按Ctrl+回車;- 可通過配置文件設置自動激活TC進行文件選擇,並排除不需要的自動跳轉,注意:僅當對話框的輸入框內無文字時才進行自動跳轉。
[TotalCommander_Config]
;設置為 1 -- 將使用TC作為文件選擇對話框,打開文件選擇對話框時,會自動跳轉到TC
;設置為 0 -- 將禁用TC作為文件選擇對話框,此時仍可使用<lwin>o激活TC進行文件選擇
AsOpenFileDialog=0
;含有指定字符串的窗體被打開時,禁用自動跳轉到TC的功能,以逗號間隔
OpenFileDialogExclude=password,密碼,任何字符串,工作表名稱,查找,替換
更多功能及快捷鍵:VimDesktop托盤圖標,右鍵菜單,查看熱鍵,窗口-TTOTAL_CMD,模式normal
個性化應用
通過配置文件自定義快捷鍵
一千個讀者眼里有一千個哈姆雷特,每個人都可以根據自己的喜好來自定義快捷鍵。
配置文件—— vimd.ini,可在其內自定義快捷鍵取代默認的快捷鍵,可參考我們提供的示例文件 vimd.ini.help.txt 進行修改。下面提供部分示例:
;=====Total Commander快捷鍵配置=============
[TTOTAL_CMD]
;熱鍵定義語法
;ff 熱鍵 --按下兩次f鍵
;<cm_SearchFor> 對應的動作
;[=normal] 在normal模式下生效
ff=<cm_SearchFor>[=normal]
;全選
a=<cm_SelectAll>[=normal]
;全部取消
<c-d>=<cm_ClearAll>[=normal]
;刪除
x=<cm_Delete>[=normal]
;編輯
e=<cm_edit>[=normal]
;彈出右鍵菜單
o=<cm_ContextMenu>[=normal]
;查看
w=<cm_list>[=normal]
; 運行命令
<s-q>=run|c:\mine\app\run.exe
編寫ahk插件
如果您對ahk比較熟悉,請參考Plugins文件夾中的現有插件來編寫插件,豐富VimDesktop的功能。
為VimDesktop做貢獻
- 提交問題或建議:https://github.com/goreliu/vimdesktop/issues
- 幫助編寫文檔:https://github.com/goreliu/vimdesktop/wiki
- 編寫ahk插件,參考資料: 如何編寫一個插件
- 參與VimDesktop的開發
Pages 8
- © 2020 GitHub, Inc.