You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 00:40:18