最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

macOS下的emacs啟動腳本,加速文件打開(基于AppleScript實現(xiàn))

2020-05-20 18:36 作者:杜衡圖南  | 我要投稿

一、 介紹與程序原理

在emacs中,我們可以使用“emacs --daemon”命令來啟動emacs的守護(hù)程序,以提高以后打開emacs的速度。但是在命令行中執(zhí)行上述命名會使命令行處于占用模式,不方便后續(xù)操作,因此需要使用腳本后臺創(chuàng)建一個守護(hù)程序。

創(chuàng)建守護(hù)程序以后,再打開文件就可以使用“emacsclient -c -n?+?文件名”?命令在新的frame中打開文件,同時也可以使用“emacsclient -c -n”創(chuàng)建一個空白的frame。

然而emacs安裝以后默認(rèn)創(chuàng)建的應(yīng)用程序使用的emacs命令啟動,而并非使用emacsclient啟動,在macOS系統(tǒng)中,可以使用“automator(自動操作)”工具,方便的創(chuàng)建腳本,實現(xiàn)上述功能。

另外,如果使用zotero配合org-mode來做筆記,會發(fā)現(xiàn)默認(rèn)情況下在zotero添加的以org為后綴名的附件,并不能雙擊啟動,因此,需要創(chuàng)建下方的客戶端啟動腳本,然后配合Mac系統(tǒng)下的“預(yù)設(shè)應(yīng)用程序”工具,將org后綴名全部通過自己創(chuàng)建的客戶端啟動腳本啟動,就可以實現(xiàn)雙擊打開org附件的功能。


二、創(chuàng)建守護(hù)腳本

  1. 在macOS的啟動器中啟動自動操作工具(如圖1)

圖1?自動操作工具

2. 在打開的窗口中選擇“應(yīng)用程序”(如圖2)

圖2 選擇應(yīng)用程序

3. 搜索“AppleScript”并將它拖到主界面。

圖3 創(chuàng)建一個AppleScript

4.?刪除框中全部內(nèi)容,并寫入如下內(nèi)容:

tell application "Terminal"

do shell script "/Applications/Emacs.app/Contents/MacOS/Emacs --daemon >/dev/null 2>&1 &"

end tell

圖4 輸入腳本代碼


5.?保存腳本

執(zhí)行“文件-存儲”,將腳本保存到“應(yīng)用程序”文件夾下。這里的文件名可以自定義。后面就用這個文件名啟動emacs守護(hù)程序。


三、創(chuàng)建客戶端啟動腳本

重復(fù)以上 1-3?步,在第四步中換成如下腳本代碼

on run argv
set temp to item 1 of argv as string
if temp is equal to "" then
set real_Path to " " as string
display notification with title "Open Emacs"
else
set POSIX_Path to item 1 of argv as string
set real_Path to POSIX path of POSIX_Path as string
display notification real_Path with title "Open in Emacs..."
end if

tell application "Terminal"
try
set frameVisible to do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -e '(<= 2 (length (visible-frame-list)))'"
if frameVisible is not "t" then
do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -c -n " & real_Path
end if
on error
do shell script "/Applications/Emacs.app/Contents/MacOS/Emacs --daemon >/dev/null 2>&1 &"
do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -c -n " & real_Path
end try
end tell
tell application "Emacs" to activate
end run

完成后執(zhí)行上方第5步,命名并保存。啟動程序創(chuàng)建完畢。


?四、小結(jié)

為了進(jìn)一步提高emacs效率,我們可以在“系統(tǒng)設(shè)置-用戶與群組-登陸項”中將守護(hù)腳本添加進(jìn)來。這樣每次啟動電腦后,將自動啟動emacs服務(wù)程序。

本文對于帶參數(shù)傳入的AppleScript腳本的編寫,有參照價值。并且在腳本編程中應(yīng)用了POSIX知識。


五、 參考資料

  1. Aaron5, 2012. OS X下的Emacs Deamon模式設(shè)置 - Nil - ITeye博客[EB/OL](2012–11–13)[2020–05–20].?https://www.iteye.com/blog/clojure-1724368.

  2. Apple, 2016. Introduction to AppleScript Language Guide[EB/OL](2016–01–25)[2020–05–20].?https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html.


macOS下的emacs啟動腳本,加速文件打開(基于AppleScript實現(xiàn))的評論 (共 條)

分享到微博請遵守國家法律
南郑县| 新巴尔虎右旗| 桃源县| 肇源县| 文昌市| 洞口县| 施秉县| 兴隆县| 乐山市| 玉田县| 绍兴市| 安化县| 含山县| 棋牌| 扶沟县| 宁德市| 怀集县| 璧山县| 七台河市| 呼和浩特市| 青田县| 平利县| 饶平县| 阜康市| 汉川市| 井研县| 特克斯县| 仙居县| 沁阳市| 湖北省| 恩施市| 扎兰屯市| 怀化市| 金寨县| 岚皋县| 娄烦县| 阿坝县| 张北县| 阿拉善左旗| 滦南县| 扎鲁特旗|