如果您运行的是Linux并且熟悉atc游戏,那么您可能知道我希望Vim可以做什么。如果没有,请允许我解释。

从联机帮助页中可以看到,atc有一个相对简单的命令系统,您首先在其中命名一个飞机,然后为该飞机命名一个命令,然后比论点。这样,您告诉飞机aa一起到达7 000英尺的高度。最主要的是,当您键入命令时,它的所谓“输入区域”会发生变化:(从内存中)

A:

A: altitude

A: altitude 7000


例如,这就是游戏的方式确认一个aa7命令。您刚刚键入的命令的作用毫无疑问。当您开始发出诸如BLgtte4ab2)之类的命令时,这将变得很有用。

好吧,我正在寻找可以做到这一点的东西-但对于Vim。例如,如果我输入G: turn towards exit 4 at beacon 2,我希望发生以下情况:

save macro to slot [a-z0-9]:                                              (ESC to cancel)

q时:

recording macro to slot a.                                (hit q again to stop recording)


…然后我打a

delete [dwbntf...]:                                                       (ESC to cancel)


…然后d

deleted to next space.                                                        (u to undo)


…,当我再次按下W时:

recording stopped; macro saved.                                  (run your macro with @a)


…然后我按下q

playback macro in slot [a]:                                               (ESC to cancel)


你明白了。如果需要的话,称它为训练轮,或者只是从程序中以文本确认您已经完成了自己认为已完成的工作(对于这一天,当您不得不通过不稳定的连接远程登录到某个旧服务器时,已经是@的一些超级精简版本了。 :)

那里有类似的东西吗?

评论

请注意,我对这个主题一无所知,我在上面的“解释性行”中所写的内容可能是错误的

我喜欢你的主意当我不小心按下通常不使用的键(例如“ q”键)时,它将使我更好地了解发生了什么。显然,其他人也喜欢您的想法-看它有多少票。您是否已将其发送到vim-dev邮件列表?他们可以在Vim中实现您的想法。或者,您是否已将其发送到邪恶模式错误跟踪器或邮件列表?他们可以在Evil中实现它,而Evil是目前Emacs的最先进的Vim仿真层。

#1 楼

本演讲讨论了一些相关的工具:

评论


是的,我从外部看不到这个工作:)

– Badp
15年5月27日在19:23

#2 楼

通常,vim可以通过在vim中执行:set showcmdq:(用于历史记录)来显示所有击键和命令,但不适用于部分命令,并且不会告诉您击键/命令的含义。

据我所知,没有插件可以做到这一点,因为vim不会记录所有击键,除非由-w指定,在那里您可以将所有命令记录到文件中,例如:vim -w keys.txt my_file。但是问题是,vim仅在退出Vim时才编写击键。

有关更高级的解决方案,请检查:在Vim SE上使用showcmd显示命令历史记录