Sobre o projeto

hitori.vim é um plugin de Vim/Neovim projetado para garantir que apenas uma instância do editor esteja em execução, funcionando de forma semelhante ao neovim-remote e ao vim-singleton. Construído sobre denops.vim, ele aproveita o Deno para compatibilidade multiplataforma, incluindo suporte ao Windows. A funcionalidade principal envolve a execução de um servidor WebSocket (porta padrão 7070) dentro da instância ativa de Vim/Neovim. Quando um novo comando de abertura de arquivo é emitido, o plugin verifica se um servidor já está em execução. Se estiver, ele envia o caminho do arquivo para a instância existente em vez de lançar um novo processo de editor. Isso evita que várias janelas de editor poluam o espaço de trabalho. Recursos principais incluem: - **Suporte multiplataforma**: Funciona em sistemas semelhantes a Unix e no Windows via denops.vim. - **Integração com WSL**: Lida automaticamente com a conversão de caminhos entre ambientes Windows e WSL quando habilitado. - **Ferramenta de linha de comando**: Fornece um comando `hitori` (instalável via Deno) que pode ser usado como um wrapper para `nvim`, `nvim-qt` ou `neovide`. Esse comando verifica se há um servidor WebSocket ativo e envia o caminho do arquivo para ele ou inicia uma nova instância do editor se nenhum for encontrado. - **Personalização**: Configurável via variáveis de Vim para ajustar o método de abertura (por exemplo, drop de aba, vsplit), número da porta, modo de depuração e padrões de ignorância para arquivos temporários ou relacionados ao git. - **Comandos de habilitação/desabilitação**: Os usuários podem alternar o comportamento de singleton dinamicamente usando `:Enablehitori` e `:Disablehitori`. A instalação é simples usando gerenciadores de plugins comuns, como lazy.nvim ou dvpm, exigindo Deno e denops.vim como dependências.