3

我想在 emacs 中编辑 boustrophedon 中的文本。对于那些不知道 boustrophedon 文本方向的人来说,在田野中“像牛转身”或像打印机喷墨一样。出于同样的原因,这在农场或打印机上很有效,一旦你习惯了它(不会花费太长时间),这个文本就会非常有效地阅读。

有关 boustrophedon 排版/布局的更多信息:http: //www.ntg.nl/pipermail/aleph/2004-March/000094.html

据我所知,没有这种排版风格的实现,我对如何实现它感到困惑。

关于如何做到这一点的任何想法?

谢谢, 安德烈亚斯

4

3 回答 3

2

我假设建议自插入命令、拦截事件并相应地修改缓冲区是您想要做的。然后,您将需要重新绑定方向命令(forward-char 和朋友在相反的行上反转),依此类推。

很多工作,但绝对有可能。

在你写任何太复杂的东西之前,请在 emacs-devel 上询问。正如评论所暗示的那样,对这样的东西提供通用支持可能会很有用......尽管具有不同方向的任意文本片段不会像您的文本那样自动换行(插入时)。

编辑:显然建议 self-insert-command 对此并不完全有效,因此您需要设置一个键盘映射(并将 ?a 绑定到 (my-new-insert-command ?a) 等等......)。

于 2009-01-09T05:17:28.707 回答
1

你可以把它写在sedI hacked the revscript from the sed1liners text 以跳过一行,然后rev每隔一行:

alias boustrophedon='sed -n "1{p;b a};{/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//;p};n;p;:a"'

$> echo -en "This\nis\nBoustrou...\ntext\non\ndisplay\nhere.\n" | boustrophedon

This
si
Boustrou...
txet
on
yalpsid
here.

或者,如果您想处理整个文件:

$> boustrophedon <filename>

于 2016-01-03T18:49:37.897 回答
0

有用于“转牛”的 linux 软件。查看http://traevoli.com/boust/ 享受吧!

于 2009-06-07T14:16:26.670 回答