【问题标题】:Can't type accented characters in Sublime Text 3 (Ubuntu 14.10)无法在 Sublime Text 3 (Ubuntu 14.10) 中输入重音字符
【发布时间】:2015-02-26 12:45:11
【问题描述】:

由于某种原因,我无法在 Sublime Text 3 中输入重音字符,如 á å、ä。 相反,我只得到以下输出'a°a,¨a。当我按下帽子符号时会输入帽子符号,而不是让我输入重音字符,顺便说一下,我使用的是冰岛语键盘。

Sublime text build 3065,Ubuntu 64 位。在 Ubuntu 14.10 上运行。

这个问题在 Ubuntu 14.04 上没有出现。

【问题讨论】:

    标签: ubuntu sublimetext sublimetext3


    【解决方案1】:

    我为那些使用 ABNT2 键盘的人提供了一些补充,与巴西人配合得很好。

    Preferences > Key Bindings - User中,添加如下sn-p:

    [
        // missing accented characters fix for ubuntu 14.10
    
        // a, [á, à, ã, â, å, ä]
        { "keys": ["´","a"], "command": "insert", "args": {"characters": "á"}},
        { "keys": ["`","a"], "command": "insert", "args": {"characters": "à"}},
        { "keys": ["~","a"], "command": "insert", "args": {"characters": "ã"}},
        { "keys": ["^","a"], "command": "insert", "args": {"characters": "â"}},
        { "keys": ["°","a"], "command": "insert", "args": {"characters": "å"}},
        { "keys": ["¨","a"], "command": "insert", "args": {"characters": "ä"}},
    
        // A, [Á, À, Ã, Â, Å, Ä]
        { "keys": ["´","A"], "command": "insert", "args": {"characters": "Á"}},
        { "keys": ["`","A"], "command": "insert", "args": {"characters": "À"}},
        { "keys": ["~","A"], "command": "insert", "args": {"characters": "Ã"}},
        { "keys": ["^","A"], "command": "insert", "args": {"characters": "Â"}},
        { "keys": ["°","A"], "command": "insert", "args": {"characters": "Å"}},
        { "keys": ["¨","A"], "command": "insert", "args": {"characters": "Ä"}},
    
        // e, [é, è, ê, ẽ, ë]
        { "keys": ["´","e"], "command": "insert", "args": {"characters": "é"}},
        { "keys": ["`","e"], "command": "insert", "args": {"characters": "è"}},
        { "keys": ["^","e"], "command": "insert", "args": {"characters": "ê"}},
        { "keys": ["~","e"], "command": "insert", "args": {"characters": "ẽ"}},
        { "keys": ["¨","e"], "command": "insert", "args": {"characters": "ë"}},
    
        // E, [É, È, Ê, Ẽ, Ë]
        { "keys": ["´","E"], "command": "insert", "args": {"characters": "É"}},
        { "keys": ["`","E"], "command": "insert", "args": {"characters": "È"}},
        { "keys": ["^","E"], "command": "insert", "args": {"characters": "Ê"}},
        { "keys": ["~","E"], "command": "insert", "args": {"characters": "Ẽ"}},
        { "keys": ["¨","E"], "command": "insert", "args": {"characters": "Ë"}},
    
        // i, [ì, í, ï]
        { "keys": ["`","i"], "command": "insert", "args": {"characters": "ì"}},
        { "keys": ["´","i"], "command": "insert", "args": {"characters": "í"}},
        { "keys": ["¨","i"], "command": "insert", "args": {"characters": "ï"}},
    
        // I, [Ì, Í, Ï]
        { "keys": ["`","I"], "command": "insert", "args": {"characters": "Ì"}},
        { "keys": ["´","I"], "command": "insert", "args": {"characters": "Í"}},
        { "keys": ["¨","I"], "command": "insert", "args": {"characters": "Ï"}},
    
        // o, [ó, õ, ô, ö]
        { "keys": ["´","o"], "command": "insert", "args": {"characters": "ó"}},
        { "keys": ["~","o"], "command": "insert", "args": {"characters": "õ"}},
        { "keys": ["^","o"], "command": "insert", "args": {"characters": "ô"}},
        { "keys": ["¨","o"], "command": "insert", "args": {"characters": "ö"}},
    
        // O, [Ó, Õ, Ô, Ö]
        { "keys": ["´","O"], "command": "insert", "args": {"characters": "Ó"}},
        { "keys": ["~","O"], "command": "insert", "args": {"characters": "Õ"}},
        { "keys": ["^","O"], "command": "insert", "args": {"characters": "Ô"}},
        { "keys": ["¨","O"], "command": "insert", "args": {"characters": "Ö"}},
    
        // u, [ú, ů, ü]
        { "keys": ["´","u"], "command": "insert", "args": {"characters": "ú"}},
        { "keys": ["°","u"], "command": "insert", "args": {"characters": "ů"}},
        { "keys": ["¨","u"], "command": "insert", "args": {"characters": "ü"}},
    
        // U, [Ú, Ů, Ü]
        { "keys": ["´","U"], "command": "insert", "args": {"characters": "Ú"}},
        { "keys": ["°","U"], "command": "insert", "args": {"characters": "Ů"}},
        { "keys": ["¨","U"], "command": "insert", "args": {"characters": "Ü"}},
    
        // y, [ý, ÿ]
        { "keys": ["´","y"], "command": "insert", "args": {"characters": "ý"}},
        { "keys": ["¨","y"], "command": "insert", "args": {"characters": "ÿ"}},
    
        // Y, [Ý, Ÿ]
        { "keys": ["´","Y"], "command": "insert", "args": {"characters": "Ý"}},
        { "keys": ["¨","Y"], "command": "insert", "args": {"characters": "Ÿ"}}
    ]
    

    【讨论】:

      【解决方案2】:

      我找到了解决这个问题的方法,在 Sublime Text 中转到 Preferences > Key Bindings - User,将下面的代码添加到打开 Default (Linux).sublime-keymap 的文件中并保存。

      请注意,这是一个 hacky 修复,可能不包含您需要/想要的所有重音字母,在这种情况下,您可以轻松添加那些缺失的字母。另请注意,此修复不会攻击我认为与 Ubuntu 14.10 有关的问题的根源。

      [
          // missing accented characters fix for ubuntu 14.10
      
          // a, [á, å, ä]
          { "keys": ["´","a"], "command": "insert", "args": {"characters": "á"}},
          { "keys": ["°","a"], "command": "insert", "args": {"characters": "å"}},
          { "keys": ["¨","a"], "command": "insert", "args": {"characters": "ä"}},
      
          // A, [Á, Å, Ä]
          { "keys": ["´","A"], "command": "insert", "args": {"characters": "Á"}},
          { "keys": ["°","A"], "command": "insert", "args": {"characters": "Å"}},
          { "keys": ["¨","A"], "command": "insert", "args": {"characters": "Ä"}},
      
          // e, [é, ë]
          { "keys": ["´","e"], "command": "insert", "args": {"characters": "é"}},
          { "keys": ["¨","e"], "command": "insert", "args": {"characters": "ë"}},
      
          // E, [É, Ë]
          { "keys": ["´","E"], "command": "insert", "args": {"characters": "É"}},
          { "keys": ["¨","E"], "command": "insert", "args": {"characters": "Ë"}},
      
          // i, [í, ï]
          { "keys": ["´","i"], "command": "insert", "args": {"characters": "í"}},
          { "keys": ["¨","i"], "command": "insert", "args": {"characters": "ï"}},
      
          // I, [Í, Ï]
          { "keys": ["´","I"], "command": "insert", "args": {"characters": "Í"}},
          { "keys": ["¨","I"], "command": "insert", "args": {"characters": "Ï"}},
      
          // o, [ó, ö]
          { "keys": ["´","o"], "command": "insert", "args": {"characters": "ó"}},
          { "keys": ["¨","o"], "command": "insert", "args": {"characters": "ö"}},
      
          // O, [Ó, Ö]
          { "keys": ["´","O"], "command": "insert", "args": {"characters": "Ó"}},
          { "keys": ["¨","O"], "command": "insert", "args": {"characters": "Ö"}},
      
          // u, [ú, ů, ü]
          { "keys": ["´","u"], "command": "insert", "args": {"characters": "ú"}},
          { "keys": ["°","u"], "command": "insert", "args": {"characters": "ů"}},
          { "keys": ["¨","u"], "command": "insert", "args": {"characters": "ü"}},
      
          // U, [Ú, Ů, Ü]
          { "keys": ["´","U"], "command": "insert", "args": {"characters": "Ú"}},
          { "keys": ["°","U"], "command": "insert", "args": {"characters": "Ů"}},
          { "keys": ["¨","U"], "command": "insert", "args": {"characters": "Ü"}},
      
          // y, [ý, ÿ]
          { "keys": ["´","y"], "command": "insert", "args": {"characters": "ý"}},
          { "keys": ["¨","y"], "command": "insert", "args": {"characters": "ÿ"}},
      
          // Y, [Ý, Ÿ]
          { "keys": ["´","Y"], "command": "insert", "args": {"characters": "Ý"}},
          { "keys": ["¨","Y"], "command": "insert", "args": {"characters": "Ÿ"}}
      ]
      

      【讨论】:

      • 我在升级到 14.10 后遇到了同样的问题。通过删除并重新添加带有死键的键盘映射 EN_US 国际来解决。自动改为 EN_US 国际 AltGr Unicode 组合,不正确。
      • 酷,如果您添加一个答案,其中包含有关如何解决此问题的更多详细信息(愚蠢的婴儿步骤),而没有上述技巧,我会尝试一下,如果有效,我会接受你的答案:)
      • 完成。我希望它可以帮助你和其他人。但是,对不起,如果不是同一个问题。
      【解决方案3】:

      Sublime Text 是一个很棒的编辑器,XCompose 非常方便快速输入奇怪的 Unicode 字符。然而,这两者并没有结合:Sublime Text 有一个烦人的错误,它会阻止处理 XCompose 文件的 xim 输入法工作。

      幸运的是有人做了一个补丁。如果您想了解更多信息,可以在这里阅读:http://whitequark.org/blog/2014/04/14/xcompose-support-in-sublime-text/

      如果您只是想解决问题,您可以在终端中使用以下命令(注意:这仅适用于官方网站的软件包)。

      1. 首先添加仓库

        sudo add-apt-repository ppa:whitequark/sublime-imethod-fix
        
      2. 然后安装补丁

        sudo apt-get install libsublime-text-3-xim-xcompose
        

      所有功劳归于 Peter Zotov 制作的补丁。

      【讨论】:

      • 您应该在答案中添加更多详细信息和解释。如果您要链接的内容发生更改或消失,则仅链接答案将无用。
      • 这对我来说非常好用,它让我可以在 askubuntu 关闭这个问题:askubuntu.com/questions/595079/…
      【解决方案4】:

      升级到 14.10 后我遇到了同样的问题。通过删除并重新添加键盘映射 EN_US international with dead keys 解决了这个问题。自动改为EN_US国际AltGr Unicode组合,不正确。

      婴儿步:

      1) 点击打开顶部栏右侧菜单,然后点击设置图标

      2) 在所有设置中,点击区域和语言

      3) 在窗口底部的Input Sources中,点击Add (+)按钮:

      4) 在添加输入源中,选择英语(美国)

      5) 现在选择EN_US international with dead keys并点击添加按钮:

      6) 回到Region & Language,选择EN_US国际AltGr Unicode组合,点击删除(-)按钮,关闭窗口。

      如果你和我有同样的问题,那会解决的。

      【讨论】:

        【解决方案5】:

        与上述相同的修复,这次是针对捷克变音符号(不必要地完成,但到底是什么,我是通过脚本 xD 完成的)。添加到Preferences > Key Bindings - User

        //missing composite characters for Czech alphabet
        { "keys": ["´","A"], "command": "insert", "args": {"characters": "Á"}},
        { "keys": ["´","a"], "command": "insert", "args": {"characters": "á"}},
        { "keys": ["ˇ","C"], "command": "insert", "args": {"characters": "Č"}},
        { "keys": ["ˇ","c"], "command": "insert", "args": {"characters": "č"}},
        { "keys": ["ˇ","D"], "command": "insert", "args": {"characters": "Ď"}},
        { "keys": ["ˇ","d"], "command": "insert", "args": {"characters": "ď"}},
        { "keys": ["´","E"], "command": "insert", "args": {"characters": "É"}},
        { "keys": ["´","e"], "command": "insert", "args": {"characters": "é"}},
        { "keys": ["ˇ","E"], "command": "insert", "args": {"characters": "Ě"}},
        { "keys": ["ˇ","e"], "command": "insert", "args": {"characters": "ě"}},
        { "keys": ["´","I"], "command": "insert", "args": {"characters": "Í"}},
        { "keys": ["´","i"], "command": "insert", "args": {"characters": "í"}},
        { "keys": ["ˇ","N"], "command": "insert", "args": {"characters": "Ň"}},
        { "keys": ["ˇ","n"], "command": "insert", "args": {"characters": "ň"}},
        { "keys": ["´","O"], "command": "insert", "args": {"characters": "Ó"}},
        { "keys": ["´","o"], "command": "insert", "args": {"characters": "ó"}},
        { "keys": ["ˇ","R"], "command": "insert", "args": {"characters": "Ř"}},
        { "keys": ["ˇ","r"], "command": "insert", "args": {"characters": "ř"}},
        { "keys": ["ˇ","S"], "command": "insert", "args": {"characters": "Š"}},
        { "keys": ["ˇ","s"], "command": "insert", "args": {"characters": "š"}},
        { "keys": ["ˇ","T"], "command": "insert", "args": {"characters": "Ť"}},
        { "keys": ["ˇ","t"], "command": "insert", "args": {"characters": "ť"}},
        { "keys": ["´","U"], "command": "insert", "args": {"characters": "Ú"}},
        { "keys": ["´","u"], "command": "insert", "args": {"characters": "ú"}},
        { "keys": ["´","Y"], "command": "insert", "args": {"characters": "Ý"}},
        { "keys": ["´","y"], "command": "insert", "args": {"characters": "ý"}},
        { "keys": ["ˇ","Z"], "command": "insert", "args": {"characters": "Ž"}},
        { "keys": ["ˇ","z"], "command": "insert", "args": {"characters": "ž"}}
        

        【讨论】:

          【解决方案6】:

          我已经解决了这个问题,将“键盘输入法系统”更改为“IBus”。您需要重新启动计算机。

          系统设置>语言支持>键盘输入法系统

          【讨论】:

            【解决方案7】:

            这是 Sublime Text 的快速修复:

            将此添加到代码的顶部:

            # coding=utf-8
            

            -- coding: utf-8 --
            

            两者都有效。

            【讨论】:

              猜你喜欢
              • 2019-04-06
              • 1970-01-01
              • 2016-05-06
              • 2014-04-18
              • 1970-01-01
              • 1970-01-01
              • 2018-10-22
              • 1970-01-01
              • 2013-07-10
              相关资源
              最近更新 更多