MacVim/Vim retém o conteúdo de todos os buffers (como Sublime Text). Preservar troca?

MacVim/Vim retém o conteúdo de todos os buffers (como Sublime Text). Preservar troca?

DR:O Vim pode armazenar seus arquivos de troca e carregar sempre o mesmo conjunto de arquivos de troca e buffers durante o carregamento?

Estou em um Mac (OS: Maverick), onde vários aplicativos mantêm os dados em algum tipo de local/fora do caminhoarmazenarque é restaurado entre reinicializações de máquinas/travamentos de aplicativos.

Por 'armazenar', pegarTexto sublimepor exemplo, assim que eu abro uma nova guia, ele salva o conteúdo da guia, mesmo que eu não tenha salvo explicitamente a guia como um arquivo para armazenamento permanente em qualquer lugar. Portanto, se eu fechasse o ST e o reabrisse (ou ele/máquina travasse), ele restauraria todas as guias e conteúdo que eu tinha antes do fechamento.

Esse tipo de infalívelretenção de conteúdo(TM) pode ser visto em vários aplicativos Mac (por exemplo, iMovie, QuickTime Player, TextEdit, etc.) e está alinhado com a filosofia de design do Mac de sempre deixar o usuário continuar de onde parou - sem ter que salvar nada explicitamente.

Dado o fato de que:
1. O Vim mantém arquivos de troca e atualiza a cada 200 golpes/4 segundos de inatividade para recover
2. O Vim possui opções de inicialização que permitem que arquivos/swap sejam abertos

há base suficiente aqui para eu me perguntar se o Vim/MacVim não tem issoretenção de conteúdo(TM) já está entre suas centenas de opções de configuração?

obs:Atualmente, uso sessões vim, exclusivamente para 'agrupamento de arquivos semelhantes a projetos', mas ele não retém conteúdo para buffers não salvos

ppstenho brincado com a :preserveopção e cpoptions+=&em .vimrc. Não parece ter impacto, os arquivos de troca ainda são excluídos quando o MacVim é fechado e nada é aberto quando o MacVim é iniciado novamente

Responder1

A funcionalidade de sessões que você mencionou é o que você deseja, mas você precisa passar uma opção para salvar buffers, bem como abrir arquivos e posições. Você pode usar :mksessionpara isso.

Contudo, :mksessionainda é controlado manualmente; embora você possa vinculá-lo a teclas de atalho para funcionalidade de salvamento/restauração rápida, se você esquecer de executar o comando, perderá sua sessão.

Por esta razão, recomendo oSessão.vimplug-in vim. Isso (junto com algumas opções extras em seu .vimrc) terá salvamento e restauração automática da sessão. A lista completa de opções está na página. Especificamente, você deseja dizer para passar a buffersopção para sessionoptions, conformeesta página.

informação relacionada