Meu ambiente pessoal de desenvolvimento – Neovim, Fish shell, Git, Tmux e PowerShell.
nvim/– configuração completa do Neovim (LazyVim + plugins)tmux/– configuração do tmuxgit/– aliases e opções de Gitfish/– configuração do Fish shell (Linux/macOS)powershell/– configuração do PowerShell (Windows)
Os caminhos exatos podem variar conforme seu repositório, ajuste conforme a sua estrutura.
Minha config do Neovim é baseada em LazyVim, focada em desenvolvimento web (TypeScript, JavaScript, React, Node.js) e produtividade no terminal.
- Neovim ≥ 0.9.0 (compilado com LuaJIT)
- Git ≥ 2.19.0 (para suporte a partial clones)
- LazyVim
- Nerd Font (v3.0 ou maior) – para ícones
- lazygit (opcional)
- Compilador C (para
nvim-treesitter) - Para telescope.nvim (opcional):
ripgrep– para live grepfd– para find files
- Terminal com true color e undercurl:
- Tema: Solarized Osaka
Leader Key:
<Space>(barra de espaço)
<Space> = Leader (tecla modificadora principal)
<Space>w Salvar arquivo (:update)
<Space>q Fechar janela (:quit)
<Space>Q Fechar tudo (:qa)
<Space>e Toggle NvimTree
<Space>f Find file no NvimTree
<Space>t Toggle NvimTree (alias)
Dentro do NvimTree:
t Abrir em nova tab
Enter Abrir arquivo
h Voltar diretório
N Criar novo arquivo/pasta
d Deletar
r Renomear
;f Find files (arquivos no projeto)
;r Live grep (buscar texto em arquivos)
sf File browser (navegador de arquivos)
<Space>fP Find plugin files
<Space>fp Find files (LazyVim padrão)
<Space>ff Find files
<Space>fF Find files (root dir)
<Space>fr Recent files
<Space>fR Recent files (cwd)
<Space>fb Buffers
<Space>fg Git files
;; Resume última busca
\\ Lista buffers abertos
;e Diagnostics (erros LSP)
;s Treesitter symbols
;t Help tags
;c LSP incoming calls
<Space>sw Grep word under cursor
<Space>sW Grep word (root dir)
<Space>sg Grep (root)
<Space>sG Grep (cwd)
<Space>ss Search symbols
<Space>sS Search symbols (workspace)
<Space>gc Git commits
<Space>gs Git status
<Space>gS Git stash
<Space>s" Registers
<Space>sa Auto commands
<Space>sb Buffer
<Space>sc Command history
<Space>sC Commands
<Space>sd Document diagnostics
<Space>sD Workspace diagnostics
<Space>sh Help pages
<Space>sH Search highlight groups
<Space>sj Jumplist
<Space>sk Keymaps
<Space>sl Location list
<Space>sM Man pages
<Space>sm Marks
<Space>so Options
<Space>sR Resume
<Space>sq Quickfix
gd Goto Definition (Telescope)
gD Goto Declaration
gr Goto References
gi Goto Implementation
gy Goto Type Definition
K Hover documentation
gK Signature help
<C-j> Next diagnostic
[d Previous diagnostic
]d Next diagnostic
<Space>ca Code actions
<Space>cA Code actions (source)
<Space>rn Rename symbol
<Space>cf Format document
<Space>cF Format injected langs
<Space>r Menu de refactoring
<Space>re Extract Function
<Space>rf Extract Function To File
<Space>rv Extract Variable
<Space>ri Inline Variable
<Space>rb Extract Block
<Space>cl LSP Info
<Space>cm Mason (gerenciar LSP)
<Space>cR Restart LSP
<Space>i Toggle inlay hints
:ToggleAutoformat Toggle autoformat on save
<C-l> Aceitar sugestão completa
<M-l> Aceitar palavra (Alt+L)
<M-S-l> Aceitar linha (Alt+Shift+L)
<M-]> Próxima sugestão (Alt+])
<M-[> Sugestão anterior (Alt+[)
<C-]> Descartar sugestão
:Copilot auth Autenticar Copilot
:Copilot status Ver status
:Copilot enable Habilitar
:Copilot disable Desabilitar
;tt Run file tests
;tr Run nearest test
;tT Run ALL tests
;tl Run last test
;ts Toggle test summary
;to Show test output
;tO Toggle output panel
;tS Stop tests
<Space>t Test menu (LazyVim)
<Space>tt Run nearest test
<Space>tT Run all tests
<Space>tw Toggle test watch
<Space>ta Test attach
;c Abrir LazyGit
<Space>gb Git blame
<Space>go Abrir no GitHub/GitLab
<Space>gg LazyGit (root)
<Space>gG LazyGit (cwd)
<Space>gl Git log
<Space>gL Git log (cwd)
<Space>gf LazyGit file history
<Space>gF LazyGit file history (cwd)
h, j, k, l Movimentos básicos (aviso se usar >10x)
+ Incrementar número
- Decrementar número
<C-a> Select all
dw Delete word backwards
x Delete char (sem afetar register)
<C-a> Incrementa (números, datas, true/false, let/const)
<C-x> Decrementa
gcc Comment line
gc (visual) Comment selection
gcO Comment insert above
gco Comment insert below
< Decrease indent
> Increase indent
= Auto indent
<Space>p Paste do register 0
<Space>P Paste do register 0 (antes)
<Space>d Delete sem copiar
<Space>D Delete line sem copiar
<Space>c Change sem copiar
<Space>C Change line sem copiar
<Space>o Nova linha abaixo (sem comment)
<Space>O Nova linha acima (sem comment)
ss Split horizontal
sv Split vertical
sh Move to left window
sk Move to top window
sj Move to bottom window
sl Move to right window
<C-w><left> Decrease width
<C-w><right> Increase width
<C-w><up> Increase height
<C-w><down> Decrease height
te New tab (:tabedit)
<Tab> Next tab
<Shift-Tab> Previous tab
tw Close tab
<Space>bb Switch to other buffer
<Space>bd Delete buffer
<Space>bD Delete buffer and window
<Space>th Close hidden buffers
<Space>tu Close nameless buffers
]b / [b Next/Previous buffer
]c / [c Next/Previous comment
]d / [d Next/Previous diagnostic
]f / [f Next/Previous file
]n / [n Next/Previous treesitter node
]q / [q Next/Previous quickfix
]t / [t Next/Previous todo comment
]w / [w Next/Previous window
]x / [x Next/Previous quickfix list
<Space>z Toggle Zen Mode (foco total)
<Space>un Dismiss notifications
<Space>sn Noice history
<Space>snt Noice telescope
<Space> Espere 500ms → mostra menu de atalhos
<Space>? Show keymaps
:Telescope keymaps Lista TODOS os keybinds
<Space>r Convert HEX to HSL (linha atual)
Exemplo:
color: #ff0000; → <Space>r → color: hsl(0, 100%, 50%);<Space>l Lazy menu
<Space>ll Lazy
<Space>lx Lazy clean
<Space>ls Lazy sync
<Space>lu Lazy update
<Space>lp Lazy profile
<Space>lr Lazy restore
<Space>lc Lazy check
<Space>db Toggle Database UI
:TSPlaygroundToggle Toggle syntax tree viewer
:InspectTree Inspect syntax tree
:TSUpdate Update parsers
<C-space> Incremental selection (expand)
<BS> Decremental selection
<Space>qs Restore session
<Space>qS Restore session (current dir)
<Space>ql Restore last session
<Space>qd Don't save session
<Space>dB Breakpoint condition
<Space>db Toggle breakpoint
<Space>dc Continue
<Space>da Continue (attach)
<Space>dC Run to cursor
<Space>dg Go to line
<Space>di Step into
<Space>dj Down
<Space>dk Up
<Space>dl Run last
<Space>do Step out
<Space>dO Step over
<Space>dp Pause
<Space>dr Toggle REPL
<Space>ds Session
<Space>dt Terminate
<Space>dw Widgets
<Space>de Eval
<Space>du Toggle DAP UI
y Yank (com histórico)
p Paste (com histórico)
<Space>p Paste histórico (Telescope)
<C-/> Toggle terminal
<C-_> Toggle terminal (alternativo)
<Esc><Esc> Exit terminal mode
<C-m> Jump forward (Ctrl+i alternativo)
<C-o> Jump backward
qq Record macro q
@q Play macro q
Q Play last macro
J Move linha down
K Move linha up
< Indent left
> Indent right
<Space>p Paste do register 0
<Space>d Delete sem copiar
<Space>c Change sem copiar
gc Comment selection
<Space>r Refactoring menu
<Space>uf Toggle format on save
<Space>uF Toggle autoformat (global)
<Space>us Toggle spelling
<Space>uw Toggle wrap
<Space>uL Toggle relative line numbers
<Space>ul Toggle line numbers
<Space>ud Toggle diagnostics
<Space>uc Toggle conceal
<Space>uh Toggle inlay hints
<Space>uT Toggle treesitter highlight
<Space>ub Toggle background (dark/light)
<Space>uu Toggle UI components
<Space><tab><tab> New tab
<Space><tab>d Close tab
<Space><tab>l Last tab
<Space><tab>f First tab
<Space><tab>] Next tab
<Space><tab>[ Previous tab
]t Next todo comment
[t Previous todo comment
<Space>st Todo (Telescope)
<Space>sT Todo/Fix/Fixme (Telescope)
<Space>xt Todo (Trouble)
<Space>xT Todo/Fix/Fixme (Trouble)
<Space>xx Toggle Trouble
<Space>xX Toggle Trouble (buffer)
<Space>cs Trouble symbols
<Space>cS Trouble LSP
<Space>xL Location list (Trouble)
<Space>xQ Quickfix (Trouble)
Supondo que você usa uma config inspirada no vídeo do ThePrimeagen / craftzdog.
Prefix(normalmenteCtrl+bouCtrl+ase remapeado)Prefix + c– Nova janelaPrefix + ,– Renomear janelaPrefix + n/Prefix + p– Próxima / anterior janelaPrefix + %– Split verticalPrefix + "– Split horizontalPrefix + h/j/k/l– Mover entre panes (se mapeado)Prefix + x– Fechar pane
- Use tmux para dividir tarefas (logs, testes, editor) e Neovim para dividir arquivo/código.
- Exemplo: uma janela com
nvim, outra comnpm run dev, outra comlazygit.
- Fish shell
- Fisher – Gerenciador de plugins
- Tide – Tema de prompt
- Nerd Fonts – Fontes patchadas
- Pessoais: PlemolJP e BlexMono
- z para fish – Pulo de diretório
- eza – Substituto moderno do
ls - ghq – Organizador de repositórios Git locais
- fzf.fish – Fuzzy finder
z proj– Ir rapidamente para diretório que contémprojno caminhoeza -lah– Listagem bonita com ícones e detalhesghq list– Listar repositórios gerenciados peloghqghq get user/repo– Clonar repositório para o path doghqCtrl+r(com fzf) – Histórico com fuzzy search
- Scoop – Instalador via linha de comando
- Git for Windows
- Oh My Posh – Engine de tema de prompt
- Terminal Icons – Ícones em diretórios
- PSReadLine – Autocompletar e edição
- z – Pulo de diretório
- PSFzf – Fuzzy finder
scoop install neovim git nodejs– Instala ferramentas básicas- Tema do prompt via Oh My Posh com ícones e Git status
- Uso de
zpara navegar rápido entre projetos Ctrl+rcom PSFzf para histórico filtrável
Essas configs foram inspiradas/tiradas destes conteúdos:
- Neovim setup – vídeo
- Dev workflow usando tmux e vim – vídeo
- Git workflow produtivo no terminal – vídeo
- Fish shell workflow para coding – vídeo
- PowerShell + Oh My Posh no Windows 11 – vídeo
-
Clone o repo
git clone https://github.com/SEU-USUARIO/dotfiles-public.git cd dotfiles-public -
Faça backup dos seus arquivos atuais de config antes de sobrescrever qualquer coisa.
-
Copie/sincronize apenas o que você realmente quer usar:
- Neovim: copie ou faça symlink do diretório
nvim/para~/.config/nvim - Fish: copie ou faça symlink para
~/.config/fish - Tmux: copie
.tmux.confou similar para~ - Git: importe os
.gitconfigou partes que interessarem - PowerShell: importe o perfil ou partes dele para o seu
$PROFILE
- Neovim: copie ou faça symlink do diretório
-
Abra o Neovim e deixe o LazyVim instalar os plugins automaticamente.
-
Ajuste o que for necessário para o seu ambiente (idioma, paths, ferramentas extras).
Essas configs são feitas para o meu fluxo, em Linux/macOS com terminal moderno e Windows via PowerShell. Use como referência, copie pedaços e adapte ao seu estilo.
Se quiser, abra issues ou PRs no repositório com sugestões de melhorias.