Skip to content

etam-pro/et-nvim-conf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nvim-conf

demo

This is a Neovim configuration built upon NvChad as the base. Some plugins added on top includes the following:

Author

Contributors

Context

LSP supported languages

  • html
  • css
    • cssls
    • tailwindcss-language-server
  • golang
    • gopls
  • ruby
    • rubocop
    • ruby-lsp
    • solargraph
  • typescript
    • typescript-language-server
  • python
    • pyright
  • json
    • jq
    • jq-lsp

Autoformatter

  • golang
    • goimports
    • gofmt
  • ruby
    • solargraph
  • typescript
    • prettier
  • python
    • black

Install

Installing Prerequisites

Please make sure you install NvChad.

IMPORTANT: Ripgrep is marked as optional but is required for live grepcommand to work.

Install NodeJS 18+.. If you are using a virtual environment (i.e. nvm), make user global node version is set to 18+.

Install Ruby 3.2.2. If you are using a virtual environmetn (i.e. rvm, rbenv) make sure global version is set to 3.2.2.

Install Go v1.18+.

Install ltex (for grammar checking in Markdowns and Text):

brew install ltex-ls

Cloning the configuration

Run the following command to clone the configuration (IMPORTANT: will overrride all custom settings):

rm -rf $HOME/.config/nvim/lua && git clone https://github.com/etam-pro/et-nvim-conf.git $HOME/.config/nvim/lua

Open neovim:

nvim

Installing Plugins

To install all the plugins through Lazy, type in the following command:

:Lazy sync

**Might need to restart nvim at this point for the plugins to be effective.

To install all LSP, Linters and Formatters through Mason, type in the following command:

:MasonInstallAll

To login to Copilot:

:Copilot auth

You should be set to go!

Custom Mappings

NOTE: leader is current set to space.

-- Find files only in version control. Very helpful for filtering huge folders like node_modules.
map("n",  "<leader>fg",  "<cmd> Telescope git_files <cr>", { desc = "Find git files" })

-- Global search by text
map("n","<leader>lg",  "<cmd> Telescope live_grep search_dirs=. <cr>", { desc = "Find in files" })

-- Shorthand to open Lazy panel
map("n","<leader>lz", "<cmd> Lazy <cr>", { desc = "Open Lazy Panel" })

-- Shorthand to open Mason panel
map("n","<leader>ls",  "<cmd> Mason <cr>", { desc = "Open Mason Panel" })

-- add a breakpoint to current cursor location
map("n","<leader>db",  "<cmd> lua require('dap').toggle_breakpoint() <cr>", { desc = "Toggle Debugger Breakpoint" })

-- open the debugger UI
map("n", "<leader>dd" , "<cmd> lua require('dapui').open() <cr>", { desc = "Open Debugger Session" })

-- close the debugger UI
map("n", "<leader>dx", "<cmd> lua require('dapui').close() <cr>", { desc = "Close Debugger Session" })

-- start a debugging session
map("n", "<leader>dc",  "<cmd> lua require('dap').continue() <cr>", { desc = "Continue Debugger Session" })

-- clear all breakpoints
map("n", "<leader>df",  "<cmd> lua require('dap').clear_breakpoints() <cr>", { desc = "Clear all Breakpoints" })

-- open the LazyGit panel
map("n", "<leader>gg",  "<cmd> LazyGit <cr>", { desc = "Open LazyGit" })

map("v", ">", ">gv", { desc = "indent" })

Resources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages