Code Editor

Neovim + NvChad

A fully configured Neovim setup optimized for Termux on Android. Pre-configured language servers, AI assistants, code formatters, and a beautiful UI.

Quick Install
core install editor
GitHub Repository

Features

AI Integration

Copilot + CodeCompanion w/ Mistral, OpenAI & Anthropic

LSP Support

20+ languages with lazy on-demand installation

Code Formatting

Prettier, stylua, shfmt, pg_format, black, gofmt, rustfmt

Telescope

Fuzzy finder for files, text, and buffers

Treesitter

Advanced syntax highlighting + incremental selection

Beautiful UI

Eldritch theme, lualine, bufferline, scrollbar

Auto-closing Tags

Auto close and rename HTML/JSX/TSX tags

Code Folding

nvim-ufo with treesitter & indent providers

Custom Snippets

HTML/JSX/TSX snippets via LuaSnip + friendly-snippets

Keybindings

Leader Key: Space

General

KeyModeDescription
;NormalEnter command mode
jkInsertExit insert mode
<Space>NormalLeader key

Line Movement

KeyModeDescription
<A-j>Normal/InsertMove line down
<A-k>Normal/InsertMove line up
<A-j>VisualMove selection down
<A-k>VisualMove selection up

Window Navigation

KeyModeDescription
<S-h>NormalGo to left split / Previous buffer
<S-l>NormalGo to right split / Next buffer
<S-j>NormalGo to bottom split
<S-k>NormalGo to top split
<leader>svNormalSplit vertically
<leader>shNormalSplit horizontally
<leader>sqNormalClose current split
<leader>soNormalClose other splits

Code Formatting

KeyModeDescription
<leader>fmNormalFormat file with Prettier/conform.nvim
<leader>fsNormalFormat Bash script with shfmt
<leader>fqNormalFormat SQL with pg_format

AI Assistants

KeyModeDescription
<leader>aaNormal/VisualCodeCompanion: Open chat
<leader>aiNormal/VisualCodeCompanion: Transform/create inline code
<leader>atNormalCodeCompanion: Toggle chat (show/hide)
<leader>amNormalCodeCompanion: Actions menu
<leader>asNormalCodeCompanion: Change adapter/provider

GitHub Copilot (Insert Mode)

KeyModeDescription
Ctrl+lInsertAccept suggestion
Ctrl+jInsertNext suggestion
Ctrl+kInsertPrevious suggestion
Ctrl+hInsertDismiss suggestion

Search & Navigation (Telescope)

KeyModeDescription
<leader>ffNormalFind files
<leader>fgNormalLive grep (search text)
<leader>fbNormalSearch buffers
<leader>fhNormalSearch help tags

Diagnostics (LSP)

KeyModeDescription
[dNormalGo to previous diagnostic
]dNormalGo to next diagnostic
<leader>eNormalShow diagnostic in floating window
<leader>qNormalOpen diagnostic location list

Utilities

KeyModeDescription
<leader>yNormalYank entire file to clipboard
<leader>srNormalReload configuration
<leader>chNormalClear search highlight
<leader>twNormalToggle line wrap
<leader>tnNormalToggle relative line numbers

Code Folding

KeyModeDescription
<leader>zNormalToggle fold under cursor
<leader>zRNormalOpen all folds
<leader>zMNormalClose all folds

Autocompletion (Insert Mode)

KeyModeDescription
TabInsertNext completion item / Expand snippet
Shift+TabInsertPrevious completion item
Ctrl+SpaceInsertManual trigger completion
EnterInsertConfirm selection
Ctrl+dInsertScroll docs up
Ctrl+fInsertScroll docs down

Language Support

LanguageLSPFormatterFeatures
JavaScript/TypeScriptts_lsPrettierAutocompletion, diagnostics, inlay hints
HTMLhtml-lspPrettierAuto-tags, completion
CSS/TailwindcsslsPrettierAutocompletion, Tailwind support
Lualua-language-serverstyluaAutocompletion, diagnostics
BashbashlsshfmtShell formatting
PythonpyrightblackAutocompletion, diagnostics
Gogoplsgofmt/goimportsAutocompletion, diagnostics
Rustrust_analyzerrustfmtAutocompletion, diagnostics
C/C++clangdclang-formatAutocompletion, diagnostics
PHPintelephense-Autocompletion, diagnostics
Kotlinkotlin_language_serverktfmtAutocompletion, diagnostics
C#omnisharp-Autocompletion, diagnostics
YAMLyamllsPrettierFormatting
Dockerfiledockerls-Diagnostics
SQLsqlspg_formatSQL formatting
JSON-PrettierFormatting
Markdown-PrettierFormatting

Plugins

Completion

nvim-cmp

Intelligent autocompletion engine

Completion

LuaSnip

Snippet engine with HTML/JSX/TSX snippets

LSP

nvim-lspconfig

LSP configuration

LSP

mason.nvim

LSP installer

Syntax

nvim-treesitter

Syntax highlighting and code navigation

Syntax

nvim-treesitter-textobjects

Incremental selection

Formatting

conform.nvim

Code formatter

AI

copilot.vim

GitHub Copilot integration

AI

codecompanion.nvim

Multi-provider AI chat assistant

Navigation

telescope.nvim

Fuzzy finder for files and text

Navigation

trouble.nvim

Diagnostic list viewer

UI

lualine.nvim

Status bar

UI

bufferline.nvim

Buffer tabs

UI

indent-blankline.nvim

Visual indentation guides

UI

nvim-notify

Beautiful notifications

UI

which-key.nvim

Keybinding helper

UI

nvim-ufo

Code folding with treesitter

UI

nvim-scrollbar

Scrollbar with diagnostics/git indicators

UI

nvim-web-devicons

File type icons

Syntax

nvim-ts-autotag

Auto close HTML/JSX tags

Navigation

symbols-outline.nvim

Symbols outline sidebar

Completion

friendly-snippets

Predefined snippets collection

LSP

mason-lspconfig.nvim

Mason-lspconfig bridge

Configuration Structure

nvim/
├── init.lua                    # Main entry, lazy.nvim bootstrap
├── lazy-lock.json             # Plugin lockfile
├── lua/
│   ├── chadrc.lua             # Theme & base46 settings
│   ├── mappings.lua           # Custom keybindings
│   ├── options.lua            # Neovim options + Termux TMPDIR fix
│   ├── configs/
│   │   ├── cmp.lua            # Autocompletion config
│   │   ├── conform.lua        # Code formatter config
│   │   ├── lazy.lua           # lazy.nvim settings
│   │   ├── lspconfig.lua      # Lazy LSP installer (on-demand)
│   │   ├── snippets.lua       # HTML/JSX/TSX custom snippets
│   │   ├── ui.lua             # UI central config
│   │   ├── formatters/
│   │   │   └── custom.lua     # Custom formatter definitions
│   │   └── servers/
│   │       ├── cssls.lua      # CSS language server
│   │       ├── eslint.lua     # ESLint LSP
│   │       ├── html.lua       # HTML language server
│   │       ├── tailwindcss.lua # Tailwind CSS language server
│   │       └── ts_ls.lua      # TypeScript language server
│   └── plugins/
│       ├── init.lua           # Plugin imports
│       ├── ai/                # AI plugins (Copilot, CodeCompanion)
│       ├── completion/        # Completion plugins (nvim-cmp, LuaSnip)
│       ├── formatting/        # Formatting plugins (conform.nvim)
│       ├── lsp/               # LSP plugins (lspconfig, mason, trouble, ufo, autotag)
│       └── ui/                # UI plugins (lualine, bufferline, notify, scrollbar)