1. 程式人生 > >解決linux下sublime text3無法輸入中文的情況

解決linux下sublime text3無法輸入中文的情況

最近心血來潮,想在試試在linux上寫php是什麼感覺,但在使用sublimetext3時卻發現無法正常輸入中文,於是靠我大百度,各大論壇部落格,解決了這個問題。

百度經驗有解決方案,但是,編輯太馬虎了。。。。。。好多地方的“-”寫成了“_”,而且不是很詳細,很多人掛在了沒有c++編譯環境上。

所以整理了我的解決方案,我的情況為ubuntu 15.10+apt-get安裝的sublime text3,其他不保證成功。

sublime text3安裝方式:
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer

1.首先保證你的電腦有c++編譯環境

如果沒有,通過以下指令安裝

sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev

2.在~目錄新建一個名為sublime-imfix.c的檔案

內容如下:

#include <gtk/gtkimcontext.h>

void gtk_im_context_set_client_window (GtkIMContext *context,

         GdkWindow    *window)

{

 GtkIMContextClass *klass;

 g_return
_if_fail (GTK_IS_IM_CONTEXT (context)); klass = GTK_IM_CONTEXT_GET_CLASS (context); if (klass->set_client_window) klass->set_client_window (context, window); g_object_set_data(G_OBJECT(context),"window",window); if(!GDK_IS_WINDOW (window)) return; int width = gdk_window_get_width(window); int height = gdk_window_get_height(window); if
(width != 0 && height !=0) gtk_im_context_focus_in(context); }

3.將上述檔案編譯成共享庫libsublime-imfix.so

gcc -shared -o libsublime-imfix.so sublime-imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC

4.將libsublime-imfix.so拷貝到sublime_text所在資料夾

sudo mv libsublime-imfix.so /opt/sublime_text/

5.修改檔案/usr/bin/subl的內容

sudo vi /usr/bin/subl

#!/bin/sh
exec /opt/sublime_text/sublime_text "[email protected]"

修改為

#!/bin/sh
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "[email protected]"

此時,在命令中執行 subl 將可以使用搜狗for linux的中文輸入,但此時使用其他方式依然無法正常輸入中文。

6.為了使用滑鼠右鍵開啟檔案時能夠使用中文輸入,還需要修改檔案sublime-text.desktop的內容。

命令

sudo vi /usr/share/applications/sublime-text.desktop

將[Desktop Entry]中的字串

Exec=/opt/sublime_text/sublime_text %F

修改為

Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text %F"

將[Desktop Action Window]中的字串

Exec=/opt/sublime_text/sublime_text -n

修改為

Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text -n"

將[Desktop Action Document]中的字串

Exec=/opt/sublime_text/sublime_text --command new_file

修改為

Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text --command new_file"

注意: 修改時請注意雙引號”“,否則會導致不能開啟帶有空格檔名的檔案。

此處僅修改了/usr/share/applications/sublime-text.desktop,但可以正常使用了。

opt/sublime_text/目錄下的sublime-text.desktop可以修改,也可不修改。

相關推薦

解決linuxsublime text3無法輸入中文情況

最近心血來潮,想在試試在linux上寫php是什麼感覺,但在使用sublimetext3時卻發現無法正常輸入中文,於是靠我大百度,各大論壇部落格,解決了這個問題。 百度經驗有解決方案,但是,編輯太馬虎了。。。。。。好多地方的“-”寫成了“_”,而

linux 的 idea 無法輸入中文解決辦法

RHEL7/CentOS7 下面的解決辦法: RHEL/Centos7下面的輸入法使用的是ibus架構。在/etc/profile後面增加如下配置資訊: export XIM="ibus" export XIM_PROGRAM="ibus" export XMODIFIERS="@im=ib

解決LinuxSublime text 3的中文輸入問題

Sublime Text幾乎是我現在唯一用的程式碼&文字編輯器了,功能強大而又不失簡約。但其在Linux下對中文輸入不支援一直很讓人蛋疼,一般寫程式碼無所謂支不支援中文,但是我想把所有的文字工作都交給Sublime Text,這就必然離不開中文輸入了。 今天解決了一下它的中文支援問題,補丁方

ubuntusublime-text3無法使用中文輸入法

如題: 解決方法如下: 2.移動檔案到opt/sublime-text下 sudo cp libsublime-imfix.so /opt/sublime_text/libsublime-imf

