Freqüentemente, eu procurei em documentos e documentos procurando algo como o seguinte para desistir de voltar à tarefa em questão:
(repetir o último comando)
execute o último comando C ou M que acabei de executar (para recuperar a tecla fn)
ou às vezes os relacionados:
(descrever a última função)
que tecla foi digitada por engano, cujo efeito gostaria de adicionar à minha lista de truques. A chave de descrição está próxima, mas requer saber o que eu digitei.
Estou simplesmente pedindo demais ao meu fiel companheiro?
(repeat)
e Cx Mz(repeat-complex-command)
. Veja também(repeat-matching-complex-command)
.Respostas:
com relação a ' descrição da última função ':
Há uma variável
last-command
definida como um símbolo representativo da última coisa que você fez. Portanto, esse trecho elisp(describe-function last-command)
deve trazer a documentação para o que aconteceu imediatamente.Então você poderia fazer um trabalho trivial
describe-last-function
como esseColoque esse elisp em
.emacs
ou equivalente, e você terá uma função de descrição da última Mx .Se você digitou algumas teclas ou fez algo que modificou o último comando desde a coisa em que está interessado, a
command-history
função pode ser interessante. Você pode obter isso pelo histórico de comandos do Mxfonte
A funcionalidade de repetição é fornecida pelo
repeat.el
pacote Emacs Lisp, incluído nas distribuições padrão do Emacs. Darepeat.el
documentação:Para ver informações adicionais sobre o comando repeat, digite C-h F repeat RETno Emacs.
fonte
Repita o último comando
C-xz
Depois de pressioná-lo, basta pressionar apenas z depois e ele será repetido (sem ter que pressionar C-xnovamente).
fonte
Sim, existe um comando de repetição . É chamado
repeat
:Um pouco chocante que ninguém mencionou
repeat-complex-command
, disponível na ligação de teclas C-x ESC ESC.fonte
C-x M-:
(mnemônico: like,M-:
mas com a expressão elisp já preenchida para você).repeat.el
(que subsumemC-x z z z...
) são as segundas mais próximas. Na segunda pergunta feita, sobre quais teclas foram pressionadas por último, a melhor resposta éC-h l
(view-lossage
). Há pouco uso, IMHO, de umdescribe-last-command
comando.C-x M-:
como parte de uma macro do teclado, o que pode ser útil. Asrepeat-complex-command
ligações padrão são um pouco complicadas para digitar repetidamente.Além disso,
M-x view-lossage
mostra as últimas centenas de teclas digitadas (?) Que você digitou. Então, você poderá ver onde está o comando. É o que eu usei até agora descobrir sobre oM-x command-history
que acho que vou usarC-h w
agora.fonte
Não tenho muita certeza, mas talvez você esteja procurando por este?
Emacs Manual, 8.11 Repetindo um comando
fonte
z
por conta própria continuarão a repetição.Pode ser que isso ajude também ... Do emacs Help, literalmente:
fonte
Pessoalmente, achei a idéia de Sebastian útil. Aqui está uma versão de trabalho
fonte
isearch
eisearch-backward
são importantes comandos de navegação, e que este último está vinculado a <kbd> Cr </kbd> por padrão, provavelmente seria possível encontrar uma ligação melhor para o comando repeat. Em um Mac, sugiro Command (super) -Y, pois alguns aplicativos já têm a convenção de usá-lo como o oposto de 'desfazer'.Isso é antigo, mas o Google aparece primeiro quando eu estava tentando recuperar o último comando digitado no prompt do Emacs. Nenhuma dessas respostas funcionou para mim, então eu decidi colocar meus dois centavos para aqueles que pudessem tropeçar mais tarde como eu. Estou usando o Portacle, mas achei o que estava procurando aqui, então espero que seja genérico o suficiente para trabalhar com configurações diferentes. Enfim, o que funcionou para mim é usar C-↑e C-↓percorrer a história. Usando M-pe M-nfuncionando também, mas prefiro usar as setas, pois uso o Bash um pouco.
fonte