Coder Social home page Coder Social logo

nvchad / nvchad Goto Github PK

View Code? Open in Web Editor NEW
22.9K 142.0 2.0K 1.88 MB

Blazing fast Neovim config providing solid defaults and a beautiful UI, enhancing your neovim experience.

Home Page: https://nvchad.com/

License: GNU General Public License v3.0

Lua 100.00%
nvim neovim vim ide neovim-setup neovim-dotfiles lua neovim-configuration neovim-lua nvim-configs

nvchad's Introduction

NvChad

Neovim Minimum Version GitHub Issues Discord Matrix Telegram

Showcase

What is it?

  • NvChad is a neovim config written in lua aiming to provide a base configuration with very beautiful UI and blazing fast startuptime (around 0.02 secs ~ 0.07 secs). We tweak UI plugins such as telescope, nvim-tree etc well to provide an aesthetic UI experience.

  • Lazy loading is done 93% of the time meaning that plugins will not be loaded by default, they will be loaded only when required also at specific commands, events etc. This lowers the startuptime and it was like 0.07~ secs tested on an old pentium machine 1.4ghz + 4gb ram & HDD.

  • NvChad is supposed to be used with its starter config, so nvchad main repo ( this repo ) can be imported as a plugin via lazy's import feature and then you can easily use this repo's modules like autocmds etc.

Theme Showcase

Images (Click to expand!)

4 themes radium 1 radium 2 radium 3

(Note: these are just 4-5 themes, NvChad has around 56 themes)

UI related plugins used

Images (Click to expand!)

Nvim-tree.lua

Fast file tree:

Telescope-nvim

A fuzzy file finder, picker, sorter, previewer and much more:

Our own statusline written from scratch

NvChad UI

Tabufline (our own pertab bufferline)

  • Here's a video that showcases it.

NvCheatsheet ( our UI Plugin )

Plugins list

History

  • I (@siduck i.e creator of NvChad) in my initial days of learning to program wanted a lightweight IDE for writing code, I had a very low end system which was like 1.4ghz pentium + 4gb ram & HDD. I was into web dev stuff so many suggested me to use vscode but that thing was very heavy on my system, It took more ram than my browser! ( minimal ungoogled chromium ) so I never tried it again, sublime text was nice but the fear of using proprietary software XD for a linux user bugged me a lot. Then I tried doom-emacs which looked pretty but it was slow and I was lost within its docs, I tried lunarvim but too lazy to read the docs. Doom-emacs and lunarvim inspired me to make a config which is the prettiest + very fast and simple.

  • I'm decent at ricing i.e customizing system and making it look pretty so I posted my neovim rice on neovim subreddit, my neovim-dotfiles github repo blew up and then I had to come up with a name, I was amazed by the chad meme lol so I put NvChad as the name, the chad word in here doesnt literally mean the chad guy but in the sense such as chad linux vs windows i.e meaning superior, best etc. NvChad was made for my personal use but it gained some popularity which inspired me to make a public config i.e config usable by many and less hassle to update as everyone's going to use the same base config (NvChad) with their custom modifications (which are gitignored so that wont mess up), without the custom config stuff users would have to keep a track of every commit and copy paste git diffs to manually update nvchad.

💝 Support

If you like NvChad and would like to support & appreciate it via donation then I'll gladly accept it.

kofi paypal buymeacoffee patreon

Credits

  • Elianiva helped me with NeoVim Lua related issues many times, helped me in my initial neovim journey!
  • @lorvethe for making the beautiful NvChad logo.

nvchad's People

Contributors

0xgodspeed avatar akianonymus avatar alternateved avatar amirhhashemi avatar appcreatorguy avatar aserowy avatar ashincoder avatar chebro avatar daniel-boll avatar dunglas avatar g-rowell avatar georgejean avatar github-actions[bot] avatar gitleptune avatar i3cheese avatar jaydamani avatar justin-f-perez avatar leonheidelbach avatar lucario387 avatar marvelman3284 avatar max397574 avatar mtvare6 avatar nullchilly avatar pocco81 avatar sefidel avatar siduck avatar tomasky avatar vanderscycle avatar vladdoster avatar zbirenbaum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nvchad's Issues

Which Plugin is used for syntax/ blankspace error detection?

About the Issue:

Which plugin is used for syntax/blankspace error detection.

image

The above Screenshot is an example of Python code. Its too annoying error highlights in the middle of the code. and doesnt refresh after the modification/fixing the error

After fixing the error and saving it

image

After fixing the error the higlighted message doesnt go. i have to quit nvim and open again.

System Details:

OS : Arch Linux
WM : Xmonad


BTW great config 👍🏻

Thanks to this repo and my custom changes

Thanks to this repo for making a base for me to setup neovim. I did make a few custom changes.
I would be ready to discuss on that front and what additions seem useful to you.
I will make a PR after the discussion.

