Skip to content

marklcrns/nvim-config

Repository files navigation

Neovim Config

⚡ Fast startup, lazy-loaded plugins, and featureful Neovim configurations made with pure obsession and ❤

Demo

Startup Time

~ 100ms

Features

  • Lazy loading (lazy.nvim)
  • LSP (servers are auto-installed as needed)
    • Mason, null-ls, and nvim-lspconfig are used to configure LSP
  • Treesitter
  • Telescope
  • Vimwiki
  • Markdown preview
  • Git integration
  • Autocomplete
    • nvim-cmp
    • UltiSnips
  • Split auto-resize (focus.nvim)
  • Dashboard (alpha-nvim)
  • Statusline (feline.nvim)
  • Tabline (bufferline.nvim)
  • File explorer (neo-tree.nvim)
  • Diff (diffview.nvim)

and many more...

Requirements

  • Neovim 0.9+
  • Nodejs and npm
  • Python 3+
  • pandoc (Required for vimwiki)
  • yarn (Required for markdown-preview.vim)

Installation

Clone repository into ~/.config/nvim

git clone --recurse-submodules --ff-only --branch master https://github.com/marklcrns/nvim-config ~/.config/nvim

Then simply run make to install all the necessary dependencies and directories.

cd ~/.config/nvim

make
# or
make install

This will install all dependencies and create env python virtual environment in root directory for python_host_prog and python3_host_prog instead of using global python.

Preview

Colorscheme: tokyonight

Preview

Dashboard with alpha-nvim that changes according to terminal screen size.

Notable Plugins

Vimwiki

A powerful personal wiki creator for all sorts of needs.

Vimwiki

Demo Wiki with custom css and wiki2html script

UltiSnips

honza/vim-snippets will automatically be installed which contains various community-maintained programming languages snippets.

Additionally, UltiSnips is configured to source custom personal snippets from $VIM_PATH/UltiSnips directory.

Run :UltiSnipsEdit! in vim command line to edit all snippets for the current buffer filetype

Vim-Smartq

Shameless plug to my own plugin vim-smartq which lets you bind your key q to smartly close the current buffer, split, tab, or floating window without having to remember/define different keybindings for each. It also preserves tab splits and auto-close empty buffers.


Special Thanks

Most of my configuration piggy backed from other people's configurations.

Inspiration

About

Personal Neovim Configurations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages