如何将emacs键序列向量(即read-key-sequence-vector的结果)转换为用户可读的字符串?也就是说,给定[7],返回“C-g”。

我需要一种可靠的方法来检查任意长度的键序列之间的相等性,以及以非矢量格式(即人类可读的)显示键序列。

有关详细信息,我的函数必须执行以下操作:

  • 定义键序列到值(字符串)的哈希图。这些键序列具有任意长度(例如,“q”,“w”,3,“4”),并且不受emacs的键映射的限制。
  • 在缓冲区中显示到用户的映射(键序列->字符串)。因此,键序列必须是用户可理解的,即不能采用矢量格式。
  • 从用户处读取按键序列,返回适当的字符串。

  • 我可以使用两种功能,读键序列和读键序列向量。前者有时以字符串形式返回,有时以向量形式返回用户键入的键序列。例如,有时它会为键“one”返回“1”,但有时会返回[49]。这种不可预测的行为不允许我测试是否相等。

    后者将键作为向量返回,正如我提到的那样,这对我没有用,因为我需要用户查看可能的键序列。

    我想我可以手动创建当前机器键盘上所有键的hasmap。但是恐怕这不能移植到其他机器上。

    最佳答案

    (key-description [7]) => "C-g"
    

    关于emacs - 将键序列向量转换为用户可读的字符串表示形式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15088892/

    10-14 16:19