in10 / Win11 系統(tǒng)自帶的微軟五筆潔方便流暢,兼容性好,干凈無廣告,無疑已成為最受歡迎的形碼輸入法之一。
使用免費(fèi)開源軟件 WubiLex (僅 810 KB)可以替換微軟五筆的系統(tǒng)碼表、短語詞庫。WubiLex 已自帶五筆86、98、091、新世紀(jì)、小鶴音形、鄭碼、表形碼 …… 等碼表。
WubiLex 也支持一鍵智能造詞 —— 利用空碼自動補(bǔ)全流行詞,這通常可以添加十幾萬的流行詞。再也不用手動加詞了。
WubiLex 可以兼容很多的碼表格式,例如詞前碼后、碼前詞后,一碼一行,一行多碼等等??梢詫?dǎo)入導(dǎo)出CSV、JSON、以及LZMA壓縮格式碼表。
WubiLex 也支持直接編輯五筆短語詞庫,并擴(kuò)展了微軟五筆短語的功能,兼容各種短語詞庫格式,支持方便的自定義特殊字符數(shù)組。
WubiLex 提供了方便的反查拆字功能。按 Ctrl + F2 反查五筆編碼,再Ctrl + F2 回到原來窗口不影響繼續(xù)輸入。反查可顯示詳細(xì)的拆字圖解(五筆反查不僅支持單字,也可以支持詞組)。
反查時可通過虛擬鍵盤準(zhǔn)確顯示按鍵方位,鼠標(biāo)懸停在虛擬鍵上可顯示單鍵字根圖。
我們一般看到的五筆字根圖都是包含所有按鍵字根的全圖,但是這種字根圖會讓人眼花繚亂,如果我們的眼睛看到的內(nèi)容越多,記憶效率就會越低。所以我制作了這種簡潔版的虛擬鍵盤。
WubiLex 還提供了強(qiáng)大的「超級熱鍵」功能( ImTip 也支持超級熱鍵 ),可以用于擴(kuò)展輸入法功能,例如輸入數(shù)字后自動將句號轉(zhuǎn)換為小數(shù)點(diǎn),輸入大寫中文數(shù)字的中文日期等等。
例如按超級熱鍵 Ctrl+$ 打開財務(wù)大寫、日期時間大寫、數(shù)學(xué)運(yùn)算工具。
超級熱鍵可以做的事很多。
請參考教程:超級熱鍵:一學(xué)就會簡單編程,提升 Windows 效率
例如輸入法糾錯熱鍵 —— 已輸出英文自動轉(zhuǎn)為中文輸入:
["Ctrl+,"] = function(hFocus){
var openState,mode = key.ime.state();
if( openState && !key.ime.capital() ) return true; //當(dāng)前已經(jīng)是中文輸入模式,不改變默認(rèn)行為
key.up("Ctrl");//先放開 Ctrl 鍵
//如果是大寫狀態(tài),切換為小寫
if(key.ime.capital()) key.press("CAPSLK")
//英文直接切中文 + 中文標(biāo)點(diǎn)
key.ime.setOpenStatus(true); //打開輸入法
key.ime.setConversionMode(1|0x400); //切換到中文狀態(tài),這一步不能省略
//再次嘗試用鍵盤切換中文標(biāo)點(diǎn),這一步不能省略
key.combine("CTRL",".");
//現(xiàn)在再次檢測中文標(biāo)點(diǎn)狀態(tài)
var openState,mode = key.ime.state();
if(mode!=3/*_IME_SYMBOLMODE_SYMBOL*/){
//說明切換到了英文標(biāo)點(diǎn),再切換回去
key.combine("CTRL",".")
}
//通過返回函數(shù)異步執(zhí)行耗時操作(避免系統(tǒng)刪除熱鍵鉤子)
return function(){
key.combine("SHIFT","HOME");//選中當(dāng)前行
key.combine("CTRL","C");//復(fù)制當(dāng)前行
var line = win.clip.read(); //讀取剪貼板文本
var str = string.match(line,"[a-zA-Z]+$"); //查找尾部連續(xù)字母
key.press("RIGHT");//按右方向鍵,取消選區(qū)
//如果字符串非空
if(#str){
key.repeat("BACK",#str);//按退格鍵指定次數(shù)(取字符串長度)
key.send(str);//字符串轉(zhuǎn)換為發(fā)送按鍵
//key.press("SPACE");//發(fā)果需要按空格,請取消前面的注釋符號
}
};
};
WubiLex 還可以快捷開關(guān)、切換英文鍵盤、微軟五筆、微軟拼音,并可方便地切換微軟雙拼方案。如果小鶴雙拼方案未安裝仍然會出現(xiàn)在雙拼候選列表中 —— 勾選即可自動安裝。
先說明一下對「獨(dú)立 EXE」的要求:
1、程序只有一個 EXE 文件,不需要額外的安裝程序。
2、程序的體積要足夠小,不需要額外安裝其他運(yùn)行庫。寫「獨(dú)立 EXE」本就是為了方便,如果沒多少功能體積就達(dá)到幾十、幾百 MB,或者要額外安裝巨大的運(yùn)行庫,這就沒什么意思了。
3、程序只有一個 EXE 文件,不需要帶一堆其他文件。如果 EXE 文件帶著幾十、甚至上百個 DLL 或者其他文件,這不是獨(dú)立 EXE,這是全家桶。
4、程序不會將 AppData,Temp 這些運(yùn)行時數(shù)據(jù)都寫在 EXE 目錄下。因為 EXE 目錄不一定有寫權(quán)限,而且這樣做的話:將 EXE 文件放到桌面上、或者移動一下目錄都會亂套,而且可能因為誤操作導(dǎo)致丟失數(shù)據(jù),不利于便攜。
5、使用的語言、技術(shù)直接支持生成獨(dú)立 EXE,不需要復(fù)雜的代碼、步驟或者額外的第三方工具。有人說我用這個那個也能勉強(qiáng)生成獨(dú)立 EXE ,來吧,先看教程 …… 結(jié)果整了上萬字還沒有搞明白怎么弄,這不行。
如果您也有上述需求,那么可以試試 aardio 。
1、aardio 完全免費(fèi),并有最慷慨的免費(fèi)許可。個人或企業(yè)可免費(fèi)使用 aardio 開發(fā)商用、或非商用的應(yīng)用程序。使用 aardio 開發(fā)的軟件不需要放置鳴謝鏈接、不需要聲明使用 aardio 開發(fā)。
2、aardio 生成的軟件很小。
3、aardio 生成的軟件不需要安裝額外的外部運(yùn)行庫。
4、aardio 編寫的軟件有良好的兼容性,兼容 XP,Vista,Win7,Win8,Win10,Win11...... 等所有流行桌面操作系統(tǒng)。
5、aardio 很小也很簡單。編寫 aardio 程序也很簡單,幾句代碼就可以寫一個可運(yùn)行的程序,沒有任何復(fù)雜的操作。aardio 的也提供了大量可直接運(yùn)行與使用的范例 —— 上手成本低。很多用戶反饋下載 aardio 只是簡單看了一下,迅速就開發(fā)完成了需要的軟件。
6、aardio 直接支持生成獨(dú)立 EXE,aardio 中的很多庫、函數(shù)都自動支持獨(dú)立 EXE。這不需要額外修改代碼、或者付出額外的學(xué)習(xí)成本。
先看一個最簡單的例子,在 aardio 中可用下面的代碼讀文件內(nèi)容:
var str = string.load("/res/test.txt")
注意文件路徑最前面的單個斜桿(或反斜桿)表示 aardio 工程根目錄,aardio 工程中的子目錄 "/res/" 可以設(shè)為 EXE 內(nèi)嵌資源,也可以設(shè)為普通硬盤目錄,上面的代碼都不需要修改。
這只是舉一個簡單的例子,aardio 中的很多函數(shù)、庫都自動兼容這種資源路徑。你甚至可以在「單個 EXE」 里放一個 HTTP 服務(wù)器,再放一個網(wǎng)站,再創(chuàng)建一個瀏覽器來顯示這些網(wǎng)頁 —— 不需要任何外部文件,也不需要編寫任何復(fù)雜的代碼(參考 aardio 自帶范例)。
在 aardio 中還可以調(diào)用很多第三方編程語言,例如 C語言、C++、C#、Java、Python、R、Javascript、Node.Js、Fortran、VB、Flash ActionScript、PHP、VBScript、PowerShell、NewLISP、AutoLISP、Delphi、FreeBASIC、Ruby、Rust、Julia、Nim、Go 語言、批處理 ...... 請參考《 aardio 調(diào)用第三方編程語言示例》。