有没有重复多次上个命令的命令

我想在restclient-mode里,不断发送一个请求,现在只能狂按C-c C-v

网上搜重复上个命令,全都是讲repeat C-x z,但它只重复一次,不能指定重复次数,咋办?

再按 z 就能接着重复了吧?请看 help 末尾:

If this command is invoked by a multi-character key sequence, it
can then be repeated by repeating the final character of that
sequence.  This behavior can be modified by the global variable
‘repeat-on-final-keystroke’.

evil-mode下,按.就可以了

哦,这我倒不知道。 但还是不满足使用需求,还是要狂按啊 :smiley:

最好开始输入一个数100,然后自动重复100次

我不是魔鬼 :crazy_face:,而且也不是自动重复

试试看 C-u 100 C-x z……

试了不行,这个是把100传给被重复的命令。forward-char是能重复一百次的,因为它自己的参数就是重复次数, 但是restclient发送命令没有这个参数

可以自己写一个小的辅助命令,里面来个循环应该能达到目的。

1 个赞

试了下,想写个通用的多次重复还挺麻烦的,有内置就好了。

先凑合一个restclient专用的吧

(defun http-send-times (&optional count)
  (interactive "p")
  (if (null count)
      (restclient-http-send-current-stay-in-window)
    (dotimes (_ count) (restclient-http-send-current-stay-in-window))))

来自 emacs 的 DOS “攻击” :grinning:

刚才试了下,发10次还行,发100次有很多会失败,有时候还会把emacs卡死 :rofl: 看来restclient不擅长DOS攻击

排除了后端http服务的问题了吗?

极简测试,用python -m http.server,然后请求http://localhost:8000。 发100次,看能收到30多次,emacs有报错:

HTTP GET http://localhost:8000 Headers:[nil] Body:[] [32 times]
url-http: Process localhost<32> not running

emacs有时候会卡死