Стиль Eclipse, левая / правая навигация в Emacs
Я переключаюсь на emacs и в процессе настройки своей среды emacs я застрял в реализации функциональности, которая была у меня в eclipse и IntelliJ. Перемещение вперед и назад в коде с помощью Alt левой / правой клавиш.
Я хочу, чтобы он мог работать во всех основных режимах и во всех буферах (не только для Java или любого конкретного языка). Например, скажите, что я в начале file1.txt (скажем, p1
). Я ищу текст и перехожу к строке 10 (p2
) в file1.txt
, Затем я открываю другой файл, file2.txt
и повторите то же самое, начните со строки 1 (p3
) и затем перейдите к строке 10 (p4
). на Alt + Left
а также Alt + right
(или любое другое подобное связывание клавиш), я должен быть в состоянии переключаться между позициями p1 <-> p2 <-> p3 <-> p4
Я в курсе следующего.
- ctags / etags - особый подход к генерации тегов, переходу к функциям и обратно. Но я хочу, чтобы это было применимо к текстовым файлам и многим файлам, для которых ctags не могут быть сгенерированы или не стоит генерировать, поскольку я использую их редко, например, Makefiles, сгенерированные из сборок cmake и т. Д.
- Вопросы, ответы и комментарии в https://superuser.com/questions/241939/how-to-jump-back-to-the-last-position-of-the-cursor-in-emacs, в Emacs, как пройти вернуться к предыдущей строке после использования семантического перехода к символу? где упоминаются ответы об использовании кольца меток и регистров для хранения метки. Но, попробовав сначала такой подход, я обнаружил, что однажды, если я иду вперед, а затем назад, я вытаскиваю вещи из реестра. Мне нужно, чтобы он был там навсегда (:D)
- Я читаю очень плохие вещи о сосульках и немного не решаюсь попробовать.
Любой другой подход, который я пропустил? Любой плагин или что-нибудь? Реализация это немного сложнее. Я надеюсь, что это общая проблема, и надеюсь, что для решения этой проблемы существует некоторый фрагмент кода elisp.
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)
и я знаю злой режим Co злой прыжок назад Ci злой прыжок вперед, когда вы используете gg G / он может вспомнить последнюю позицию