1. 程式人生 > >Ubuntu 16.04 LTS 的 Sublime Text 3 安裝及中文配置

Ubuntu 16.04 LTS 的 Sublime Text 3 安裝及中文配置

最近閒來無事,開始學習 Python,選擇用 Sublime Text 3 作為開發的 IDE。然而發現安裝完畢 Sublime Text 3 之後,不能在其中輸入中文,查詢了《Ubuntu 16.04下Sublime Text 3 的安裝和中文配置》,感覺其中有些內容說明不明確。筆者趁著正在 pip 安裝 Python 模組的時間,在該教程基礎上進一步說明。

一. sublime text 3 在 Ubuntu 16.04 LTS 下的安裝

1. 下載壓縮包

2. 解壓

解壓命令:

tar xvf sublime_text_3_build_3143_x64.tar.bz
2

此時用 cd 命令進入解壓的 Sublime Text 3 的資料夾,執行 ./sublime_text 即可開啟 Sublime Text 3,但此時還不支援中文輸入。
後面說明如何配置 Sublime Text 3 的中文輸入法支援。

二. Sublime Text 3 中文輸入法配置

1. Ubuntu 16.04 下安裝搜狗輸入法

筆者在寫這兩篇部落格時還在使用 Ubuntu 14.04 LTS,前幾天重新裝了 16.04,同樣使用上面兩篇部落格的安裝方法,親測有效。

2. 生成支援中文輸入法的 .so 檔案

(1) 安裝依賴庫

首先安裝一些依賴庫,輸入指令如下:

sudo apt-get install libgtk2.0-dev

(2) 新建程式碼檔案

進入 ~ 目錄,並新建檔案 sublime_imfix.c,指令如下:

cd
gedit sublime_imfix.c

在 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) 生成共享庫 .so 檔案

在 ~ 路徑下用 gcc 指令生成共享庫 libsublime-imfix.so,指令如下:

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

(4) 複製共享庫檔案到 Sublime Text 3 所在資料夾

根據自己的 Sublime Text 3 所在路徑,將剛剛生成的 libsublime-imfix.so 複製過去。以筆者為例,指令如下:

sudo cp libsublime-imfix.so /home/grq/kit/sublime_text_3/

3. 配置共享庫檔案

(1) 修改 /usr/bin/subl

此時在 /usr/bin 路徑中創造指令碼檔案,令執行指令碼後開啟 Sublime Text 3。這時候 /usr/bin 路徑中應該沒有 subl 檔案(如果有該檔案,則後續內容中將對應內容進行修改即可),新建檔案的命令如下:

sudo gedit /usr/bin/subl

將下面的程式碼複製進 subl 中(其中第二行內容為 Sublime Text 3 所在位置,此處以筆者的環境為例):

#!/bin/sh
LD_PRELOAD=/home/grq/kit/sublime_text_3/libsublime-imfix.so exec /home/grq/kit/sublime_text_3/sublime_text "[email protected]"

為 subl 提供執行許可權,指令如下:

sudo chmod +x subl

此時輸入指令:

subl

命令執行後,Sublime Text 3 會彈出執行,且可以支援中文輸入。

(2) 更改 .desktop 檔案

為了使用滑鼠右鍵開啟檔案時能夠使用中文輸入,還需要修改 Sublime Text 3 目錄中檔案 sublime_text.desktop 的內容。進入 Sublime Text 3 所在路徑並修改檔案,指令如下(以筆者的工作環境為例,具體需要根據實際情況進行改正):

sudo gedit ~/kit/sublime_text_3/sublime_text.desktop

[Desktop Entry] 中的字串

Exec=/opt/sublime_text/sublime_text %F

修改為:

Exec=bash -c "LD_PRELOAD=/home/grq/kit/sublime_text_3/libsublime-imfix.so exec /home/grq/kit/sublime_text_3/sublime_text %F"

[Desktop Action Window] 中的字串

Exec=/opt/sublime_text/sublime_text -n

修改為:

Exec=bash -c "LD_PRELOAD=/home/grq/kit/sublime_text_3/libsublime-imfix.so exec /home/grq/kit/sublime_text_3/sublime_text -n"

[Desktop Action Document] 中的字串

Exec=bash -c "LD_PRELOAD=/home/grq/kit/sublime_text_3/libsublime-imfix.so exec /home/grq/kit/sublime_text_3/sublime_text --command new_file"

到此處,已經將 Sublime Text 3 的安裝與中文配置執行完畢了。完成後的截圖如下:
這裡寫圖片描述