DEV Community

Patrik Barsi
Patrik Barsi

Posted on

College student sets up NEOVIM!!!!

Neovim Setup Update

It's been a while since I last wrote, hehe, my bad. Don't think anyone waits for my posts though.

After setting up my system to my liking (check previous posts), I hopped into my Neovim configuration. I set up almost everything: LSPs, Treesitter, Telescope, formatters, linters, and some QoL plugins. Let's dive into these configs.

Core Setup

Setting up Treesitter, LSPs, and Telescope was pretty easy. I use lazy.nvim for plugin management.

After adding it, I experimented with different languages, downloading a few LSPs and popular linters:

  • pyright (LSP for Python)
  • ruff (gigafast Python linter)
  • vtsls (modern TypeScript LSP)

Telescope is really nice as a fuzzy finder for navigation. I heard fzf-lua is much better, but for now Telescope gets the job done.

Additional Plugins

  • Neotree

    I use this in case I forget a file name (rare occasion, I'm still young).

  • Autocompletions

    Surprisingly, autocompletion requires 4-5 plugins. I was expecting an all-in-one plugin but didn’t find one. Currently, I accept suggestions via <Enter>, but this sometimes interferes when I want to break a line in Insert Mode. I might switch it to <C-y>.

  • Theme

    The most important part of any editor is the theme. I use Nord, which blends nicely into my defrosted system theme.

Quality of Life Plugins

All QoL plugins are from mini.nvim:

  • indentscope: Helps keep track of indentation
  • pairs: Auto-bracketing
  • move: Allows moving blocks of code via Alt+h/j/k/l

These additions make editing smoother without much bloat. My setup is much less bloated than LazyVim, for example.

Future Plans

I am thinking about adding bufferline.nvim to have a VSCode-like experience. For now, I want to try out harpoon2 for secondary navigation, while Neotree remains tertiary.

Thanks for reading. Cya.

Top comments (0)