Linux中Sublime

xiaoxiao2021-02-28  132

本文我是参考几篇别人写的博客,然后自己总结得到的,希望能对有需要的人有帮助。

Ubuntu 14.04下Sublime_Text3 的安装方式以及不能中文输入的问题解决。

一、sublime text 3 在ubuntu 14.04下的安装过程

1. 首先下载sublime text 3 的tar包

$ wget https://download.sublimetext.com/sublime_text_3_build_3114_x32.tar.bz2

如果你的系统是64位的,则卸载64位的包

$ wget https://download.sublimetext.com/sublime_text_3_build_3114_x64.tar.bz2

你也可以在sublime_text3官网下载最新的安装包,http://www.sublimetext.com/3

  2. 解压下载下来的安装包

$ tar xvf sublime_text_3_build_3114_x32.tar.bz2

同样如果是64位的系统,输入以下命令:

$ tar xvf sublime_text_3_build_3114_x64.tar.bz2

 3. cd 进入sublime text 3的文件夹,执行 $ ./sublime_text 即可打开

sublime text 3。如果打不开程序,并出现“Unable to excute binary file.Exec format error”,就说明你下载的软件位数与系统位数不一致,如果下的是64位,换成32位的就可以了,重复以上步骤即可。

虽说已经安装好了sublime_text 3,但此时的sublime_text 3 中还不支持中文的输入,下面我们来配置一下sublime_text 3中文输入法的支持。

 

二、sublime text 3 中文输入的配置问题

1. 首先保证系统已经安装好了搜狗输入法,搜狗输入法在 linux下的安装请自行百度解决

2. 创建一个sublime_imfix.cc文件(任何目录都可以,最好是在当前目录,便于后面移动操作),保存下面的代码到文件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);

}

如果出现以下问题(不一定是在这一步出现)

则输入以下命令后

sudo apt-get install libgtk2.0-dev

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 ./sublime_text_3/ (这里根据自己sublime_text 3 所放文件夹的路径来确定)

5 ) 修改文件/usr/bin/subl的内容

sudo gedit /usr/bin/subl

#!/bin/sh

exec /opt/sublime_text/sublime_text "$@"

修改为

#!/bin/sh

LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"

这里的“/opt/sublime_text”是根据自己的sublime_text3的目录来确定的,例如:

/home/lansus2/sublime_text3 这也是可以的。下面出现的这个目录也是同样道理。

注意如果subl文件不存在,则自行创建,创建完成后将上述要修改成的代码复制粘贴进去即可,然后进入 /usr/bin 目录下赋予 subl 文件可执行的权限

sudo chmod +x subl

最后执行命令

subl

命令执行完成后,sublime text 3 会自动弹出并且已经支持中文的输入了!

6. 为了使用鼠标右键打开文件时能够打开sublime_text3以及实现使用中文输入,还需要修改sublime_text3目录中文件 sublime_text.desktop的内容/usr/share/applications/sublime-text.desktop的内容。

 

打开sublime_text_3目录下的sublime_text.desktop并修改

sudo gedit ~/sublime_text_3/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(如果没有这个文件,则创建并将上面的sublime-text.desktop中的代码全部复制过来就行了,有的话也全部复制替换,因为修改的地方是一样的)

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

这一步执行完后就可以双击文件并选择sublime_text3打开了,而且能够中文输入。

注意:

修改时请注意双引号"",否则会导致不能打开带有空格文件名的文件。

 

至此,所有步骤都已经结束。这些是参考别人的博客,然后自己摸索这亲自实践过的,希望有所帮助。

有问题和建议希望留言提出或者发邮箱给我,虚心倾听学习!邮箱:1203782828@qq.com

 

 

 

转载请注明原文地址: https://www.6miu.com/read-57441.html

最新回复(0)