我是EmacsLisp的新手。我在过去的18个月里一直在使用emacs,但从未对我自己做过任何自定义。但是为了学会这样做,我试图解决以下问题:
给定一行字符形成形式的等式
(一些字符A)=(某些字符B),
我想交换两个表达式A和B.
我确定了似乎是为这个定制的功能 - transpose-regions start1 end1 start2 end2 &optional leave-markers
我有以下问题 -
start1 end1
?似乎从缓冲区的开头计算位置! =
并想要进行交换,该怎么办?如何在那里指定start end
值?这对我来说是一次学习练习。请不要发布完整的解决方案。我会把它作为一个编辑,为最终在这里寻找解决方案的人。有关emacs lisp编码风格的任何建议将不胜感激!
答案 0 :(得分:1)
由于您不想要一个完整的解决方案,我只会给您一个清单
实现它的功能:
transpose-regions
,point
,line-beginning-position
,line-end-position
。
这就是你所需要的,假设你已经手动导航到了=。
如果您想在代码中导航到=,请move-beginning-of-line
和re-search-forward
。