美文网首页前端Android 小技巧及工具Sublime
解决Ubuntu下Sublime Text 3无法输入中文

解决Ubuntu下Sublime Text 3无法输入中文

作者: Vaayne | 来源:发表于2014-12-16 21:50 被阅读91022次

    前言

    sublime很好用,但是ubuntu下不能输入中文,这是一个很大的问题。不知道为什么开发着一直也不解决,好在还是有高手在,总能找到方法。网上方法很多,但是也很乱,现在我将自己的经验总结一下。

    首先,我参考了好几篇文章,都是蛮不错的,先列出来:

    1. sublime-text-imfix:首先推荐这个方法,最简单,但是在我的系统上有些问题。可用这个的强烈推荐用这个
    2. 完美解决 Linux 下 Sublime Text 中文输入:讲的比较明白,也可用参考。
    3. Ubuntu下Sublime Text 3解决无法输入中文的方法: 讲解的最清楚了,建议看看。

    我的方法

    1.下载我们需要的文件,打开终端,输入:

    git clone https://github.com/lyfeyaj/sublime-text-imfix.git
    

    2.将subl移动到/usr/bin/,并且将sublime-imfix.so移动到/opt/sublime_text/(sublime的安装目录)
    终端输入:

    cd ~/sublime-text-imfix
    sudo cp ./lib/libsublime-imfix.so /opt/sublime_text/
    sudo cp ./src/subl /usr/bin/
    

    3.用subl命令试试能不能启动sublime,如果成功启动的话,应该就可以输入中文了。
    终端输入:

    LD_PRELOAD=./libsublime-imfix.so subl
    

    4.但是这样子只能用上述命令行启动才能输入中文,我们需要更简单的办法,我选择新建一个shell脚本,很简单,就一句话。
    sublime新建文件输入:

    #!/bin/bash
    LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so subl
    

    然后将文件另存为sublime(注意:没有后缀),并且放到/home文件夹。

    5.至此,所有工作完成了。想要启动,直接终端输入:bash ~/sublime,就可以启动sublime,并且能够输入中文。

    6.如果不需要输入中文,直接按以前的方式打开即可。建脚本文件的目的就是方便打开能输入中文的sublime。

    说明

    这只是一个权宜之计,完美的解决办法还没有,只能等sublime开发者更新。
    网上所谓的完美解决,还是有问题,比如如果更改桌面快捷方式,那么sublime的Browse Packages功能不能使用,当然,还有其他问题。为了正常使用,我就没改。当然如果你中文输入比较多,还是建议修改桌面快捷方式,毕竟那会方便很多,具体怎么样,自己取舍。

    另外,输入法不跟框,暂时无解啊。


    微信公众号:lyishaou


    微信公众号

    相关文章

      网友评论

      • 北京程序猿:靠谱, 一次成功~
      • 浩林Leon:使用这个方法确实不错。可以打开中文输入法,我的输入发是搜狗输入法。
        浩林Leon:我的是直接在快捷方式的可执行文件直接替换成 subl,
        需要修改下 subl里面的执行路径
      • PXWChina:我用你的方法,成功地在sublime中输入了中文。
      • yzzCool:可以,没问题!!!
      • 村口集合水泥自带:到现在也没支持中文,都几年了。到底是没把中文当回事还是没把Linux当回事??去TM的
      • 邢烽朔:It's Done....Thanks
      • f176ffe42a47:可以,解决了我的问题
      • 做个有理想的小高:赞个,第一种方法就搞定了。
      • 做个有理想的小高:赞个,ubuntu16.04第一种方法成功了.
      • xigua1234:我发现在命令行直接输入subl即可。所以,我直接修改sublime的快捷方式(.desktop文件)。
        Exec=/opt/sublime_text/sublime_text全部替换成subl的路径(whereis subl查看)
        即,desktop文件有三处改为
        Exec=/usr/bin/X11/subl(后面跟的原来是啥参数,还是啥参数)
        xigua1234:补充一点:
        LD_PRELOAD=./libsublime-imfix.so subl这个方式,并不需要,我并没有弄。
      • xigua1234:按照你的方法做的,好简单快捷,一次成功!
        xigua1234:@CloudClient 好像是自己装的输入法,rime
        xigua1234:我用的是自己的输入法,系统的输入法不好用
        CloudClient:你成功使用的是自己装的输入法 还是系统的???
      • 1043ebc2cda1:帮了大忙了,感谢!
      • 7d11735b1043:完美解决。版本ubuntu16.04:smiley:
      • Zhoumo01:问题解决,谢谢
      • 萤火虫de梦:轻松成功
      • e162460bf9fc:碰到
        ERROR: ld.so: object './libsublime-imfix.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
        这个错误的童鞋请注意,这里出错基本是路径问题。把./libsublime-imfix.so改成对应路径一般就能通过。
        不过很可惜,我这边似乎是输入法的问题,导致无论如何改动都无法切换输入法。
      • Tony_zt:https://segmentfault.com/a/1190000002461891
        这个方法可以解决,各位可以试试
      • c7b03ae095ee:LD_PRELOAD=./libsublime-imfix.so subl
        按上面方式启动,解决中文输入问题,但是没办法编译python文件
        但是通过原来的启动方式启动后可以编译。然后再通过上面方式启动,可以正常编译python文件
      • ce6ea958b7fd:/usr/share/applications/sublime_text.desktop
        把Exec改为/usr/bin/subl就可以啦。
        fdb3f9c1ec59:@Bob_Zhuang 能说的再详细点吗?我也是遇到以下错误
        ERROR: ld.so: object './libsublime-imfix.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
        ERROR: ld.so: object '/opt/sublime_text/libsublime-imfix.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
      • StephenRo:ERROR: ld.so: object './libsublime-imfix.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
        step3 wrong ,请问怎么解决呢
        e162460bf9fc:这是路径错了。你把路径改一下。
        Ign0re:@StephenRo 我今天试了也是..
      • b768715ee7db:十分感谢!很给力地解决问题啦!
      • Gnostikoi:解决了我的问题,感谢~
        我用 alias 设置启动 可以参考下
        在.bashrc 或 .zshrc 里加一行
        alias subl_cn="LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so subl"
        保持后执行 source .bashrc
        然后就可以通过subl_cn 启动支持输入中文的sublime text
        CloudClient:我怎么不行呢???
        Ign0re:@Gnostikoi ERROR: ld.so: object '/opt/sublime_text/libsublime-imfix.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
        亲爱的 请问你知道这是什么情况吗
        Vaayne:@Gnostikoi 这个不错
      • g才华横溢:非常感谢您提供宝贵的经验我的问题已经全部解决!
      • 7c299d56da23:我安装的build 3083 ,上述的方法我是按步做了,最终都不可以输入中文 , :sob:
        问了一下同事他用的非3083 比其要低几个版本,但是是3以上,他照做了可以输入中文。
        能否贡献一下你的sublime安装软件。tomhat@126.com 谢谢!
        Vaayne:@7c299d56da23 额,直接拿同事的不是更方便,我现在转战Mac了,没有包了。
      • 7c299d56da23:你好,我按照你的方法来做,第三步的时候可以打开sublime,可是不能输入中文
      • 石占木:ERROR: ld.so: object '/opt/sublime_text/libsublime-imfix.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
        Ign0re:@以C威武 我今天试了下 也是 ... :broken_heart:
        4ac05ceee5d3:@石占 我也是这样
      • 石占木:所有方法都试了一遍,都失败了
      • 99930ac8c735:按照第一个方法成功了,在没有打开sublime的情况下终端键入subl可以打开支持中文的窗口。
        我有一个方法跟大家分享一下,实现了用快捷键将当前的文件用支持中文输入的sublime打开。前提是这个文件格式没有绑定其他build命令。
        原理:利用sublime build执行命令:pkill subl && subl ‘文件路径’
        参考:
        //build文件
        {
        "shell_cmd": "pkill subl && subl \"${file}\"",

        "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",

        "working_dir": "${file_path}"
        }
        注意: 按快捷键之前最好保存一下打开的文件,毕竟是pkill。
        Vaayne:@StephenRo 看人品吧
        StephenRo:@junolym 弄完还是没有中文 :dizzy_face:
        Vaayne:@junolym 不错
      • cd87946d37f0:我忘记是不是直接能输入中文了,但之前直接点'desktop'图标是不行的。看了你的文章,做了前面两步有点疑惑,因为我安装完的时候就提示我可以用'subl',并且当时我或许是可以中文输入的(不记得了),但是进行到你的第三步,我确认可以在teminal输入'subl'出来的sublime是可以中文输入的,所以我到‘/usr/share/applications/‘里面的Sublime创建的'.desktop’文件,执行命令改成了‘subl’,直接点击也能中文输入了
        Vaayne:@liangzr 做前面的步骤是因为我的安装完成后不能直接从命令行启动,如果可以启动就不需要,后面是给启动命令加个参数,确保那个插件的运行。
      • codekun:在你的方法下弄好啦,谢谢~
        不过你最后把shell文件放在/home下运行有点麻烦啊,直接放在/usr/bin里岂不是更好?
        dc3b5c016d0c:@codekun 有个东西叫做快捷键,既然都用Linux了,想必也用键盘多于鼠标了。Ubuntu下自定义一个快捷键,命令为subl,这样子就相当于命令行启动了。设置快捷键:设置——键盘——快捷键
        Vaayne:@codekun 都行,方便就好
      • 88ac0589cb17:确实无法根治,LD_PRELOAD会影响sublime的子进程,就是外部调用,原因是gtk2和gtk3的版本冲突……这就是中文输入的代价……官方也不修复一下
      • _啊哈哈哈哈:你好,我按照你的方法来做,第三步的时候可以打开sublime,可是不能输入中文 :joy:
        CloudClient:你后来解决了吗? 我都快被这个问题搞得想放弃sublime了?

      本文标题:解决Ubuntu下Sublime Text 3无法输入中文

      本文链接:https://www.haomeiwen.com/subject/vnsotttx.html