Se fechei acidentalmente o buffer de arranhões no Emacs, como crio um novo buffer de arranhões ?
Ligações padrão do GNU Emacs:
C-xb
*scratch*
RET
ou, mais detalhadamente
M-x
switch-to-buffer *scratch*
RET
O *scratch*
buffer é o buffer selecionado na inicialização e possui o modo principal Interação Lisp . Nota: o modo para o *scratch*
buffer é controlado pela variável initial-major-mode
.
Em geral, você pode criar quantos buffers "zero" quiser e nomeá-los como quiser.
C-xb
NAME
RET
muda para um buffer NAME
, criando-o se ele não existir. Um novo buffer não está associado a um arquivo no disco até você usar C-xC-w(ou M-x write-file
RET) para escolher um arquivo em que ele deve ser salvo.
M-x
text-mode
RET
altera o modo principal do buffer atual para modo de texto. Para encontrar todos os modos disponíveis (ou seja, sem exigir novos pacotes), você pode obter uma lista digitando:
M-x
apropos-command -mode$
RET
.emacs
definir um modo de rascunho padrão diferente , este será o modo para o novo modo de rascunho - não a Listar interação.Eu adiciono o seguinte no meu .emacs:
Se não quiser ver o buffer de rascunho , pressiono Cx Ck, mas não o mata, basta colocá-lo no final da lista de buffers, para que eu precise da próxima vez que não precisar criar um novo.
fonte
Há várias dicas nesta página do EmacsWiki .
Aqui está o primeiro:
fonte
Cx b
*scratch*
RET e RET com o modo iswitchb ativado.Apenas Cx b
*scratch*
RET caso contrário.fonte
initial-major-mode
variável (lisp-interação-mode por padrão).Eu descobri isso anos atrás, quando comecei a usar o emacs; Não tenho idéia de onde agora, mas sempre tive uma casa em meus arquivos .el pessoais. Ele aparece nas pesquisas do Google.
fonte
Eu costumava usar a solução dwj e fiquei bastante feliz com isso, até o dia em que percebi que ela falhou quando você realmente renomeou o buffer de rascunho (por exemplo, salvando-o).
Então eu adotei isso, o que funciona bem para mim:
fonte
Eu tenho
scratch
como um comando interativo para abrir um novo buffer temporário (eu gosto de ter vários):adotado em: http://everything2.com/index.pl?node_id=1038451
fonte
bufname
RET)?ido-mode
e geralmente tenho alguns buffers abertos. Criar um novo buffer usandoC-x b
seria realmente tedioso. Eu precisaria criar um nome exclusivo que não corresponda a nenhum dos buffers atualmente presentes.Isso não apenas mudará rapidamente para o
*scratch*
buffer (já que eu faço isso com freqüência), mas recriará um*scratch*
buffer e será ativadolisp-interaction-mode
automaticamente se você o matar acidentalmente. Mude a encadernação conforme desejar.fonte
Apenas para observar o pacote emacs
unkillable-scratch
no MELPA fará isso. Também háscratch-persist
que salvará e restaurará automaticamente o buffer entre as sessões.fonte
Como o docstring diz, esta função irá:
Isso trará um novo buffer de arranque, que se parece com o buffer de arranque inicial.
fonte
É isso que eu uso - vinculo isso a um pressionamento de tecla conveniente. Envia você para o
*scratch*
buffer, independentemente de ele já existir ou não, e o define comolisp-interaction-mode
fonte
Prefiro que meu buffer temporário seja um arquivo real que é salvo automaticamente e reabri-lo é tão simples quanto abrir um arquivo. Na inicialização, eu mato o padrão e encontro o meu assim.
Eu tenho uma função customizada kill-buffer que basicamente faz a mesma coisa - reabre meu arquivo pessoal de rascunho salvo e mata o rascunho padrão se eu matasse o último buffer visível.
Eu personalizei algumas das
desktop.el
funções para carregar depois(kill-buffer "*scratch*")
e(find-file "/Users/HOME/Desktop/.scratch")
para que o arquivo visível pela última vez ao sair do Emacs não fique oculto pelo rascunho padrão ou oculto pelo meu rascunho personalizado ao iniciar o Emacs.Gosto de usar
auto-save-buffers-enhanced
, que salva automaticamente qualquer extensão de arquivo que não seja especificamente excluída:https://github.com/kentaro/auto-save-buffers-enhanced/blob/master/auto-save-buffers-enhanced.el
Eu uso uma ligeira variação da função do @paprika quando quero criar um buffer de visita sem arquivo:
fonte
Combinei as soluções postadas até agora em uma função:
Para aplicar esta função no seu .emacs, use:
Isso tornará o buffer temporário indestrutível em primeiro lugar e, se salvo, ele será recriado. Além disso, podemos usar uma função de atalho
scratch
para ativar o buffer rapidamente:No passado, provou ser útil conhecer o diretório de inicialização original a partir do qual o Emacs foi iniciado. Este é o valor
desktop-dirname
ou adefault-directory
variável local do buffer de rascunho:Portanto, --startup-directory sempre retornará o diretório base do seu makefile, arquivo TODO, etc. Caso não haja área de trabalho ( --no-desktop commandline-switch ou sem desktop-file), a
--scratch-directory
variável manterá o diretório que o Emacs era uma vez começou em.fonte
encontre resposta no EmacsWiki: http://www.emacswiki.org/emacs/RecreateScratchBuffer
fonte
Para adicionar à resposta aceita, se você tiver o modo ILO ativado (e for concluído automaticamente depois C-x b, não permitindo que você escreva
*scratch*
), tente:C-x b C-b *scratch* RET
fonte
para criar um novo buffer que também esteja no modo de interação lisp.
fonte