Emacs는 이전 디렉토리로 이동할 때 버퍼 재사용을 중단했습니다


3

나는 다음과 같은 오전 이 위키 제안 , 내가 새로운 버퍼를 생성하지 않고 dired 모드에서 앞으로 뒤로 이동 할 수 있도록 이맥스를 설정합니다.

a키를 (put 'dired-find-alternate-file 'disabled nil)설정 과 함께 사용하면 새 버퍼없이 디렉토리로 이동할 수 있습니다.

그러나 ^위키에 언급 된 열쇠 의 고리 는 나를 위해 작동하지 않습니다. ^여전히 이전 디렉토리로 이동하면 새 버퍼가 열립니다.

여기에 사용중인 설정이 있습니다. .emacs.d/init.el

; dired settings
(require 'dired-x)
(setq dired-omit-files "^\\.?#\\|^\\.$\\|^\\.\\.$\\|^\\.")
(add-hook 'dired-mode-hook (lambda ()
                             (dired-omit-mode 1)))
(setq dired-listing-switches "-aBhl --group-directories-first")
(put 'dired-find-alternate-file 'disabled nil)
(add-hook 'dired-mode-hook
 (lambda ()
  (define-key dired-mode-map (kbd "^")
    (lambda () (interactive) (find-alternate-file "..")))))

키보드 단축키에 대한 코드는 좋아 보입니다. 새 버퍼를 여는 경우 어떤 이유로 키보드 단축키가 인식되지 않을 수 있습니다. 그렇게 C-h k ^하면 기본 기능 dired-up-directory이 여전히 호출되고 있음을 알 수 있습니다. 오류 메시지가 있습니까? 로드하려고 할 때 오류가 발생합니다 dired-xKey sequence * O starts with non-prefix key *
lawlist

나는 이것이 사실이라고 믿는다. define-key키보드 바로 가기가 어떤 이유로 인정 받고 있지 않습니다. 내가 입력하면 M-x find-alternate-file다음 ..이 새로운 버퍼를 생성하지 않고 돌아갑니다. 또한 에 바인딩되어 C-h k ^있음을 보여줍니다 . 그래도 오류가 발생하지 않습니다. ^dired-up-directory
z33m

답변:


2

Dired + 만 사용하십시오 . C-M-RDired 버퍼 재사용 여부를 전환하는 데 사용 합니다. 기본적으로 재사용하려면 이것을 init 파일에 넣으십시오.

 (diredp-make-find-file-keys-reuse-dirs)

이 또한 돌보아 ^줍니다. 요약하면 아무것도 코딩 할 필요가 없습니다 -Dired + 만로드하십시오 .


패키지 관리자 위에 dired +를 설치했습니다. 설치된 dired + 버전에는이 기능이없는 것 같습니다. 패키지 아카이브에서 오래된 버전을 구할 수 있습니까? 내 package-archives목록 에 마멀레이드를 추가했습니다.
z33m

@ z33m-Dunno 문제가 무엇인지. 이 기능은 dired+.el파일의 변경 로그에 표시된 것처럼 2010/01/21부터 사용 되었습니다 . 파일을 방문하여 해당 기능을 찾을 수 없는지 확인하십시오. 합니까 C-h f넣은 후 그 함수 이름은 정말, 그것은 정의되지 않은 당신에게 dired+.el? 이 함수는 명령 이 아니므로를 사용하여 호출 할 수 없습니다 M-x. 하지만 당신은 내가 사용 썼다 sexp 평가할 수있다 M-:(또는 사용하는 C-x C-e말에 그것을, *scratch*또는 초기화 파일).
Drew

예, 나는 그것을 실행하려고했습니다 M-x. 이 명령을 내 init.el작업에 추가했습니다 . 감사!
z33m
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.