1
人們可以很容易地映射某些鍵向上滾動。加速鍵盤滾動
(defun up1()
(interactive)
(scroll-up 1))
(defun up2()
(interactive)
(scroll-up 2))
(global-set-key "\M-]" 'up2)
我正在尋找的是以下行爲。滾動的第一把 將調用up1(),隨後的調用up2()。
人們可以很容易地映射某些鍵向上滾動。加速鍵盤滾動
(defun up1()
(interactive)
(scroll-up 1))
(defun up2()
(interactive)
(scroll-up 2))
(global-set-key "\M-]" 'up2)
我正在尋找的是以下行爲。滾動的第一把 將調用up1(),隨後的調用up2()。
如何:
(setq my-scroll-counter 0)
(setq my-scroll-limit 5)
(defun up1()
(interactive)
(if (eq last-command this-command)
(incf my-scroll-counter)
(setq my-scroll-counter 0))
(if (> my-scroll-counter my-scroll-limit)
(scroll-up 2)
(scroll-up 1)))
(global-set-key "\M-]" 'up1)
如果你想要的東西票友一點點,你算算你的滾動步動態基於你多少次重複命令:
(setq my-scroll-counter 0)
(setq my-maximum-scroll 20)
(setq my-scroll-acceleration 4)
(defun up1()
(interactive)
(if (eq last-command this-command)
(incf my-scroll-counter)
(setq my-scroll-counter 0))
(scroll-up (min
(+ 1 (/ my-scroll-counter my-scroll-acceleration))
my-maximum-scroll)))
(global-set-key "\M-]" 'up1)
不完全是。我只想在鍵盤重複中加入「加速」。這個想法是,如果我停止滾動,這意味着我想更仔細地看當前可見的代碼。 – Calaf 2013-04-05 20:59:18
我不明白你的意思。每當您連續調用up1而不是另一個命令時,加速度會超過「my-scroll-limit」時間。 '鍵盤重複'是什麼意思? – Tyler 2013-04-05 21:02:57
如果您按下鍵盤鍵,則只輸入一個實例,但如果按住鍵盤鍵,則會重複鍵並獲得多個實例。如果我持有\ M-],我希望滾動速度最初很慢,但要加速。如果我停下來,我想要重新啓動相同的行爲。 – Calaf 2013-04-05 21:18:52