You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
george c41320fbf4 jai ho 1 week ago
lua jai ho 1 week ago
README.md add readme 1 week ago
init.vim jai ho 1 week ago

README.md

Neovim Config

This is a vim-plug based Neovim config with:

  • LSP via nvim-lspconfig
  • Completion via nvim-cmp and LuaSnip
  • Search via Telescope
  • File browsing via Oil
  • LaTeX workflow via VimTeX and TexLab
  • Formatting via LSP, latexindent, and neoformat fallback

Main Files

  • init.vim: plugin list and Vimscript globals
  • lua/init.lua: Lua setup, keymaps, completion, LSP, and plugin config

Plugin Manager

This config uses vim-plug.

Common commands:

  • :PlugInstall
  • :PlugUpdate
  • :PlugClean

Required External Software

LSP Servers

These are the language servers configured in lua/init.lua and the binaries they expect to find on PATH.

LSP config Expected binary or package
ts_ls typescript-language-server and typescript
clangd clangd
gopls gopls
pyright pyright
texlab texlab
rust_analyzer rust-analyzer
kotlin-language-server kotlin-language-server
cmake cmake-language-server
html vscode-html-language-server from vscode-langservers-extracted
glsl_analyzer glsl_analyzer
lua_ls lua-language-server
zls zls

LaTeX Toolchain

These are used by the current LaTeX setup.

Tool Purpose
pdflatex TeX engine
latexmk Project-aware TeX build runner
latexindent TeX formatter
texlab LaTeX LSP
zathura Optional PDF viewer with SyncTeX support
xdg-open Generic PDF opener fallback

Other Useful Runtime Tools

Tool Purpose
cargo Used here to install texlab
git Required by vim-plug and Telescope git search

Leaders

  • Leader = <Space>
  • LocalLeader = ,

Key Shortcuts

Search And Buffers

Mode Shortcut Action
Normal <C-p> Search tracked git files
Normal <C-f> Search all files
Normal <leader>f Grep the project
Normal <leader>/ Fuzzy search the current buffer
Normal <leader>fh Search help tags
Normal <leader>fr Open recent files
Normal <leader>fu Open undo history in Telescope
Normal <leader><Tab> Switch buffers

File Browsing

Mode Shortcut Action
Normal - Open parent directory in Oil
Normal <leader>e Open Oil file explorer
Normal <leader>E Open the current file's directory in Oil

LSP And Diagnostics

Mode Shortcut Action
Normal gd Go to definition
Normal gr List references
Normal gi List implementations
Normal K Show hover documentation
Normal L Show diagnostics in a float
Normal, Visual <leader>ca Run a code action
Normal <leader>rn Rename symbol
Normal [d Jump to previous diagnostic
Normal ]d Jump to next diagnostic
Normal <leader>q Send diagnostics to the location list
Normal <leader>fm Format the current buffer

LaTeX Workflow

Mode Shortcut Action
Normal <leader>tc Compile TeX document
Normal <leader>tk Stop TeX compilation
Normal <leader>tv Open or refresh TeX PDF viewer
Normal <leader>to Show TeX compiler output
Normal <leader>tt Toggle TeX table of contents
Normal <leader>te Show TeX errors
Normal <leader>tl Clean TeX build files

Editing And Movement

Mode Shortcut Action
Normal, Visual <leader>y Yank to system clipboard
Normal <leader>u Toggle Undotree
Normal, Visual, Operator-pending s Jump with Flash
Normal, Visual, Operator-pending S Jump to Tree-sitter targets with Flash

Completion

Insert Mode

Shortcut Action
<C-b> Scroll completion documentation up
<C-f> Scroll completion documentation down
<C-Space> Open completion menu
<C-e> Abort completion
<Tab> Confirm selected completion item
Mode Shortcut Action
/ command line <Tab> and completion menu Complete from current buffer
: command line <Tab> and completion menu Complete paths and commands

Plugin Defaults Still Enabled

Comment.nvim

Mode Shortcut Action
Normal gcc Toggle comment on current line
Visual gc Toggle comment on selection
Operator-pending gc{motion} Toggle comment over a motion

vim-surround

Mode Shortcut Action
Normal ys{motion}{char} Add surrounding characters
Normal yss{char} Surround current line
Normal cs{old}{new} Change surrounding characters
Normal ds{char} Delete surrounding characters
Visual S{char} Surround the selection

VimTeX Common Defaults

Mode Shortcut Action
Normal <localleader>ll Start or toggle VimTeX compilation
Normal <localleader>lk Stop VimTeX compilation
Normal <localleader>lc Clean auxiliary files
Normal <localleader>lv Open or forward-search the PDF
Normal <localleader>lo Open compiler output
Normal <localleader>lt Open VimTeX table of contents
Normal [[ / ]] Move between section boundaries
Normal [m / ]m Move between environment boundaries
Visual, Operator-pending ie / ae Select inside or around a LaTeX environment
Visual, Operator-pending i$ / a$ Select inside or around math

Notes

  • TeX formatting uses latexindent when editing *.tex files.
  • The generic format key is still <leader>fm; it switches to latexindent automatically for TeX buffers.
  • vimtex provides many more text objects, motions, and local mappings than listed here. Use :help vimtex-default-mappings and :help vimtex for the full set.