2016-08-12 51 views
0

我不是emacs lisp黑客,而是emacs鍵盤宏的一個非常頻繁的用戶,特別是對於處理長數據文件。大約有1至20倍,我搞砸了。我的宏編輯時,它真的不應該。我想我會需要的是像emacs:中止鍵盤宏如果點不在正則表達式

M-x check-regex-on-point 

這將中止(按門鈴)當光標不上什麼具體的,我會認爲它應該是在這個時刻(例如,大量的,阿爾法字符串,逗號等)

是否有用於此類任務的包或函數?

+0

你說的是使用Lisp宏還是鍵盤宏?這個問題對我來說還不清楚,即使不是這個問題。你試圖做什麼,到目前爲止你嘗試了什麼(例如代碼或動作序列)? – Drew

+0

也許你正在尋找這個(瘋狂猜測)? 'M- :(除非(查看-P REGEXP)(鍵盤退出))' – Drew

+0

thx,畫了。只是澄清我的意思是鍵盤宏,而不是elisp宏。用你的elisp代碼,其餘的很簡單。你想發佈答案,我檢查它,或者我應該這樣做嗎? –

回答

0
(defun check-regex-on-point (x) 
    "abort keyboard macro if not at the right spot" 
    (interactive "sregex: ") 
    (unless (looking-at-p x) (keyboard-quit)) 
) 

根據德魯在上面的評論中的觀點。