Como replicar o comportamento “~ /” - para casa e “//” - para raiz no arquivo ido-find-file, mas para um diretório personalizado?

7

Ao ligar ido-find-file, é possível digitar ~/para substituir o diretório ativo atual pelo seu diretório inicial automaticamente:

Find file: /etc/{...} # after typing ~/ becomes:
Find file: ~/{...}

Como posso replicar isso, mas para um diretório personalizado como user-emacs-directorye ao pressionar uma tecla em vez de inserir texto no minibuffer? Por exemplo:

Find file: /var/log/{...} # after pressing F6 becomes:
Find file: ~/.emacs.d/{...}
undostres
fonte

Respostas:

7

Eu estava prestes a fazer um post sobre isso (eu o farei mais tarde de qualquer maneira):

(defun oleh-ido-setup-hook ()
  (define-key ido-file-dir-completion-map "~"
    (lambda ()
      (interactive)
      (ido-set-current-directory "~/")
      (setq ido-exit 'refresh)
      (exit-minibuffer))))

(add-hook 'ido-setup-hook 'oleh-ido-setup-hook)
abo-abo
fonte
Adicionada a publicação: oremacs.com/2015/01/09/ido-find-file-tilde
abo-abo
Excelente. Post muito preciso e informativo. Obrigado!
undostres