<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦>學習電腦>操作系統>Linux教程>

        Linux中Sublime Text無法輸入中文怎么辦

        時間: 孫勝龍652 分享

          Sublime Text是一個代碼編輯器,擁有強大的功能,但Sublime Text 在Linux下運行的時候存在無法輸入中文的問題,遇到該問題該如何解決呢?下面學習啦小編就給大家介紹下Linux下Sublime Text 無法輸入中文的解決方法。

          1.保存下面的代碼為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);

          }

          2.編譯動態庫:

          代碼如下:

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

          3. 設置 LD_PRELOAD 并啟動 Sublime Text:

          代碼如下:

          LD_PRELOAD=。/libsublime-imfix.so sublime_text

          為了不用每次啟動Sublime Text都打這么一長串東西,寫了個啟動Sublime的腳本:

          代碼如下:

          #!/bin/bash

          SUBLIME_HOME=“/opt/sublime_text”

          LD_LIB=$SUBLIME_HOME/libsublime-imfix.so

          sh -c “LD_PRELOAD=$LD_LIB $SUBLIME_HOME/sublime_text $@”

          把libsublime-imfix.so放到Sublime Text目錄下并修改腳本中的SUBLIME_HOME,這樣Sublime Text 就可以輸入中文了。

          上面就是Linux下Sublime Text 無法輸入中文的解決方法的介紹了,只要按照上面的步驟,就能在Sublime Text 中輸入中文了,是不是很簡單呢?趕緊試試看吧。

        307896 主站蜘蛛池模板: 国产精品老熟女免费视频| 欧美日韩亚洲国产| 最新国产精品拍自在线观看| 国产精品伦人视频免费看| 免费人妻无码不卡中文字幕18禁| 丝袜美腿亚洲综合在线观看视频| 成人免费电影网站| 国产美女裸体无遮挡免费视频下载| 国产91久久精品一区二区| 精品久久人人妻人人做精品| www国产精品内射熟女| 色噜噜噜亚洲男人的天堂| 日韩在线视频网| 成人亚洲欧美一区二区三区| 人人澡人人妻人人爽人人蜜桃| 亚洲人交乣女bbw| 中文字幕av日韩有码| 久久99精品久久水蜜桃| 日本无产久久99精品久久| 欧美人与动牲交A免费观看| 国产精品成人网址在线观看| V一区无码内射国产| 和尚伦流澡到高潮h在线观看| 国产精品一区二区蜜臀av| 爆乳女仆高潮在线观看| 国产第一区二区三区精品| 国产性色的免费视频网站| 亚洲码国产精品高潮在线| 亚洲av午夜福利大精品| 欧美福利电影A在线播放| 日本一区二区在线高清观看| 精品亚洲国产成人av在线| 亚洲欧美中文字幕5发布| 久久不卡精品| 欧美激情一区二区三区成人| 大尺度国产一区二区视频 | 九九视频热最新在线视频| 国产欧美综合在线观看第十页| 亚洲 校园 欧美 国产 另类 | 精品国产中文字幕在线看| 最新的国产成人精品2022|