Minimal neovim setup for ethereum smart contract auditing based on the real experience. What you need? Excellent code navigation, rich highlighting, and kanagawa theme.
lua/
├── config/
│ └── lazy.lua # plugin manager config
├── plugins/
│ ├── treesitter.lua # syntax highlighting (with solidity fix)
│ ├── lsp.lua # language servers + completion
│ ├── editor.lua # navigation, editing helpers, git, terminal
│ ├── ui.lua # theme, statusline, tabs, file tree
│ ├── wake.lua # wake lsp for solidity
│ └── default.lua # misc plugins
└── init.lua # entry point + keymaps
<leader>t- toggle terminal
gd- go to definitiongr- find referencesgh- hover documentation
gp- peek definition (without jumping)gpp- close peek windowsgpr- peek references
<C-o>- jump back<C-i>- jump forward
<leader>ut- toggle theme (light/dark)
The treesitter config includes a workaround for solidity files not getting syntax highlighting on first open. This is handled by aggressive buffer checking that forces the filetype and attaches treesitter.