日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

在Ubuntu 14.04中使SublimeText 3支持中文输入法

發布時間:2024/9/16 Ubuntu 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Ubuntu 14.04中使SublimeText 3支持中文输入法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Ubuntu 14.04中安裝了SublimeText 3之后發現既然不支持輸入中文,于是在網上搜羅一下,發現很多人遇到了同樣的問題,但是解決辦法大該就只有一個。下面根據自身的安裝及解決辦法總結如下:

?

1. SublimeText 3的安裝

? ? 安裝方式有多種,本文所描述的是從官方網站上下載64位的.deb文件 ,具體為http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3059_amd64.deb 文件,下載后雙擊即會自動使用默認的安裝軟件安裝。

?

2. 相關依賴軟件的安裝

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

?

3. 拷貝如下代碼到文件sublime-imfix.c文件中,該文件需要自己創建,隨便放到那里都行。

/**?sublime-imfix.c*?Use?LD_PRELOAD?to?interpose?some?function?to?fix?sublime?input?method?support?for?linux.*?By?Cjacker?Huang?<jianzhong.huang?at?i-soft.com.cn>?***?gcc?-shared?-o?libsublime-imfix.so?sublime_imfix.c??`pkg-config?--libs?--cflags?gtk+-2.0`?-fPIC*?LD_PRELOAD=./libsublime-imfix.so?sublime_text*/ #include?<gtk/gtk.h> #include?<gdk/gdkx.h> typedef?GdkSegment?GdkRegionBox; struct?_GdkRegion {long?size;long?numRects;GdkRegionBox?*rects;GdkRegionBox?extents; }; GtkIMContext?*local_context; void gdk_region_get_clipbox?(const?GdkRegion?*region,GdkRectangle????*rectangle) {g_return_if_fail?(region?!=?NULL);g_return_if_fail?(rectangle?!=?NULL);rectangle->x?=?region->extents.x1;rectangle->y?=?region->extents.y1;rectangle->width?=?region->extents.x2?-?region->extents.x1;rectangle->height?=?region->extents.y2?-?region->extents.y1;GdkRectangle?rect;rect.x?=?rectangle->x;rect.y?=?rectangle->y;rect.width?=?0;rect.height?=?rectangle->height;//The?caret?width?is?2;//Maybe?sometimes?we?will?make?a?mistake,?but?for?most?of?the?time,?it?should?be?the?caret.if?(rectangle->width?==?2?&&?GTK_IS_IM_CONTEXT(local_context))?{gtk_im_context_set_cursor_location(local_context,?rectangle);} } //this?is?needed,?for?example,?if?you?input?something?in?file?dialog?and?return?back?the?edit?area //context?will?lost,?so?here?we?set?it?again. static?GdkFilterReturn?event_filter?(GdkXEvent?*xevent,?GdkEvent?*event,?gpointer?im_context) {XEvent?*xev?=?(XEvent?*)xevent;if?(xev->type?==?KeyRelease?&&?GTK_IS_IM_CONTEXT(im_context))?{GdkWindow?*win?=?g_object_get_data(G_OBJECT(im_context),?"window");if?(GDK_IS_WINDOW(win))?{gtk_im_context_set_client_window(im_context,?win);}}return?GDK_FILTER_CONTINUE; } 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);}if?(!GDK_IS_WINDOW?(window))?{return;}g_object_set_data(G_OBJECT(context),?"window",?window);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);local_context?=?context;}gdk_window_add_filter?(window,?event_filter,?context); }

按照文件頭上注釋所說的編譯該文件,在終端里進入到存放該文件的目錄中,輸入如下命令:(`pkg-config --libs --cflags gtk+-2.0` 這里的符號是TAB 上面的符號不是引號)

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

最后在當前目錄下得到libsublime-imfix.so這個共享庫。

?

4. 中文輸入

??? 到這里默認已經裝好了中文輸入法(搜狗輸入法linux版)。得到第3步中的庫libsublime-imfix.so之后,先試試看是否能正常使用中文輸入法,在終端中輸入如下命令:

??? LD_PRELOAD=./libsublime-imfix.so subl?????????????#subl是安裝好SublimeText 3后的程序啟動命令

如果一切正常,在啟動之后,搜狗輸入法就能可以輸入了。

?

5. 為了方便

??? 在第4步中如果每次都輸入LD_PRELOAD這樣顯得太不方便了,在這里提供簡單修改圖標連接的方式,快速打開SublimeText。將libsublime-imfix.so拷貝到系統庫的默認路徑中:

??? sudo cp libsublime-imfix.so /usr/lib/

??? 修改/usr/share/applications/sublime_text.desktop文件

??? sudo vim /usr/share/applications/sublime_text.desktop

??? 打開后將Exec=/opt/sublime_text/sublime_text %F修改為

??? Exec=bash -c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /opt/sublime_text/sublime_text' %F

?

?? 將Exec=/opt/sublime_text/sublime_text -n修改為

??? Exec=bash -c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /opt/sublime_text/sublime_text' -n

這樣就通過快捷方式打開SublimeText 3就可以支持中文輸入了。

?

注:第五步僅限使用.deb文件安裝的情況,如果使用源碼安裝的則需要變通一下,寫個腳本將LD_PRELOAD加上即可

?

總結

以上是生活随笔為你收集整理的在Ubuntu 14.04中使SublimeText 3支持中文输入法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。