Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Terminal flutuante com transparência no Neovim (snacks.nvim)
- Pré-requisitos: Neovim ≥ 0.12, lazy.nvim e snacks.nvim instalados.
- ## 1. Config do plugin (`lua/plugins/snacks.lua`)
- Bloco `terminal` com janela flutuante e `winblend` (transparência):
- ```lua
- terminal = {
- enabled = true,
- auto_insert = true,
- win = {
- position = 'float',
- border = 'rounded',
- wo = { winbar = '', winblend = 20 },
- },
- },
- ```
- - `position = 'float'` → abre como janela flutuante centralizada (sem isso, o snacks abre como split abaixo quando não há comando).
- - `winblend = 20` → transparência (0 = opaco, 100 = invisível). Ajuste conforme o gosto (ex.: 40 para um efeito "vidro" mais forte).
- - `border = 'rounded'` → borda arredondada, combinando com os pickers.
- ## 2. Atalhos (`lua/core/keymaps.lua`)
- `<C-t>` abre **e** oculta (toggle), tanto no modo normal quanto vindo de dentro do próprio terminal:
- ```lua
- map('n', '<C-t>', function() require('snacks').terminal.toggle() end, { desc = 'Toggle terminal' })
- map('t', '<C-t>', function() require('snacks').terminal.toggle() end, { desc = 'Toggle terminal' })
- ```
- ## 3. Fechando o terminal: o atalho `Ctrl-D` que quase ninguém conhece
- No modo terminal do Neovim, `<C-d>` envia **EOF** para o shell (equivalente a "sinalizar fim de entrada" / logout), encerrando o processo — e o snacks, com `auto_close`, esconde a janela automaticamente.
- Muitos usuários Linux só conhecem `<C-c>`, mas os dois são diferentes:
- | Atalho | Sinal | Efeito |
- | ------- | -------- | ---------------------------------------------------- |
- | `<C-c>` | `SIGINT` | Cancela o **comando em execução**; o shell continua. |
- | `<C-d>` | `EOF` | Fim de entrada; o **shell encerra** e a janela some. |
- Ou seja: `<C-c>` interrompe o que está rodando na frente, mas deixa o terminal aberto; `<C-d>` "desconecta" de fato e fecha a sessão do shell. É o mesmo comportamento do terminal fora do Neovim (experimente `<C-d>` no seu bash normal — ele te desloga).
- ## 4. Validando
- ```bash
- luacheck lua/plugins/snacks.lua lua/core/keymaps.lua
- nvim --headless "+Lazy! load all" +qa
- ```
- Abra o Neovim e pressione `<C-t>`: o terminal flutuante e translúcido aparece. Pressione `<C-t>` de novo (dentro dele) para ocultar, ou `<C-d>` para fechar.
Advertisement
Add Comment
Please, Sign In to add comment