-
Notifications
You must be signed in to change notification settings - Fork 75
Home
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扩展为vimd(Vim Mode At Desktop),使得我们可以在Windows的任意桌面程序上使用Vim的模式进行操作。
- Total Commander:最好你已经安装并使用了Total Commander,认为TC大大提高了你的工作效率,那么你一定要尝试一下VimDesktop,VimDesktop将会再一次提升你的使用境界--vimd目前对Total Commander的支持最为成熟和完善,毕竟vimd是从viatc发展过来的且更为强大;
- 如果你使用Vim作为编辑器,对Vim的操作模式和快捷键有些狂热,希望把它们应用在任何场合,那么VimDesktop也许正是你的期待;
- 如果你已习惯Firefox上的扩展Vimperator/Pentadactyl,并将之作为使用Firefox的重大理由,那么VimDesktop绝对不容错过;
- 如果你使用AutoHotkey编写一些脚本用来辅助工作,那么VimDesktop可以为您提供一种Vim的方式来集中管理这些脚本
- 如果上述情况你都不了解,那么你必须是一个拥有折腾精神的人,好好学习,天天向上吧
简单来说,可以将VimDesktop理解为一个可以自定义快捷键的工具;不简单的地方在于,VimDesktop拥有高度可配置性的定义方式:
- 可以定义不带有Win、Ctrl、Alt等辅助功能键的快捷键:这恰恰是VimDesktop能够获得更高效的途径之一;
- 可以定义全局快捷键及其对应的功能:任意场景下按下全局快捷键都会触发你希望执行的操作,VimDesktop可以对系统全局快捷键重新定义,比如我们将Win+E默认打开资源管理器,替换为默认打开Total Commander;
- 可以为指定应用程序定义快捷键
- 可以为指定应用程序的指定界面定义快捷键
- 可以为指定应用程序或指定界面定义多个模式,每种模式下可分别定义不同的快捷键:常用模式如normal、insert,比如在normal模式下按下dd,将删除选定文件,而在插入模式(比如修改文件名时)下按下dd,仅仅是输入了两个字母dd
- 可以通过指定可执行文件、批处理命令的方式来实现快捷键对应的功能
- 可以通过Autohotkey模拟发送按键实现对应功能
- 可以通过Autohotkey编写特定方法实现想要的功能,Autohotkey让你几乎无所不能...
-
下载安装运行需求软件 Autohotkey
-
下载 VimDesktop。根据需要二选一即可,可下载稳定的发行版本,如果希望尝试最新功能,可下载开发版。
-
启动软件
双击执行src\VimDesktop\vimd.ahk,即启动了VimDesktop。此时VimDesktop也许会弹出窗口要求设置Total Commander的安装路径,设置或直接关闭均可。
此时VimDesktop在系统托盘添加了一个图标,并自动注册了很多热键,可通过右键菜单“显示热键”,来查看:
-
窗口:快捷键起作用的应用窗口,其中全局--相当于系统级的全局快捷键;general--对所有窗口都起作用;TTotal_CMD,为Total Commander定义的快捷键
-
模式:类似于Vim的模式,通常包括normal模式(按下Ctrl+ESC可进入),该模式下可使用类似Vim的快捷键进行相关操作,如
j
向下滚动;insert模式(在Normal模式下按下i
可进入insert模式),此时通常不包括任何快捷键定义,此时VimDesktop将不起作用。
- 打开IE浏览器
- 按下快捷键
Ctrl+ESC
即进入normal模式 - 按下
j
,向下滚动 - 按下
k
,向上滚动 - 按下
x
,关闭窗口
说明:
- 更多快捷键,VimDesktop托盘图标右键菜单-查看热键,其中窗口-general,模式-normal下的快捷键均可使用
- 如需输入地址、编写内容等,请首先按下 i 进入insert模式,否则将无法正确输入j/k等字符
打开Total Commander,此时默认即为normal模式,此时可使用的常用快捷键如下。
-
g0
,激活最后第一个标签页 -
g1
,激活第一个标签页 -
g2
,激活第二个标签页 -
gt
/gT
,激活前一个/后一个标签页
-
j
/k
,可上下移动当前文件 -
gg
/G
,移动光标到最顶端/最底端,相当于HOME/END -
u
,返回上一层次文件夹 -
H
/L
,后退与前进 -
n
,为历史菜单,通过按下历史条目对应的字母即可快速导航到历史路径 -
/
,打开快速搜索菜单 -
J
/K
,向上、向下选中文件、文件夹 -
r
,可对当前文件进行改名 -
R
,按下R可对当前选中文件进行批量重命名 -
fc
,可将当前选中文件复制到对侧窗口 -
fx
,可将当前选中文件移动到对侧窗口 -
y
,复制选中文件名到剪切版 -
Y
,复制选中文件名及路径到剪切版
-
<lwin>o
,全局快捷键,在文件对话框或任意文字编辑界面按下该快捷键将跳转至TC并激活select模式,该模式下可通过按下回车或Ctrl+回车选定文件;未多选情况下在文件夹上按下回车时,进入该文件夹而非选定 -
可通过配置文件设置自动激活TC进行文件选择,并排除不需要的自动跳转,注意:仅当对话框的输入框内无文字时才进行自动跳转
[TotalCommander_Config] ;设置为 1 -- 将使用TC作为文件选择对话框,打开文件选择对话框时,会自动跳转到TC ;设置为 0 -- 将禁用TC作为文件选择对话框,此时仍可使用<lwin>o激活TC进行文件选择 ;选定文件后,回车打开选定文件 AsOpenFileDialog=1 ;含有指定字符串的窗体被打开时,禁用自动跳转到TC的功能,以逗号间隔 OpenFileDialogExclude=password,密码,任何字符串,工作表名称,查找,替换
更多功能及快捷键:VimDesktop托盘图标,右键菜单,查看热键,窗口-TTotal_CMD,模式normal
一千个读者眼里有一千个哈姆雷特,每个人都可以根据自己的喜好来自定义快捷键。
配置文件-- src\VimDesktop\vimd.ini,可在其内自定义快捷键取代默认的快捷键,可参考我们提供的示例文件 src\VimDesktop\vimd.ini.help.txt 进行修改。下面提供部分示例
;=====Total Commander快捷键配置=============
[TTOTAL_CMD]
;热键定义语法
;ff 热键 --按下两次f键
;<cm_SearchFor> 对应的动作
;[=normal] 在normal模式下生效
ff=<cm_SearchFor>[=normal]
;全选
a=<cm_SelectAll>[=normal]
;全部取消
<shift>a=<cm_ClearAll>[=normal]
;删除
dd=<cm_Delete>[=normal]
;编辑
e=<cm_edit>[=normal]
;弹出右键菜单
<shift>e=<cm_ContextMenu>[=normal]
;查看
v=<cm_list>[=normal]
;弹出USB设备,使用括号指定可执行文件
dr=(D:\USB_Disk_Eject\USB_Disk_Eject.exe)[=normal]
如果您对ahk比较熟悉,请参考src\VimDesktop\TotalCommander文件夹中的内容来编写插件,丰富VimDesktop的功能。
- 提交问题或建议:https://github.com/victorwoo/vimdesktop/issues
- 帮助编写文档:https://github.com/victorwoo/vimdesktop/wiki
- 编写ahk插件,参考资料: 如何编写一个插件
- 参与VimDesktop的开发
- 捐助VimDesktop基金会 https://me.alipay.com/viatc