Skip to content

v3ceban/nvchad-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NvChad-Config

My custom configuration for NeoVim uses NvChad as the base and includes some additional plugins to enhance its core functionality.

The purpose of this configuration is to retain the default NvChad settings while adding extra features and language support specific to my personal stack.

The configuration can be used as is and does not require any additional setup or setup or settings. Some Mason packages aren't avaliable on certain ARM processors and Android (Termux). Check mason.lua file for more info on how to get those.

Installation

  1. Install NeoVim
  2. Install and initialize NvChad v2.0 by running the following command:
    git clone -b v2.0 --single-branch https://github.com/NvChad/NvChad.git ~/.config/nvim && nvim
  3. Run the following commands to delete pregenerated config files and install this config:
     rm -rf ~/.config/nvim/lua/custom
     git clone https://github.com/v3ceban/nvchad-config.git ~/.config/nvim/lua/custom
  4. ??????
  5. PROFIT

Currently Supported Languages

HTML

CSS

JavaScript/TypeScript

PHP

  • Uses intelephense as LSP and linter
  • Uses php-cs-fixer for formatting
  • Requires .git file to run linting server
  • To create .git run git init in the root of the project

Lua

  • Uses lua-language-server for LSP and linting
  • Uses stylua for formatting
  • Uncomment Mason overrides to install the packages that don't work on ARM

Bash

C/C++

  • Uses clangd for LSP and linting
  • Uses clang-format for formatting
  • Requires clang: sudo dnf install clang
  • Uncomment Mason overrides to install the packages that don't work on ARM

Python

Go

Ruby

Markdown

  • Uses Render Markdown for inline markdown rendering
  • Uses markdowny.nvim for some markdown features in Visual mode
    • <C-k> to add a link
    • <C-b> to make text bold
    • <C-i> to make text italic
    • <C-e> to make text inline code or code block in V-Line mode

Docker

Extra Plugins/Features

Copilot

Enables Copilot integration and quick commands

  • Uses the Copilot plugin for autocompletion
  • Uses the CopilotChat.nvim plugin for chat functionality
  • Run :Copilot auth to authenticate with GitHub
  • Press <M-l> in insert mode to accept Copilot autocompletion suggestions
  • Press <leader>-C in normal or visual mode to see avaliable Copilot Chat commands

Avante

This is still work in progress, and Avante can be disabled by commenting the corresponding lines in plugins.lua. As plugin matures it can potentially replace CopilotChat and, possibly, Copilot itself.

Nvim-ts-autotag

Automatically closes and renames HTML tags

Nvim-surround

Great plugin for surrounding text with brackets, quotes, and tags

  • Uses Nvim-surround plugin
  • Default keybinds in visual mode changed from S to s
  • See :h nvim-surround for usage info

Git-conflict

Plugin to resolve git conflicts

  • Uses git-conflict plugin
  • Mapped to <leader>cX, where X is the conflict resolution option
  • See :h git-conflict for usage info

Vim-be-good

Plugin to get better at vim

Useful Links

None-ls builtins

LSPconfig builtins

NvChad example config

About

Custom NeoVim config with LSP and Linters

Resources

Stars

Watchers

Forks

Languages