首页 文章

emacs:一种次要模式,用于显示各种基数中的数字

提问于
浏览
1

我正在寻找一个可以识别数字及其基数的Emacs包 .

我希望它是交互式的(给出所选数字的值或点数) .

返回的值可以打印到迷你缓冲区(然后是消息缓冲区)或单独的缓冲区 .

有人可以解释如何访问这些值以及创建此类函数需要采取的步骤是什么?

1 回答

  • 0

    我没有完整,直接的答案给您,但这里有几个库,您可以查看有关自己实现这一点的想法 . 一些问题取决于您希望如何显示/返回数字 .


    如果要识别的文本使用标准Emacs表单作为基数和该基数中的数字,那么您可以定义 radix-number-at-point . 该表格记录在Elisp手册中,节点Integer Basics . 例如, #13r90B3 与十进制整数 19919 的编号相同 .

    这是一个快速的定义 . 你可能想调整一下 .

    (defun radix-number-at-point ()
      "Return the radix number at point, or nil if none is found."
      (when (thing-at-point-looking-at "-?#[0-9][0-9]*r[a-zA-Z0-9]+\\.?[a-zA-Z0-9]*" 500)
        (read (buffer-substring-no-properties (match-beginning 0) (match-end 0)))))
    

    您还可以定义一个不需要显式 #rRADIX 部分的函数,例如,按顺序自动尝试不同的基数,例如,使用返回数字的最小基数 .

相关问题