【问题标题】:Eclipse style alt left/right navigation within emacsemacs 中的 Eclipse 样式 alt 左/右导航
【发布时间】:2015-11-05 11:41:07
【问题描述】:

我正在切换到 emacs,并且在配置我的 emacs 环境的过程中,我坚持实现我曾经在 eclipse 和 IntelliJ 中拥有的功能。使用 alt 左/右键在代码中来回移动。

我希望它能够在所有主要模式和所有缓冲区中工作(不仅适用于 java 或任何特定语言)。例如, 说我在 file1.txt 的开头(比如p1)。我搜索一些文本并转到file1.txt 中的第 10 行(p2)。然后我打开另一个文件file2.txt 并重复相同的操作,从第 1 行(p3)开始,然后转到第 10 行(p4)。在Alt + LeftAlt + right(或任何其他类似的键绑定)上,我应该能够在p1 <-> p2 <-> p3 <-> p4 位置之间循环

我知道以下内容。

  1. ctags/etags 生成标签的具体方法,跳转到函数然后返回。但我希望它适用于文本文件和许多无法生成或不值得生成 ctags 的文件,因为我很少使用它们,例如从 cmake 构建生成的 Makefile 等。
  2. 问题、答案和 cmets https://superuser.com/questions/241939/how-to-jump-back-to-the-last-position-of-the-cursor-in-emacs , In Emacs, how to go back to previous line position after using semantic Jump to Symbol? 其中提到了有关使用标记环和寄存器的答案 存储标记。但是在最初尝试这种方法后,我发现 有一次,如果我向前走,然后向后走,我会从收银机里弹出东西。 我需要它永远在那里(:D)
  3. 我读到了关于冰柱的非常糟糕的文章,有点犹豫要不要尝试 它。

我错过了任何其他方法?任何插件或任何东西?实现这一点有点复杂。我希望这是一个常见问题,并希望存在一些 elisp 代码来解决这个问题。

【问题讨论】:

  • 听起来很有用。如果这样的包不存在是的,使用pre-command-hook在相关命令之前保存点位置应该相对容易实现。

标签: emacs navigation elisp code-navigation


【解决方案1】:

也许这是有用的。也许不是 https://github.com/joodland/bm

(setq-default
bm-recenter nil
bm-highlight-style 'bm-highlight-line-and-fringe
bm-cycle-all-buffers t
bm-in-lifo-order t)
;; (global-set-key (kbd "M-.") 'bm-toggle); you need set mark before you jump 
;; (global-set-key (kbd "M-/")   'bm-next)
;; (global-set-key (kbd "M-,") 'bm-previous)

我知道邪恶模式 C-o 邪恶向后跳 C-i 邪恶向前跳跃 每当你使用 gg G / 它可以记住最后一个位置

【讨论】:

  • 不知道答案是否正确,但是应该将最后四行移出代码框,或者在每行左侧添加分号分隔符。第 2 到 5 行应该稍微缩进。
猜你喜欢
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多