Skip to content

SergioRibera/NvimDotFiles

Repository files navigation

Nvim Dotfiles

I'll keep adding new features like snippets etc and clean the config , make neovim (cli version) as functional as an IDE . Pull requests are welcome.

Screenshots General

Screenshot_20210521_015354

Screenshot_20210525_020029

Features

  • Cycle Theme
  • Save and load current theme cycled
  • Languajes Support:
    • C# (Need Roselyn bin, for more information see this)
    • Lua
    • Lua (Nvim Library)
    • C/C++ (With clang)
    • Python
    • Go
    • Rust
    • Javascript
    • Typescript
    • React (Jsx or Tsx)
    • Html
    • Css
    • Bash
    • Json
    • Yaml
    • Markdown
  • File navigation with Nvimtree
  • Mouse works
  • Icons on nvimtree, telescope with nvim-web-devicons
  • Minimal status line (lualine)
  • Gitsigns (colored bars in my config)
  • Using nvim-lsp
  • Show pictograms on autocompletion items
  • Packer.nvim as package manager
  • Snip support from VSCode through vsnip supporting custom and predefined snips (friendly-snippets)

Requirements

  • Neovim Nightly v0.5.0

    For More details see this
    If you use Arch Linux, you can install this from aur, example using Yay:
    yay -S neovim-nightly-bin

  • Omnisharp Roselyn for c# intellisense

    You can download release and unzip on ~/.omnisharp

  • You need install languajes server
    • Html => sudo npm i -g vscode-html-languageserver-bin
    • Javascript and Typescript => sudo npm i -g typescript typescript-language-server
    • Css => sudo npm i -g vscode-css-languageserver-bin prettier
    • Lua => sudo npm i -g lua-language-server
    • Json => sudo npm i -g vscode-json-languageserver
    • Yaml => sudo npm i -g yaml-language-server
    • Bash => sudo npm i -g bash-language-server
    • Python +3.0 => sudo npm i -g pyright
    • Rust => You need install rustup and Rust Analizer for rust-tools
    • C/C++ => On this moment i use clang

      On Arch LInux you can install with sudo pamcan -S clang

  • Git is Needed for more plugins on this config
  • Packages needed for Telescope

    Ripgrep
    Ueberzug
    On Arch LInux you can install with sudo pacman -S ueberzug ripgrep ffmpegthumbnailer poppler

After Installation

After installation this config and all requirements, you need excecute :PackerSync command for install all plugins

Cycle Theme System

This is a custom system with autoload on open Nvim, this load last theme selected

Material
One Dark (With Background transparent)
Nord

If you want add other theme, i use nvim-base16 for themes so you can search some themes for add, the next step is modify the lua/mappings/lua.lua file on line 16 adding a theme in the list

Plugins

packer Not have configuration File but a list of plugins stay on lua/pluginList/lua.lua

To install plugins natively

lspkind-nvim init.lua on the line 72

This tiny plugin adds vscode-like pictograms to neovim built-in lsp

vim-vsnip snippets/*

VSCode(LSP)'s snippet feature in vim

vim-vsnip-integ Not have configuration File

To best integration of vim-vsnip with any completion-engine

rust-tools.nvim Not have configuration File

Extra rust tools for writing applications in neovim using the native lsp

nvim-autopairs Not have configuration File

A super powerful autopairs for Neovim

vim-closetag Not have configuration File
nvim-web-devicons Not have configuration File

This plugin provides the same icons as well as colors for each icon.

vim-devicons Not have configuration File
surround.nvim Not have configuration File

A surround text object plugin for neovim written in lua

instant.nvim Not have configuration File

Collaborative editing in Neovim using built-in capabilities

kommentary Not have configuration File

Neovim commenting plugin, written in lua

nvim-base16 lua/mappings/lua.lua to edit themes list

Programmatic lua library for setting [base16](https://github.com/chriskempson/base16) themes in Neovim

colorizer.lua Not have configuration File

A high-performance color highlighter for Neovim

Emmet Not have configuration File

Emmet Like VSCode

Vim Visual Multicursor Not have configuration File

Visual Multicursor for Vim

indent-blankline.nvim init.lua

To amazing ident Lines


nvim-treesitterlua/treesitter/lua.lua

Advanced and better highlighting


nvim-compelua/completion/lua.lua

Amazing and best completion and suggestion to integration with LSP


nvim-lspconfiglua/lsp/*

A collection of common configurations for Neovim LSP


gitsigns.nvimlua/gitsigns/lua.lua

For integration with Git (Show Changes on line numbers and show commits conceal on each line)


lualine.nvimlua/lualine/lua.lua

A blazing fast and easy to configure neovim statusline written in pure lua


nvim-tree.luaNot have configuration File

File navigation written in pure lua




telescope.nvimNot have configuration File

Is a highly extendable fuzzy finder over lists





telescope-media-files.nvimNot have configuration File

Required for show Media Files (png, jpg, etc) with telescope


presence.nvimNot have configuration File

Discord Rich Presence for Neovim



Mappings

The leader is a Space key.
To show all my keymaps you can excecute the keymap <Leader>hk and type any you want

TODO

  • Add Multicursor support
  • Add my plugin for take screenshot
  • Add Amazing tab
  • Allow only one instance of Nvim

About

My custom vim/nvim configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published