Windows 下用来快速启动 emacs client 的脚本

首先在TotalCommander.ahk中,增加如下代码。

<TC_RunEmacs>:
    TC_RunEmacs("")
return
<TC_EmacsEdit>:
    Clipboard :=
    SendPos(2018)
    ClipWait
    TC_RunEmacs(Clipboard)
return
TC_RunEmacs(filename)
{
	;; 如果不存在emacs,则删除Server文件后再运行
	IfWinNotExist, ahk_class Emacs
	{
		FileDelete, d:\emacs\.emacs.d\server\server
	    Run, D:\emacs\bin\emacsclientw.exe -n -a d:\emacs\bin\runemacs.exe --server-file d:\emacs\.emacs.d\server\server "%filename%",, Max
	}
	Else
	{
		;; 如果传入文件,则打开
		if StrLen(filename) > 1
	    {
	    	Run, D:\emacs\bin\emacsclientw.exe -n -a d:\emacs\bin\runemacs.exe --server-file d:\emacs\.emacs.d\server\server "%filename%",, Max
	    }
	    ;; 否则在最大、最小化间切换
	    else
		{
		    IfWinNotActive
		    {
		        WinMaximize
		        WinActivate
		    }
		    else
		    {
		        WinGet, TcWinState, MinMax, A
		        If (TcWinState = 1)
		            WinMinimize
		        Else
		            WinMaximize
		    }
	    }
	}
}

并将e键的定义改过来。 vim.map("e", "<TC_EmacsEdit>", "TTOTAL_CMD")

然后在vimd.ini中,增加启动emacs的热键,我用Win+’ <w-'>=<TC_RunEmacs>

2 个赞