Neovim + NvChad
A fully configured Neovim setup optimized for Termux on Android. Pre-configured language servers, AI assistants, code formatters, and a beautiful UI.
git clone https://github.com/DevCoreXOfficial/nvchad-termux.git && cd nvchad-termux && bash nvchad.shFeatures
AI Integration
GitHub Copilot & CodeCompanion with multiple providers
LSP Support
TypeScript, HTML, CSS, Lua, Bash, and more
Code Formatting
Prettier, stylua, shfmt, pg_format
Telescope
Fuzzy finder for files, text, and buffers
Treesitter
Advanced syntax highlighting
Beautiful UI
Eldritch theme, lualine, bufferline
Keybindings
Leader Key: Space
General
| Key | Mode | Description |
|---|---|---|
; | Normal | Enter command mode |
jk | Insert | Exit insert mode |
<Space> | Normal | Leader key |
Line Movement
| Key | Mode | Description |
|---|---|---|
<A-j> | Normal/Insert | Move line down |
<A-k> | Normal/Insert | Move line up |
<A-j> | Visual | Move selection down |
<A-k> | Visual | Move selection up |
Window Navigation
| Key | Mode | Description |
|---|---|---|
<S-h> | Normal | Go to left split / Previous buffer |
<S-l> | Normal | Go to right split / Next buffer |
<S-j> | Normal | Go to bottom split |
<S-k> | Normal | Go to top split |
<leader>sv | Normal | Split vertically |
<leader>sh | Normal | Split horizontally |
<leader>sq | Normal | Close current split |
<leader>so | Normal | Close other splits |
Code Formatting
| Key | Mode | Description |
|---|---|---|
<leader>fm | Normal | Format file with Prettier/conform.nvim |
<leader>fs | Normal | Format Bash script with shfmt |
<leader>fq | Normal | Format SQL with pg_format |
AI Assistants
| Key | Mode | Description |
|---|---|---|
<leader>aa | Normal/Visual | CodeCompanion: Open chat |
<leader>ai | Normal/Visual | CodeCompanion: Transform/create inline code |
<leader>at | Normal | CodeCompanion: Toggle chat (show/hide) |
<leader>am | Normal | CodeCompanion: Actions menu |
<leader>as | Normal | CodeCompanion: Change adapter/provider |
GitHub Copilot (Insert Mode)
| Key | Mode | Description |
|---|---|---|
Ctrl+l | Insert | Accept suggestion |
Ctrl+j | Insert | Next suggestion |
Ctrl+k | Insert | Previous suggestion |
Ctrl+h | Insert | Dismiss suggestion |
Search & Navigation (Telescope)
| Key | Mode | Description |
|---|---|---|
<leader>ff | Normal | Find files |
<leader>fg | Normal | Live grep (search text) |
<leader>fb | Normal | Search buffers |
<leader>fh | Normal | Search help tags |
Diagnostics (LSP)
| Key | Mode | Description |
|---|---|---|
[d | Normal | Go to previous diagnostic |
]d | Normal | Go to next diagnostic |
<leader>e | Normal | Show diagnostic in floating window |
<leader>q | Normal | Open diagnostic location list |
Utilities
| Key | Mode | Description |
|---|---|---|
<leader>y | Normal | Yank entire file to clipboard |
<leader>sr | Normal | Reload configuration |
<leader>ch | Normal | Clear search highlight |
<leader>tw | Normal | Toggle line wrap |
<leader>tn | Normal | Toggle relative line numbers |
Autocompletion (Insert Mode)
| Key | Mode | Description |
|---|---|---|
Tab | Insert | Next completion item / Expand snippet |
Shift+Tab | Insert | Previous completion item |
Ctrl+Space | Insert | Manual trigger completion |
Enter | Insert | Confirm selection |
Ctrl+d | Insert | Scroll docs up |
Ctrl+f | Insert | Scroll docs down |
Language Support
| Language | LSP | Formatter | Features |
|---|---|---|---|
| JavaScript/TypeScript | ts_ls | Prettier | Autocompletion, diagnostics, inlay hints |
| HTML | html-lsp | Prettier | Auto-tags, completion |
| CSS/Tailwind | cssls | Prettier | Autocompletion, Tailwind support |
| Lua | lua-language-server | stylua | Autocompletion, diagnostics |
| Bash | bashls | shfmt | Shell formatting |
| SQL | - | pg_format | SQL formatting |
| JSON | - | Prettier | Formatting |
| Markdown | - | Prettier | Formatting |
Plugins
nvim-cmp
Intelligent autocompletion engine
LuaSnip
Snippet engine with HTML/JSX/TSX snippets
nvim-lspconfig
LSP configuration
mason.nvim
LSP installer
nvim-treesitter
Syntax highlighting and code navigation
nvim-treesitter-textobjects
Incremental selection
conform.nvim
Code formatter
copilot.vim
GitHub Copilot integration
codecompanion.nvim
Multi-provider AI chat assistant
telescope.nvim
Fuzzy finder for files and text
trouble.nvim
Diagnostic list viewer
lualine.nvim
Status bar
bufferline.nvim
Buffer tabs
indent-blankline.nvim
Visual indentation guides
nvim-notify
Beautiful notifications
which-key.nvim
Keybinding helper
Configuration Structure
nvim/
├── init.lua # Main entry, lazy.nvim bootstrap
├── lua/
│ ├── chadrc.lua # Theme & base46 settings
│ ├── mappings.lua # Custom keybindings
│ ├── options.lua # Neovim options
│ ├── configs/
│ │ ├── cmp.lua # Autocompletion config
│ │ ├── conform.lua # Code formatter config
│ │ ├── lspconfig.lua # Language server config
│ │ └── lazy.lua # lazy.nvim settings
│ └── plugins/
│ ├── ai/ # AI plugins
│ ├── completion/ # Completion plugins
│ ├── formatting/ # Formatting plugins
│ ├── lsp/ # LSP plugins
│ └── ui/ # UI plugins