TIL: 数字小键盘的小数点陷阱与行内算术求值

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

这篇文章讨论了在 Emacs 中使用数字小键盘输入小数点的问题。由于欧洲键盘布局将小键盘的分隔键映射为逗号,用户无法直接输入小数点。解决方法是通过配置将该键映射为小数点。此外,文章还介绍了一个技巧,可以在光标左侧替换算术表达式为其计算结果。

🎯

关键要点

  • 在 Emacs 中,数字小键盘的分隔键在欧洲键盘布局下被硬编码为逗号,导致无法直接输入小数点。

  • 美式和中文键盘布局下,数字小键盘的分隔键可以正常输入小数点,不受此问题影响。

  • 解决方法是通过配置将 kp-separator 映射为小数点: (keymap-set function-key-map "<kp-separator>" ".")。

  • 文章还介绍了一个技巧,可以在光标左侧将算术表达式替换为其计算结果,使用 M-x fast-calc 命令实现。

  • 使用带前缀参数的 fast-calc 可以保留两位小数并追加货币后缀,例如 12.5*3 会被替换为 37.50 PLN。

延伸问答

为什么在欧洲键盘布局下,数字小键盘无法输入小数点?

因为在欧洲键盘布局下,数字小键盘的分隔键被硬编码为逗号,导致无法直接输入小数点。

如何解决数字小键盘无法输入小数点的问题?

可以通过配置将 kp-separator 映射为小数点,使用代码 (keymap-set function-key-map "<kp-separator>" ".")。

在 Emacs 中如何使用行内算术求值功能?

可以使用 M-x fast-calc 命令,将光标左侧的算术表达式替换为计算结果。

使用带前缀参数的 fast-calc 有什么特别之处?

带前缀参数时,fast-calc 可以保留两位小数并追加货币后缀,例如将 12.5*3 替换为 37.50 PLN。

美式和中文键盘布局在数字小键盘上有什么不同?

在美式和中文键盘布局下,数字小键盘的分隔键可以正常输入小数点,不受逗号映射的影响。

Emacs 中的 kp-separator 是什么?

kp-separator 是数字小键盘的分隔键,在 Emacs 中被硬编码为逗号。

➡️

继续阅读