Emacs中evil-visual-current-function无法高亮完整函数的修改需求
修复
evil-visual-current-function完整选中函数的问题 你的函数问题出在evil-visual-make-selection的参数传递上——当前写法没有正确获取函数结尾的位置,导致只选中了从函数开头到原光标位置的区域。以下是修复后的代码:
(defun evil-visual-current-function () "Highlight the entire current function in Evil's visual mode." (interactive) (let ((function-name (which-function))) (if function-name (let (start end) (save-excursion (beginning-of-defun) (setq start (point)) (end-of-defun) (setq end (point))) (evil-visual-make-selection start end)) (message "Not inside a function"))))
关键修改点:
- 新增
start和end变量分别存储函数开头和结尾的位置 - 在
save-excursion块内先定位到函数开头并记录位置,再定位到函数结尾记录位置 - 将正确的起止位置传递给
evil-visual-make-selection,确保选中整个函数范围
内容的提问来源于stack exchange,提问作者JongHyeon Yeo
相关产品推荐
相关产品推荐

