emacs由n个逗号前进

bph*_*bph 2 emacs

任何人都可以建议我如何在emacs中使用n逗号前进(或后退)?

我正试图通过CSV文件导航

我知道我可以这样做:

C-u 100 M-f

但是能够做一些像逗号更具体的reg-exp会更准确

phi*_*ils 7

我尝试的另一件事是将Cu#和Cs结合起来,但这没有用

它将使用键盘宏,您可以交互式定义.

  • C-x( - 开始录音
  • C-s,RET- 搜索逗号(RET重要的是;见下文)
  • C-x) - 停止录音

您现在可以再次执行该宏C-xe(然后仅e用于继续单次重复),或使用前缀参数重复给定次数:

C-u 100 C-xe

键盘宏非常有用,可以很容易地绑定到键,甚至可以添加到elisp表单中的.emacs文件中,如果你想保留一个以供将来使用.详情请参阅说明书.

编辑:

对于ad-hoc宏更加无缝,您可以在停止录制时提供前缀参数,以获得完全重复的次数,包括用于记录的重复次数:
C-x(C-s,RETC-u 100 C-x)

在我停止录制之前添加RET显式调用isearch-exit之前,我看到了该序列的一些意外行为.它表现得好像它只是记录并重复逗号键(导致逗号被多次插入而不是被多次搜索).

edit-last-kbd-macro在录制后使用,我可以看到在宏中使用isearch时有一个怪癖,这样C-x在停止录制时键入的内容实际上包含在宏定义中,这可能会导致此特定调用方法的问题.与备用F3F4绑定类似(在这种情况下,F4最终在定义中).我不知道这是一个bug还是一个功能,但显然在停止宏录制之前退出isearch是值得的!

PS尽管这两套宏录制绑定的不是相同的所有方面,这里的一切都还与F3F4,所以在这个例子中,你可以稍微更简洁使用F3C-s,RETC-u 100 F4