Emacs에서 과거 커서 위치 저장, 탐색, 선택 및 이동

4748 단어 Emacs
과거에 방문한 부분에 커서를 되돌리고 싶을 때, 있군요.
point-undo.el 와 같은 편리한 package 도 있습니다만, 같은 buffer 속을 날아다니거나 여러 가지 buffer 를 이동하거나 하면(자), 돌아가고 싶은 부분을 잃을 때도 많이 있습니다.

그래서 과거에 방문한 부분의 목록을 목록으로 표시하고 거기에서 돌아가고 싶은 부분을 선택할 수 있는 패키지를 만들었습니다.
본체는 GitHub/point-history 에 둡니다(PR이나 issue 기다리고 있습니다!)

추가: 2019/04/21 업데이트

이게 뭐야?



커서가 일정 시간 머물렀던 위치를 이력으로 저장해 둡니다.
그 이력 중 하나를 선택하면 커서를 다시 그 위치(buffer, position)로 이동시킬 수 있습니다.
또한 다른 창에서 내역을 미리 볼 수 있습니다. <== NEW!


특징


  • 특정 시간 동안 커서가 머물러있는 지점 (포인트 정보)을 기록으로 저장합니다.
  • point-info는 버퍼 이름, 커서 위치, 행의 문자열 등을 보유합니다.
  • 포인트 정보의 기록을 목록으로 표시하고 그 중 하나를 선택하여 해당 위치로 이동할 수 있습니다.
  • 다른 창에서 커서 행의 기록을 미리 볼 수 있습니다. <== NEW!

  • 설정



    사전 준비



    popwin-el 을 사용하고 있으므로 popwin-el 를 미리 설치해야 합니다.

    책 설정


    git clone 다음과 같이 init.el 을 편집하면 됩니다.
    (add-to-list 'load-path "YOUR PATH")
    (require 'point-history)
    
    ;; enable minor mode
    (point-history-mode t)
    
    ;; お好みで
    (global-set-key (kbd "YOUR KEY") 'point-history-show)
    

    사용법


    M-x point-history-show를 실행하면 내역 목록의 buffer가 열립니다.
    점프할 위치를 선택하고 Enter를 입력하여 점프할 수 있습니다.


    point-history-show-buffer에서 keymap을 원하는 대로 변경할 수도 있습니다. <== NEW!
    (define-key point-history-show-mode-map (kbd "n") 'point-history-next-line)
    (define-key point-history-show-mode-map (kbd "p") 'point-history-prev-line)
    

    맞춤형



    몇 가지 사용자 정의 가능한 변수를 제공합니다.
    (point-history-should-preview 추가) <== NEW!


    variable
    usage
    default value


    point-history-max-item-num
    Max number of points saved in history
    100

    point-history-show-buffer-height
    Buffer height to show point-history
    30

    point-history-save-timer
    Interval time to save point in history
    1

    point-history-should-preview
    show the preview of buffers
    t


    기타


    point-history-ignore-buffer 또는 point-history-ignore-major-mode 를 다음과 같이 설정하여 특정 buffer 또는 major-mode 에서 point 를 히스토리에 저장하는 것을 금지할 수 있습니다. <== NEW!
    (setq point-history-ignore-buffer "^ \\*Minibuf\\|^ \\*point-history-show*")
    (setq point-history-ignore-major-mode '(emacs-lisp-mode ruby-mode))
    

    참고



    이 package 는 point-undo.el「Qiita/전회 1초 이상 멈춘 장소에 점프하는 커맨드」 를 대단히 참고로 만들어 줬습니다. 고마워요.

    좋은 웹페이지 즐겨찾기