是否存在一種專門編輯文字的指令碼語言?

2021-05-26 05:41:38 字數 1341 閱讀 9567

我現在是比較習慣 emacs 的快捷鍵,而且最近使用的鍵盤按方向鍵不太方便,所以很希望所使用的軟體都能用 emacs 的快捷鍵來操作。

一開始,我使用 xkeymacs (日本人開發的一款小工具),它能把 windows 下所有應用程式的快捷鍵都轉換成 emacs 的。不過這個軟體不太穩定,和 mitty 等軟體配合得也不好;可配置性也不強,只能選擇是否啟用某些快捷鍵。

後來我想到 autohotkey,它算是一門指令碼語言,可以用指令碼模擬滑鼠、鍵盤操作,控制 windows 視窗等,最主要的是可以給任何操作繫結熱鍵。就定義快捷鍵而言,它絕對是無可匹敵了,我仔細研究了一下它的文件,發現它只能用來組合現有功能,而且不具備 操作文字的能力。

簡單地說,我用 autohotkey 能做到的地步就是將 windows 記事本一些現有的快捷鍵切換成和 emacs 一樣,比如用 ctrl-d 代替 delete、用 ctrl-a 代替 home 等。可是,諸如 emacs 中 meta-a 可以移動到句子的開頭這種功能,因為 記事本 本身沒提供,因此 ahk 也無能為力了。

所以,我在想有沒有另一種語言,來設定一些全域性的編輯功能?無論游標在哪個編輯視窗裡,按 m-f 都能往前移動乙個 word、按 m-v 往後移動乙個 page,等等。本來,emacs-lisp 是很不錯的,可惜它只能用來定製 emacs,沒辦法去增強其他程式的功能。而 ahk 可以通過組合來增強現有程式的能力,卻沒辦法編輯文字。如果能有一種結合兩者的優點的就好了。

想象一下,如果乙個工具(或者一門程式語言)能從系統層次上做全域性的「游標」控制,無論當前游標處在哪個編輯視窗中(記事本、word、outlook 的郵件正文等等),它傳送乙個類似 forward-char 的命令都能令游標向前移動乙個字元,傳送 backward-sentence 就後退一句話。如果有這樣的工具,再配合 ahk 將這些命令繫結成快捷鍵,就能在所有文字輸入的地方使用相同的編輯功能!

好吧,我語文水平亟待提高,我需要用很多話才能說清自己的想法。

我感覺上面的話還是沒表達出我的 point。首先,我並不是想要一款能完成所有任務的萬能的軟體,而拋棄所有其他應用軟體。比如現在看 pdf 已經有很多優秀的軟體了(比如 sumatrapdf),如果就是為了我個人使用的話,我實在想不出任何理由再開發一款 emacs 的外掛程式專門看 pdf(雖然這看起來的確很酷)。

我主要是看到現在的軟體都各自為政,擁有自己一套操作方式。比如刪除整一行在 vim 裡是 dd,在 eclipse 裡是 ctrl-d,而到了 emacs 裡是 c-a c-k。我真正想要的是一種能從系統的角度配置一套符合自己習慣的統一操作的方法。

如前文所述,普通的操作已經可以通過配置 ahk 來統一了。於是我想更進一步統一配置所有的文字編輯操作(不一定繫結得和 emacs 一摸一樣,但關鍵是能像 emacs 這樣可配置)。

是否可能存在一種不需要力的相互作用?

假如這世界上存在一種相互作用不需要力作為媒介,那就相當於找到了第5種力。但只發現了4種力。由此可以推出所有相互作用都應該是一種力的行為。神經網路的分類行為顯然是兩個物件之間的一種相互作用,因此分類行為一定可以用一種力的行為來描述。無論分類物件是什麼總有一種物質化的存在形式,是物質都有質量。有質量就一...

key 不存在也是設定的一種存在狀態

在 android 程式中要訪問系統設定時可以用 其中 type 可以為 int,float,string 等,key 是 android.provider.settings.system 中定義的常量。比如下面的 可以取得系統的 wi fi 連線是否啟用的靜態 ip 設定 但是 system.ge...

TF IDF 文字的一種向量表示

tf idf是term frequency inverse document frequency的簡稱。她是一種非常常見的用於將文字轉化為有意義的數字表示的演算法。這個技術被廣泛的應用與nlp的各個方面。本文將會介紹怎樣計算和應用tf idf。為了將機器學習演算法或統計技術應用到任何形式的文字上,應...