2014-11-30

opencc 新版 -c 參數設定

opencc  新版 -c 參數設定有更改囉,若是之前有使用到 opencc 舊腳本,記得要將 -c 的參數改為新版的哦。比如 -c zhs2zhtw_vp.ini 就改成 -c s2twp.json。
預設配置文件

    s2t.json Simplified Chinese to Traditional Chinese 簡體到繁體
    t2s.json Traditional Chinese to Simplified Chinese 繁體到簡體
    s2tw.json Simplified Chinese to Traditional Chinese (Taiwan Standard) 簡體到臺灣正體
    tw2s.json Traditional Chinese (Taiwan Standard) to Simplified Chinese 臺灣正體到簡體
    s2hk.json Simplified Chinese to Traditional Chinese (Hong Kong Standard) 簡體到香港繁體(香港小學學習字詞表標準)
    hk2s.json Traditional Chinese (Hong Kong Standard) to Simplified Chinese 香港繁體(香港小學學習字詞表標準)到簡體
    s2twp.json Simplified Chinese to Traditional Chinese (Taiwan Standard) with Taiwanese idiom 簡體到繁體(臺灣正體標準)並轉換爲臺灣常用詞彙
    tw2sp.json Traditional Chinese (Taiwan Standard) to Simplified Chinese with Mainland Chinese idiom 繁體(臺灣正體標準)到簡體並轉換爲中國大陸常用詞彙


參考資料: BYVoid/OpenCC

2014-10-10

sudo mode editor gui can not switch the input method

Linux EDITOR 到底能不能在 sudo 狀態下輸入中文?Ctrl + Space 或者其它快速鍵就是不能切換輸入法?是 sudo 的問題還是輸入法的問題?

以上幾點在我在 Ubuntu + gedit + gcin 就存在的疑問,到轉用 Arch + qvim + hime 還是存在這問題,不禁想問,天啊,在 sudo 狀態下切換個輸入都就那麼難嗎?

編輯 sudoers 問題


介紹解法之前我們來先了解一個非常重要的問題點,  直接用 sudo vim/qvim/geidt 這類的文字編輯器來修改 /etc/sudoers 是好的嗎?普通我們都用這類方法來修改它,但這樣是沒有 debug 的功能,只要你有地方寫錯,很容易將 sudo 搞掛!若是,su 在當時沒設定密碼無法切換到 root,你就跟 root 說掰掰要修正也沒辦法沒權限嘛。

掰掰實例
>>> /etc/sudoers: syntax error near line 70 <<< sudo: parse error in /etc/sudoers near line 70 sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin

關於 visudo 的 debug 可以看 @凍仁的: sudo 指令使用說明

那要修改它到底要用什麼指令呢?答案是 visudo 囉。

sudo visudo


通常 visudo 啟用的文字編輯器是 vi 那用不習慣要改怎麼辦?不用怕只要指定想要用的編輯器即可。

  •  修改 editor 為你想要的編輯器,若是 qvim/gvim 要記得加參數 -f 詳細作用請看此篇
    EDITOR="/usr/bin/vim"
    OR
    EDITOR="/usr/bin/qvim -f"'
    OR
    EDITOR='gedit'
這裡以 qvim 為範例
sudo EDITOR='/usr/bin/qvim -f' visudo

上面是暫時性的使用,要讓 visudo 以後都是用你指定的編輯器,請在執行 visudo 後編輯該檔添加下面那行文字。
Defaults      editor="/usr/bin/qvim -f", !env_editor

輸入法切換問題


那麼接下來就是切換輸入法的問題囉,這裡提供兩個解法,一個一樣用 visudo 來修改 sudoers ,另一個是每次用 sudo  都需要加入各別參數的解法。

sudo visudo

搜尋此行將開頭的#註解刪掉,或者直接添加此行。
Defaults env_keep += "HOME"
現在立即用測試 sudo 到底能不能切換輸入法囉。
sudo qvim

從圖片中用紅色框框處的差異來區別兩者的差異,兩者皆能正常切換輸入法輸入中文了。我用 hime 另外試過 ibus 都沒有問題。
沒用 sudo
有用 sudo
若是暫時性的請在 sudo 後面增加 -E -H 參數

sudo -E -H qvim -f

-H, --set-home              set HOME variable to target user's home dir
-E, --preserve-env          preserve user environment when running

2014-09-22

qvim/gvim use -f | --nofork 與 EDITOR 設定

不知道大家有沒有遇過,類似在終端機下指令執行 qvim/gvim  時,希望開啟檔案後不直接執行下個指令,等程式關閉在執行下個指令的功能?

這時啟動加入參數 -f 就能達成

qvim -f file


:help --nofork@tw
*--nofork*
--nofork GUI: 不分叉。和 |-f| 相同。