Posso fazer meu cursor em um buffer retornar à sua última posição? (de preferência sem ter que marcar a posição anterior)
Por exemplo, o Ca pula para o início da linha atual, posso voltar para onde estava antes?
Por exemplo, quando Cx Cf para abrir um arquivo em um diretório diferente, desejo voltar à posição anterior no nome do caminho.
Obrigado.
C-x x
corridasexchange-point-and-mark
? O Emacs não armazena todos os movimentos do cursor, apenas aqueles que você especificou. Adicionar e estourar marcas é uma maneira de armazenar o histórico de movimentos do cursor. emacswiki.org/emacs/MarkCommands - aqui está uma boa discussão sobre o assunto.C-x x
é indefinido.M-x exchange-point-and-mark
: nenhuma marca definida neste buffer.C-x C-x
. Também é necessário definir uma marca primeiro para que isso funcione. Para definir uma marca explicitamente, você fazC-SPC
. Para voltar à marca anterior, você fazC-u C-SPC
.C-x C-x
.C-x x
é minha própria ligação.Respostas:
Aqui estão algumas ligações relacionadas a marcas que podem ajudá-lo:
C-SPC
- definir marca e ativar região (vinculado aset-mark-command
)C-SPC C-SPC
- definir marca (ativa e desativa a região)C-x C-x
- vinculado aexchange-point-and-mark
C-u C-SPC
- mover para a marca anteriorConfira a documentação da Mark para entender melhor este tópico.
fonte
C-u C-SPC
.counsel-mark-ring
ele também é possível listar todas as marcas e navegá-los com cursores, recebendo uma visualização em tempo real no buffer.Se você estiver editando nos locais em que pousar,
goto-last-change
fará isso por você. http://www.emacswiki.org/emacs/GotoLastChangefonte
g ;
Você pode usar `Registros '.
Do arquivo de informações do emacs
13.1 Salvando posições em registros
C-x r <SPC> R' Record the position of point and the current buffer in register R (
ponto a registrar ').C-x r j R' Jump to the position and buffer saved in register R (
pular para registrar ').Digitando
C-x r <SPC>' (
ponto a registrar '), seguido pelo caractere `R', salva a posição do ponto e o buffer atual no registro R. O registro retém essas informações até você armazenar outra coisa nele.O comando `Cx rj R 'muda para o buffer gravado no registrador R e move o ponto para a posição gravada. O conteúdo do registro não é alterado, portanto você pode pular para a posição salva várias vezes.
Se você usar
C-x r j' to go to a saved position, but the buffer it was saved from has been killed,
Cx rj ', tentará criar o buffer novamente visitando o mesmo arquivo. Obviamente, isso funciona apenas para buffers que estavam visitando arquivos.fonte