Qual é a maneira mais rápida de 'encontrar' um arquivo em um diretório frequentemente usado no Emacs?

4

Eu acesso muitos arquivos de um determinado diretório que não é ~ mas digo: D: \ Mijn documenten \ My Dropbox.

Qual é a maneira mais rápida de "encontrar" um arquivo nesse diretório em uma nova sessão do Emacs? Usando marcadores?

    
por Michiel Borkent 10.04.2010 / 16:38

7 respostas

0

Eu normalmente alterno para outro buffer editando um arquivo nesse diretório comum para que quando eu C-x C-f encontre um novo arquivo, o caminho já esteja mostrando o diretório que eu quero.

Isso funciona para novas sessões porque tenho desktop-save-mode habilitado para salva minha sessão quando eu sair do emacs (e a única vez que eu saio do emacs é se eu estou atualizando o emacs ou tenho que reinicializar minha máquina).

    
por 23.04.2010 / 16:05
3

ido é muito bom por esse motivo exato. Estes são os sites em que li pela primeira vez:

por 11.04.2010 / 05:04
1

Você pode abrir qualquer diretório escolhido em dired . ( C-xd e nome do diretório.) Você pode procurar o nome do arquivo no buffer dired .

Se você quer simplesmente mudar o diretório atual para / something / else ao invés de ~ , você pode fazer Mx cd e mudar para o diretório desejado. Da próxima vez que você abrir um arquivo, você estará no diretório diferente.

    
por 11.04.2010 / 06:40
1

Dê uma olhada também em Speedbar .

Speedbar is another frame which displays information about the current buffer, allowing you to better navigate your sources.

    
por 04.08.2010 / 15:40
0

Eu ligaria "indo para esse diretório" para uma única chave, e C-x C-f de lá.

(defun my-favorite-directory ()
    "Open where I often go."
    (interactive)
    (find-file "/path/to/there"))
(global-set-key [f5] 'my-favorite-directory) ; Let it be a global bookmark.

Ou, como você sugere, tenho certeza de que você poderia usar favoritos .

    
por 29.10.2012 / 16:04
0

Dois pacotes que são bons nisso além dos já mencionados:

  • Projétil
    • qualquer pasta controlada por versão é um "projeto"
    • você pode pular rapidamente para qualquer projeto e, em seguida, qualquer arquivo dentro de um projeto
    • adicione um arquivo .projectile para identificar outras pastas como "projetos"
    • integra-se com ido, leme, hera (recomendado)
  • emacs-fasd

É claro que, para arquivos muito acessados muito , como meus dotfiles, eu faço o seguinte:

(defmacro radian-register-dotfile (filename &optional keybinding)
  "Tell Radian about a dotfile.

This is best demonstrated by example. If NAME is
\".emacs.d/init.el\" then 'radian-register-dotfile' will create
the interactive function 'radian-find-init-el'. Calling that
function will invoke 'find-file' on ~/.emacs.d/init.el.

If additionally KEYBINDING is \"e i\" then
'radian-register-dotfile' will use 'global-set-key' to bind
'radian-find-init-el' to (kbd \"M-RET e i\")."
  (let* ((bare-filename (replace-regexp-in-string ".*/" "" filename))
         (defun-name (make-symbol
                      (concat
                       "radian-find-"
                       (replace-regexp-in-string "[^a-z0-9]" "-" bare-filename))))
         (full-filename (concat "~/" filename))
         (docstring (format "Open %s in the current buffer."
                            full-filename))
         (defun-form '(defun ,defun-name ()
                        ,docstring
                        (interactive)
                        (find-file ,full-filename))))
    (if keybinding
        (let* ((full-keybinding (concat "M-RET " keybinding))
               (set-key-form '(global-set-key (kbd ,full-keybinding)
                                              #',defun-name)))
          '(progn
             ,defun-form
             ,set-key-form))
      defun-form)))

;; Emacs
(radian-register-dotfile ".emacs.d/init.el" "e i")
(radian-register-dotfile ".emacs.d/init.before.local.el" "e b")
(radian-register-dotfile ".emacs.d/init.local.el" "e l")

;; Git
(radian-register-dotfile ".gitconfig" "g c")
(radian-register-dotfile ".gitexclude" "g e")
(radian-register-dotfile ".gitconfig.local" "g l")

;; Et cetera

Meu init.el é aqui .

Ouvi dizer que o Emacs também tem registros de arquivos , que são usado para o mesmo propósito que minha macro personalizada acima.

    
por 04.12.2016 / 21:37
0
  1. Se você quiser que um diretório preferido seja o padrão ( default-directory ) quando você inicia uma sessão do Emacs, então inicia o Emacs nesse diretório . Por exemplo, no MS Windows você colocaria esse diretório no campo Start in de um atalho usado para iniciar o Emacs.

    Não é necessário usar desktop-save-mode , se você quiser que o diretório seja sempre o atual na inicialização do Emacs.

    E você pode mostrar Dired para esse diretório quando iniciar o Emacs: apenas passe o diretório como o arquivo a ser editado na linha de comando.

  2. Se você quiser uma maneira rápida e persistente de acessar um diretório específico, tornando-o padrão e mostrando Dired, basta criar um marcador Dired. Ou seja, crie um indicador quando você estiver em um buffer Dired. Você vai querer biblioteca Bookmark + para bookmarking buffers Dired.

por 06.12.2016 / 16:24

Tags