TIL: 数字小键盘的小数点陷阱与行内算术求值
内容提要
这篇文章讨论了在 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 中被硬编码为逗号。