gpt4 book ai didi

emacs - 如何使用 Emacs 和 GNU Global 转到局部变量的定义?

转载 作者:行者123 更新时间:2023-12-04 05:33:26 26 4
gpt4 key购买 nike

假设您有这样的 C 代码:

void f1() {
int var1;

var1 = 1; // local use of var1
}

void f2() {
int var1;

var1 = 2; // local use of var1
}

void f3() {
int var1;

var 1 = 3; // local use of var1
}

如何在指向本地使用的同时使用 Emacs 和 GNU Global (gtags.el) 定义局部变量?

我试过 gtags-find-tag (以“ var1 ”作为参数)并且它没有找到任何东西(看起来标签应该是函数),我试过 gtags-find-symbol ,它向我展示了一个包含所有三个的列表 var1 定义(以及可能的用途)。

最佳答案

您不需要 Global 的帮助,但它可以作为键盘宏来完成:

  • 记下当前单词,本例中的“var1”
  • 使用 emacs 开始的 defun lisp 函数向后搜索
  • 向前搜索“var1”,这通常是var1的定义,因为它是当前defun中var1的第一次出现。

  • 从这个 kerboard 宏开始,我编写了以下 lisp 函数:
    (defun bhj-isearch-from-bod (&optional col-indent)
    (interactive "p")
    (let ((word (current-word)))
    (beginning-of-defun)
    (setq regexp-search-ring (cons (concat "\\b" word "\\b") regexp-search-ring))
    (search-forward-regexp (concat "\\b" word "\\b"))))

    关于emacs - 如何使用 Emacs 和 GNU Global 转到局部变量的定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12289903/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com