有人可以建议我如何通过emacs中的 n 逗号前进(或后退)吗?
我正试图浏览CSV文件
我知道我可以做类似的事情:
C-u 100 M-f
但是能够更准确地使用commas做更多的reg-exp会更准确
答案 0 :(得分:7)
我尝试过的另一件事是将C-u#和C-s结合起来,但这不起作用
它将使用键盘宏,您可以交互式定义。
RET
很重要;见下文)现在可以使用 Cx e 再次执行该宏(然后只需 e 继续单次重复),或者使用前缀参数重复一次给定的次数:
C-u 100
C-x e
键盘宏非常有用,可以轻松绑定到键,甚至可以添加到elisp表单中的.emacs文件中,如果你想保留一个以供将来使用。 See the manual for details
编辑:
对于ad-hoc宏更加无缝,您可以在停止录制时提供前缀参数,以获得完全重复的次数,包括用于记录的重复次数:
Cx ( Cs , RET Cu {{ 1}} Cx )
在我停止录制之前添加 RET 以显式调用100
之前,我看到了该序列的一些意外行为。它表现得好像它只记录并重复逗号键(导致逗号插入多次而不是多次搜索)。
录制后使用isearch-exit
我可以看到在宏中使用isearch时有一个怪癖,这样在停止录制时键入的edit-last-kbd-macro
实际上包含在宏定义中,这可能是导致此特定调用方法的问题。与备用 F3 和 F4 绑定类似(在这种情况下,C-x
最终在定义中)。我不知道这是一个bug还是一个功能,但显然在停止宏录制之前退出isearch是值得的!
P.S。虽然两组宏录制绑定在所有方面都不相同,但此处的所有内容也适用于F4
和F3
,因此对于此示例,您可以更简洁地使用 F3 Cs , RET Cu F4
F4 < / KBD>
答案 1 :(得分:1)
使用
iy-go-to-char
你
可以做 M-3 C-c f ,去
第三个逗号。
答案 2 :(得分:1)
使用CSV mode,这将为您提供方便的功能,以实现您想要的功能和更多
答案 3 :(得分:0)
您可以使用 C-u C-u M-f 或 C-u C-u C-f 录制宏并使用它。如果不经常使用,请使用 PF3 进行录制,然后按 PF4 进行播放。