天天看點

linux下sublimetext的中文輸入問題解決方法

InputHelper插件

好奇怪哦,竟然一個文本編輯器在linux平台下竟然原生不能切換并使用系統自帶的輸入法= =。是以就有了一系列插件,看到網上各種方法,我覺得還是使用inputhelper這個插件最簡單。

  • 使用這個插件可以通過Package Control來進行安裝。
    • Package Control:控制台下執行下面的指令
      import urllib.request,os,hashlib; h = ‘df21e130d211cfc94d9b0905775a7c0f’ + ‘1e3d39e33b79698005270310898eea76’; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( ‘http://packagecontrol.io/’ + pf.replace(’ ‘, ‘%20’)).read(); dh = hashlib.sha256(by).hexdigest(); print(‘Error validating download (got %s instead of %s), please try manual install’ % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ‘wb’ ).write(by)
    • 也可以直接下載下傳InputHelper插件的安裝包unzip到preferrence->browse package指向的檔案夾中
      https://github.com/xgenvn/InputHelper.git
  • 然後就可以通過Ctrl+Shift+Z來啟動該指令。

接着還是打不開,好氣

然後就還是打不開。= = 氣死了。

直接在控制台下使用python解釋器調用lib下的input_text_xxx_gui.py什麼鬼的檔案,能夠正确執行并傳回輸入的結果,然而在sublime中不能正确執行。使用指令行輸入

view.run_command(“input_helper”)

傳回了錯誤,錯誤提示是在subprocess的popen函數調用時,Permission deny…what’s?

畢竟不是太會python,可能是哪裡的權限沒弄好。但是目錄結構下所有的檔案都已經修改成了跟其他的插件目錄下檔案一模一樣了。是以隻好用自己比較熟悉的方法。将lib裡的python檔案當成shell中執行的腳本檔案。

  • 将lib中的python檔案設定為可執行的檔案 sudo chmod +x input_test_xxx_gui.py
  • 将inputHelper目錄下的Inputhelper.py的popen函數添加參數Shell=True,且将args改為input_test_xxx_gui.py的絕對路徑就可以了。