默认情况下,Emacs 24可以处理阿拉伯语,希伯来语和其他从右到左(RTL)语言。我有多语言术语模拟器在X中处理这个,但我想在emacs中使用eshell来查看非英文字符文件名(男孩我有很多)。当我使用eshell时,角色的顺序不正确,并且说出了胡言乱语。 (setq-default bidi-display-reordering t)
(默认情况下)显然没有区别。
这可能吗?
答案 0 :(得分:1)
我相信你正在通过emacs + mlterm进行双重重新排序,并且需要禁用一个。
Your screenshot显示在上半部分mlterm成功检测逐行基本方向并重新排序字符。 默认情况下,Emacs 24会在终端重新排序bidi,假设非bidid LTR termianl 。 结合两者导致双重重新排序ABC - > CBA - > ABC
您有两个选择:
在mlterm中禁用bidi(至少在运行emacs时,不知道如何自动执行)。
在emacs中禁用bidi(至少在mlterm下运行时)。 即将bidi-display-reordering设置为 nil ,而不是 t 。
我希望第一个会更好。 mlterm只能给你一个愚蠢的“比迪显示”图层,这可能会让编辑器感到困惑; emacs为您提供“双向编辑”,让有人想到整个互动应该如何运作。
xterm-mouse-mode
的鼠标,但是(未经测试的推测)它适用于终端坐标,需要额外的工作才能将它们与逻辑顺序文本相匹配。P.S。我不确定为什么最终结果是右对齐的,因为它似乎之前有一个空白行,因此Emacs应该将其视为一个新段落,决定它是RTL并将右对齐文本发送到mlterm,我希望mlterm然后反转该行导致它左对齐。我可能错过了一些东西。