I was always looking for a neovim config which I can say to neovim beginners like "oh! here is a link. use this config and you are good to go". I think this one fits perfectly.

BTW, here are a few changes I did:

Plugins:

  1. Added kommentary plugin for comments (modified a few things to make everything single comments based)
  2. nvim-toggleterm for terminal toggles
  3. markdown-preview for markdown

LSP & Tree-sitter

  1. Zig
  2. Nim
  3. Rust
  4. Java
  5. C/CPP
  6. Ocaml
  7. Go

Mappings

  1. Added navigation among buffers using <leader>j & <leader>k. Close buffer using <C-w>
  2. Some extra LSP mappings (very minimal)
  3. Resizing windows
  4. <leader>/ for searching using telescope and ripgrep

Btw, here is the latest change https://github.com/Himujjal/dotfiles

NvChad logo

Submit your logos for NvChad if you can make one ( It must be beautiful and clean)

  • Can be a non text logo
  • The text logo can be short and creative , something like this (neovim treesitter)

image

Auto Save Not Working

After not pulling from master for a long time today I finally did. On nvim start up after pulling I was greeted with an error about the zen plugin, but I didn't think to screenshot it. After doing some editing I found out that my files were no long autosaving. I am not sure if the zen error message and this are linked but I tried removing truezen from the pluginslist and that did not fix my error.

Screenshots

image
Before changes
image
Making changes
image
Exiting out of edit mode after finishing changes

Notes

As you can see in the screenshots the little dot on the file name does not go away after hitting esc to return to normal mode.

Sys info

I am running arch linux on 5.11.15
Neovim is neovim night from the aur.

If there is any other info that is needed let me to and i will provide it as soon as possible

Transperancy

Hello while installing your config , there is transperancy in neovim. I do have picom running but still in my other neovim configs there was not any transperancy
My Os : Archlinux
Picom
Alacritty Terminal

Which Font Do You Use

I am on kitty terminal with Fira Code Nerd Font but I tried a few fonts too all of them have same problem the icons is not displayed. can you check the attached screenshots?
2021-04-06_08-43
2021-04-06_08-43_1
2021-04-06_08-44

Nvim Tree is not displaying

Hey! Thanks for this wonderful config file.
I am using your st build as well.

The Neovim Tree plugin is probably not working, nvim-tree isn't being displayed.

Adding gruvbox theme

Hello, I'm really digging your config but my setup is gruvbox-based and I have a bit of trouble converting your setup to a full gruvbox theme. I have changed the theme loaded by base16 and tried to replicate your onedark.lua with different colors but it's not working as I'd like. Do you intend do add support for other colorschemes ?

Create more suggestions

Hello guys it would be better if you guys suggest any more features as we could grow this into more than a config and more like a framework.

Incorrect auto completion in JS

Hey, awesome config but I have a problem with auto completion in JS files. It completely ignores the context and suggests the same regardless of the code before. E.g. I enter axios. (which is a lib in TS) and instead of showing all the methods of its instance I get completely unrelated stuff like every variable/function of the current file, some globals etc. It's not supposed to be this way, right?

Persistent undos

Sorry for making multiple issues 2day, but the faster the development the better.the config is really good but there is one thing that bothers me.
Persistent undos.
It's super easy to do in vimscript but I didn't wanna ruin the script's speed and adding vimscript to it,it doesn't include any vimscript yet.
I don't know lua and I don't even know if it's possible in lua.
So please add this feature.
It's not available in lunarvim by default which is also weird and only spacevim has this.but spacevim is slow and bloated.

Packer install

Consider this more of a doubt, than an issue.

I was going through your neovim dots ( I love it ) and in pluginsList, you check if packer is already installed with pcall like this:
local packer_exists = pcall(vim.cmd, [[packadd packer.nvim]])

