Ao trabalhar com um arquivo Emacs, você pode fazer alterações e reverter ao estado anterior. Tal situação é o que significa recarregar um arquivo. Ele permite que você descarte todas as alterações feitas em seu buffer e tenha o estado inicial do buffer. O arquivo recarregado abrirá a versão que está armazenada em seu descarte.
Recarregar um arquivo é uma maneira simples de desfazer todas as alterações feitas em seu arquivo, e o Emacs oferece diferentes maneiras de recarregar o arquivo atual. Esta postagem cobre dois métodos sobre como recarregar o arquivo atual. Primeiro, falaremos sobre um método de reversão. A seguir, criaremos um atalho para implementar o comando “recarregar”. Vamos começar!
Dois métodos para recarregar o arquivo atual no Emacs
O Emacs trata o recarregamento do arquivo atual como uma solicitação para descartar todas as alterações não salvas. Isso recupera a versão do arquivo que está armazenada no disco e todas as alterações serão descartadas.
Abrir um arquivo no Emacs implica carregá-lo em um buffer do Emacs. Ao alterar o arquivo, as alterações não afetarão a versão armazenada no disco até que você salve o arquivo.
No entanto, se mudar de ideia, você sempre pode recarregar o arquivo atual para descartar as alterações e usar a versão que está armazenada no disco. O Emacs irá perguntar ao recarregar o arquivo se deseja salvar ou descartar as alterações.
Método 1: usando o comando recarregar
O Emacs possui o comando “revert-buffer” que você executa sempre que deseja recarregar um arquivo. Para este exemplo, trabalharemos com o seguinte arquivo. Carregamos no Emacs e adicionamos uma linha:
Suponha que queiramos descartar as alterações e remover a linha adicionada. Recarregar o arquivo resolverá o problema. Pressione “Mx'” (Alt + x) em seu Emacs e digite “revert-buffer” no prompt de comando.
Depois de pressionar a tecla RET/Enter do teclado, o comando será executado e você será solicitado a confirmar que deseja reverter o buffer que descarta todas as alterações não salvas. Para recarregar o arquivo, digite “sim” e pressione a tecla RET.
Imediatamente após fazer isso, o arquivo será recarregado e todas as alterações não salvas que tivemos serão descartadas. Agora temos o arquivo que foi armazenado no disco e ele não contém a última linha que adicionamos anteriormente. É assim que você descarta rapidamente as alterações no seu arquivo Emacs.
Método 2: vinculando o comando Reload
Em vez de digitar o comando “revert-buffer” sempre que quiser recarregar o arquivo atual, você pode vincular o comando a uma chave. Dessa forma, pressionar a tecla vinculada executa a mesma tarefa que o comando “revert-buffer”.
O primeiro passo é abrir o arquivo de configuração do Emacs. O arquivo de configuração pode ser “.emacs” ou “.emacs.d/init.el”.
Depois de abri-lo, devemos vincular a chave ao comando “recarregar”. Use o atributo “global-set-key” e especifique qual chave vincular e a qual comando. Estamos usando a tecla “f8” para este caso e nossa instrução bind é a seguinte:
Salve o arquivo de configuração pressionando “cx cs”. Para aplicar nossas alterações, reinicie seu Emacs ou reabra-o.
Agora, voltamos ao nosso arquivo inicial que carregamos em um buffer do Emacs. Em vez de digitar o comando “revert-buffer” como no primeiro método, apenas pressionamos a tecla “f8” aqui. Fazer isso exibe um prompt para confirmar que queremos recarregar o arquivo e descartar todas as alterações.
Depois de confirmar que deseja recarregar o arquivo, todas as alterações serão descartadas e você terá a versão do arquivo que estava armazenada no disco. É assim que você recarrega o arquivo atual no Emacs.
Conclusão
Recarregar um arquivo no Emacs implica reverter para a versão do arquivo que está armazenada no disco. É uma forma de descartar todas as alterações não salvas no arquivo carregado no Emacs. Você pode recarregar um arquivo de dois métodos. O primeiro método é usar o comando “revert-buffer” e confirmar o prompt. O segundo método é vincular o comando “revert-buffer” a uma tecla e pressionar a tecla sempre que desejar recarregar o arquivo atual. Ambas as opções são discutidas neste post.