emacs lisp 中是否有区域更改挂钩?
Is there a region change hook in emacs lisp?
我正在尝试获取缓冲区中当前选定区域的内容。我知道空闲计时器,但挂钩应该更多 efficient/cleaner...
一条路似乎在建议handle-shift-selection
。 AFAICT 每次通过键盘更改区域时都会调用此函数。响应。建议mouse-drag-region
.
不确定 "region change" 是什么意思。如果您的意思是 "the text in the region is modified",那么您需要使用 after-change-functions
。如果您的意思是通过更改其边界来修改所选文本,那么您可能需要 post-command-hook
或者一个空闲计时器(这并不比钩子效率低,主要区别在于您获得的保证较少当它得到 运行 时;例如,如果两个命令之间没有空闲时间,则两个命令之间不会 运行,就像 运行 键盘宏时的情况一样)。
我正在尝试获取缓冲区中当前选定区域的内容。我知道空闲计时器,但挂钩应该更多 efficient/cleaner...
一条路似乎在建议handle-shift-selection
。 AFAICT 每次通过键盘更改区域时都会调用此函数。响应。建议mouse-drag-region
.
不确定 "region change" 是什么意思。如果您的意思是 "the text in the region is modified",那么您需要使用 after-change-functions
。如果您的意思是通过更改其边界来修改所选文本,那么您可能需要 post-command-hook
或者一个空闲计时器(这并不比钩子效率低,主要区别在于您获得的保证较少当它得到 运行 时;例如,如果两个命令之间没有空闲时间,则两个命令之间不会 运行,就像 运行 键盘宏时的情况一样)。