I was wondering why you did this and if the variable packer_exists holds any significance. ( you didn't use it anywhere after you declared it, if I am not mistaken )

Since we install packer into packer/start anyway ( like in the install script ), shouldn't vim automatically load it for us at the start, without us having to say packadd packer.nvim ?

And I am also confused as to why you lazy load packer here:
use {"wbthomason/packer.nvim", opt = true}

And if packer is not installed in site/pack, wouldn't neovim throw an error regardless of the pcall check, given that packer cannot be loaded?

Remove unnecessary space after the default icon in NvimTree

the default icon have an extra space here for no reason and it's kinda annoying.

before vs after

 config.h                    config.h
 drw.c                       drw.c
 dwm.png                     dwm.png
 LICENSE                     LICENSE
  README                     README 
 transient.c                 transient.c 
 util.c                      util.c 
 util.h                      util.h

Allow users to change the shell

When I had first installed the configs I had to manually change my shell from bash to zsh in mappings/lua.lua. I would try to implement this feature myself but I don't know enough shell or lua to do it.

Sumneko path and bin

Hi,

What is the purpose of sumneko bin and path? On my config, I do not have files created at sumneko specific path and :Healthcheck returns an error. Do I need to create the folders during install?

sumneko
Sumneko in lsp config
sumneko2

PackerInstall isn't installed

I ran git clone https://github.com/wbthomason/packer.nvim\ ~/.local/share/nvim/site/pack/packer/start/packer.nvim but still PackerInstall doesn't work

Nvchad destroys your old config

Ya probably should be backing up the old config.
It's not that hard.ya just have to remove the line which warns you that your old config is gone and add these lines.
mv $HOME/.config/nvim $HOME/.config/nvim.bak
And also tell the location of the backup.

Should Telescope media_files work out of the box?

I have used your script to deploy your setup. It works fine, except for Telescope media_files that doesn't show anything. It is like if the folder was empty. Are there any dependencies to be installed in order to display images in terminal?

Conflicting <Leader>fb both find buffers and JumpMarks.

In telescope-nvim.lua, L72
vim.api.nvim_set_keymap("n", "<Leader>fb", [[<Cmd>lua require('telescope.builtin').buffers()<CR>]], opt)

L80
vim.api.nvim_set_keymap("n", "<Leader>fb", [[<Cmd> DashboardJumpMarks<CR>]], opt)

nvim-lspconfig bindings not working/showing

@siduck76,

Sorry for pestering you over the past few days with my issues. I may just need some confirmation, my lspconfig bindings do not work on my config (the lspconfig commands do work tho if executed in the cli/nvim terminal) and they do not show using nvim-which key.
:lspInfo reveals that lsp is indeed working and no issues on :checkHealth

  local function map(...)
      vim.api.nvim_buf_set_keymap(bufnr, ...)
  end

  local function buf_set_option(...)
      vim.api.nvim_buf_set_option(bufnr, ...)
  end

  buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")

  -- Mappings.
  local opts = {noremap = true, silent = true, normal = true}
  map("gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
  map("gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
  map("K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
  map("gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
  map("<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
  map("<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
  map("<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
  map("<space>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", opts)
  map("<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
  map("<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
  map("gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
  map("<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
  map("[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
  map("]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
  map("<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)

The bindings showing for me leader key (leader+x* is binded to another plugin)
whichKey

tl;dr: lsp is working flawlessly on my config but none of the bindings work.

Problems executing macros

Behaivor

When which-key is active there are some troubles executing macros after a record

How can reproduce It

Put this content on a file:

abc
adt
asdf

go to the first line

  1. start a macro qa
  2. go at the beginning of line _
  3. insert a colon i: and pres ESC
  4. go to the next line j
  5. stop macro recording q
  6. execute macro @A

code suggestions not working

Hi, love from Germany :)

I cloned your setup and code suggestion for .lua files worked out of the box.
I tried adding the 'require.pyls......" line which you mentioned in README for python, but it did not work.

Kindly help!

Thanks again

Globals config

Hey what about we add like a file globals.lua. In lunarvim there is a example. How about we use it.

colorscheme issue

I think the line numbers are too dark. Also, comment lines are also too dark.
One can hardly view them.

Perhaps you might wanna replace them with a bit lighter ones.

Multiple Install Errors

Whilst trying to copy this config I have run into some errors. I have tried both manually and using install.sh, all of these error messages will be from running the install.sh file.
My first error is:

~~~~~ Linking config
find: unknown predicate `-E'

Next:

~~~~~ Installing plugins
Error detected while processing command line:
E492: Not an editor command: PackerInstallError detected while processing command line:
E492: Not an editor command: TSUpdate

Replication

Clone this repo
cd into the folder
run ./install.sh

Other Information

Besides these two errors every other operation ran without errors.
I am using neovim-nightly-bin from the aur and I have also tried neovim-nightly-git from the aur which also returns with the same results.
Installing packer on its own also return the error that PackerInstall is not an Editor Command.

System Information

image

If you need any other information let me know,
Thanks in advance for the help!

Colors of devicons

How are the colors diff in ur nerdtree icons according to the language file?

Error with the new colors/install.sh

It had been a few days since I had pulled from the repo and after I had I was greeted with this on startup of nvim:
image
Once again I am using Arch Linux.

added kabouzeid/nvim-lspinstall

hey there :)

ive added kabouzeid/nvim-lspinstall in my fork and reworked automatic installation of packer. Thus, the install.sh shrunk to pieces and lsp installs and keybindings are more dynamic.
If you are interested, ill pr you.

Kind regards
Alexander

Can't close side bar

After pulling the most recent commit I am now getting an error where I am not able to close the side bar. The error looks like this:
image

Thanks in advance!

install.sh for init use and pip3

Hi,

first things first: you are awesome! I think i found my default conf.
While installing on a fresh ubuntu, i had to change your install.sh that the install was running cleanly.

Can i pr you my minimal changes?

Kind regards and thx for your work
Alexander

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.