[轉載[完美解決 Linux Sublime Text 中文輸入

.html void region sometimes pkg time pre install amp 原文地址: http://www.cnblogs.com/wangkongming/p/4302642.html 轉來備忘。 系統CentOS7.3 fcitx 中文輸

完美解決 Linux Sublime Text 中文輸入

參考Sublime Text官方論壇一位中國哥們的 回覆,通過以下方法完美解決Sublime Text 2中文輸入的問題。這幾天討論區老是有人提問,就寫個教程吧。 系統:Linux Mint 14 Nadia輸入法:Fcitx 4.2.6.1 PPA。 1. 儲存下面的程式碼為sublime_imfi

Ubuntu 16.04解決sublime text3無法中文問題

首先介紹一下常規方法。文章最後附有shell一鍵指令碼可供懶人使用。 常規方法 一、系統已成功安裝搜狗輸入法 二、儲存下面的程式碼到檔案sublime_imfix.c(位於~目錄) #include <gtk/gtkimcontext.h&

完美解決 Linux Sublime Text 3中文輸入

sublime很好用,但是ubuntu下不能輸入中文,這是一個很大的問題。 網上的方法各種樣。但是在終端執中開啟 sublime 事先設定 LD_PRELOAD 。 在這裡我提供一個個人認為最簡單的方法。 系統:ubuntu 14.04 輸入法:fcit

解決ubuntu16.04Qt5.11無法輸入中文

前言 當在ubuntu16.04系統上安裝好Qt5.9.1,進行程式開發時,發現無法在Qt Creator IDE中輸入中文,而只能輸入英文字元和數字。 這對開發帶來極大的不方便,如無法編輯基礎的註釋,所以下述將詳細介紹如何解決此問題。 步驟 0. 開啟ubuntu終端 按下ctr

LINUX中OFFICE WORD無法輸入中文解決辦法

  突然WORD/EXCEL無法輸入中文。這就怪事了。怎麼辦?想想自己幹了什麼?好像什麼也沒幹……   上網搜尋了一下,找到了一個解決辦法:WORD,開始,WORD選項,高階,去掉“輸入法控制處於活動狀態”。重啟WORD,還是不能輸入。   於是使用sudo apt autoremove,清

(親測解決)WindowsVim中無法輸入中文

文章目錄 一、Vim下載地址 1.2 百度網盤:Vim8下載 密碼:ziki 二、Windows下Vim中無法輸入中文 2.1 問題描述 今天下載Vim8在win10上安裝之後發現居然無法輸入中文,琢磨了好久,

一條命令解決mac版本python IDLE無法輸入中文問題

install 兩種 size tps 命令 輸入 homebrew NPU python3 安裝完Python通常自動就有了一個簡易的集成環境IDLE,但在mac上,無法在IDLE中使用中文。 通常故障有兩種情況: 在IDLE中,中文輸入法根本無法工作,不會彈出輸入框

解決linux開啟windows .txt檔案中文亂碼問題

出現這種情況的原因為兩種作業系統的中文壓縮方式不同,在windows環境中中文壓縮一般為gbk,而在linux環境中為utf8,這就導致了在windows下能正常顯示 txt檔案在linux環境下開啟呈現了亂碼狀態。 解決方法:在linux用iconv命令,如亂碼檔名為test.txt,那麼

LinuxSublime Text3配置Python3開發環境

很是尷尬,寫的第一遍關於如何配置這個環境的部落格有很大問題,所以決定重寫一下,方便自己以後查閱(大家要是不嫌棄的話可以看看) 首先,安裝Sublime Text3 sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo

【Web前端】LinuxSublime Text3的一些配置

前言 最近在折騰linux,在這裡對sublime text做一些記錄。 keybinding [ { "keys": ["ctrl+alt+j"], "command": "css_format",

centos7Qt5.10無法輸入中文

找遍網上各種方法,終於解決了該問題,差點就想把Qt版本退回到Qt5.4以前的了。雖然都是linux系統,但是Ubuntu,和Centos的解決方案不同,Qt的版本不同解決方案也不同。找部落格時間比較近的借鑑。 我的系統是Centos7,但是原理差不多,Ubun

linux matplotlib 無法顯示中文字型的問題

# 小白的學習之路僅僅記錄一下解決方案,有時間再整理一下解決問題的具體步驟和多種方法網上的關於matplotlib 中文字型輸出問題大部分是基於windows作業系統,而且不能進行復現!!不能進行復現的教程,不是一個好教程@author:週末區捉魚點選開啟連結 https:/

Linux Qt 5 無法切換中文輸入法

無法切換中文輸入的原因是當前下載的QtCreator中沒有適配當前輸入法框架(ibus、fcitx)的動態庫 解決方法: 一、安裝對應的輸入法外掛 1、如果是fcitx:sudo apt-get install libfcitx-qt5-dev,拷貝系統路徑上的

Windows 命令列 無法輸入中文

1. 首先想到的是輸入的問題, 添加了預設的"智慧ABC"輸入法後,還是無法輸入。看來是輸入法控制程式的問題!windows 的輸入法控制程式是 conime.exe結果一搜索, 發現在系統中沒有 發現 conime.exe ,當然無法切換輸入法了。從另一臺電腦上拷貝 con

Linux解決Sublime Text 3無法輸入中文的方法

一.工具 Ubuntu 16.04 (Debian系列:LinuxMint 、Deepin等也一樣) 中文輸入法 (搜狗輸入法或者系統自帶的中文輸入法) Sublime text 3 二.準備工作 因為我們需要編譯一段程式碼,首先執行以下以下命令,確保你電腦了包含一