Estou tentando me fazer usar o modo Ido. Algumas vezes é legal, mas outras vezes é extremamente estúpido. Aqui está a minha maior decepção.
Eu li alguns registros com nomes completos de arquivos, copiei um nome e tente abrir esse arquivo.
A maneira de fazer isso sem o Ido: C-aC-yC-kRET
Com o Ido, existem dois grandes problemas:
Se eu tiver o nome completo do arquivo, não há como inseri-lo (preciso remover a primeira barra, caso contrário, pressionar //não ajudará.
Não consigo editar partes intermediárias do nome do arquivo, deixando o restante sem modificações.
Ou posso?
find-file
comC-x C-f
e colar normalmente. Mas então, isso é mais pressionamentos de tecla. Ou você pode usar o Helm se desejar um recurso ricofind-file
e ainda assim satisfazer o seu caso de uso.C-x C-f
fallback útil tantas vezes!Respostas:
Enquanto um
ido
comando estiver ativo (ido-find-file
neste caso), você poderá retornar à versão não-ido do mesmo comando (find-file
nesse caso) usando a ligação ido-defaultC-x C-f
paraido-fallback-command
.Para responder sua pergunta,
C-x C-f
será chamadoido-find-file
.C-x C-f
voltará afind-file
.C-a C-y C-k
RETo que costuma fazer para puxar um caminho de arquivo copiado para o minibuffer.Nota: Em
ido
,C-x C-f C-x C-f
fará o mesmo queC-x C-f C-f
, ou seja, voltará afind-file
.Sobre
C-f
emido
Inido-mode
,C-f
está vinculado aido-magic-forward-char
. Deido.el
,fonte
C-f
voltarfind-file
, nãoC-x C-f
. Não vejo que eu o personalizei (e eu, como outros aqui, confia muito no fallback.ido
É quase o mesmo problema que vale a pena, depois de usá-lo por um tempo agora).C-x C-f C-f
também funciona.Como você está lidando com nomes de caminhos completos, outros métodos podem funcionar:
M-x ffap
(find-file-at-point
): lê automaticamente o nome do caminho e abre o arquivoM-x compilation-shell-minor-mode
que mudará a fonte dos caminhos e os tornará "clicáveis" (com a boca ouRET
). Clicar nele leva você ao arquivo e à linha específica, e você pode usarnext-error
eprevious-error
navegar. Costumo usá-lo, como no modo shell .fonte
Como sempre há mais de uma maneira de fazer isso, aqui está uma variação da idéia do @ abo-abo que mantém a conclusão do ido ativa, em vez de voltar ao comando normal de busca.
Com esta ligação:
Se o kill atual for um caminho de diretório válido, você poderá iniciar
ido-find-file
, pressionarC-y
para pular para o diretório arrancado e continuar a usar a conclusão do ido para escolher um arquivo.Se a interrupção atual for um caminho de arquivo válido, você pode iniciar
ido-find-file
, pressionarC-y
para pular para o diretório puxado e oferecer o nome do arquivo puxado como conclusão e pressionar RET para abrir esse arquivo.Se a morte atual for qualquer outra coisa, ela é arrancada normalmente.
fonte
let
ligar as váriasido-...
variáveis ao invéssetq
delas? No momento, parece que você está definindo valores permanentemente, em vez de fazê-lo pela vida útil da função.ido-next-work-directory
. Acho que as variáveis são definidas para que sobrevivam na chamada de saída do minibuffer e na atualização subsequente. Mas eu ainda não entendo completamente as ido-internas!Talvez assim:
Se o kill atual é um arquivo que existe, C-y C-y provavelmente deve dar o que você deseja.
fonte