Skip to content

Jaehaks/nvim_config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nvim_config

  • Default setup :
    • Windows 10

Installation requirement

For Windows

pre-required environment variable

  1. HOME : %USERPROFILE%
  2. PATH :
    • %USERPROFILE%\.config\Dotfiles\clink
    • %USERPROFILE%\user_installed\SumatraPDF
    • %USERPROFILE%\user_installed\<clinkpath>
    • %USERPROFILE%\user_installed\MikTeX\miktex\bin\x64
    • %USERPROFILE%\scoop\apps\openjdk11\current\bin
    • %USERPROFILE%\Vim\vim90
  3. CC : gcc
  4. XDG_CONFIG_HOME : %USERPROFILE%\.config
  5. XDG_DATA_HOME : %USERPROFILE%\.config
  6. XDG__HOME : %USERPROFILE%\.config
  7. XDG_RUNTIME_DIR : C:\WINDOWS\TEMP\nvim.user

using scoop

Note

To add buckets put this code in cmd prompt scoop bucket add main extras versions java

	scoop install ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick bat clipboard unar wget curl unzip gzip tar pwsh openjdk11 go rustup python tree-sitter git
	scoop install lua luarocks mingw neovim neovim-qt iconv uutils-coreutils less sed grep obs-studio scoop-search ghostscript windows-terminal yazi zip eza gawk
  1. ffmpeg (for yazi)
  2. 7zip (for yazi, neovim/mason)
  3. jq (for yazi)
  4. poppler (for yazi)
  5. fd (for yazi, neovim/snacks)
  6. ripgrep (for yazi, neovim/snacks)
  7. fzf (for yazi)
  8. zoxide (for yazi, clink)
  9. resvg (for yazi)
  10. imagemagick (for yazi)
  11. bat (for yazi)
  12. clipboard (for yazi)
  13. unar (for yazi/lsar.yazi)
  14. wget (for neovim/mason)
  15. curl (for neovim/mason)
  16. unzip (for neovim/mason)
  17. gzip (for neovim/mason)
  18. tar (for neovim/mason)
  19. pwsh (for neovim/mason)
  20. openjdk11 (for neovim/mason)
  21. go (for neovim/go)
  22. rustup (for neovim/mason)
  23. python (for neovim/mason, neovim provider)
  24. tree-sitter (for neovim/nvim-treesitter)
  25. git (for neovim/lazy.nvim, neovim/snacks)
  26. lua (for neovim)
  27. luarocks (for neovim)
  28. mingw (for neovim)
    • gcc (for neovim/nvim-treesitter)
  29. neovim (for neovim)
  30. neovim-qt (for neovim)
  31. iconv (for clink/fzff.cmd and clink/fzfd.cmd)
  32. uutils-coreutils (for linux command)
  33. less (for linux command)
  34. sed (for linux command)
  35. grep (for linux command)
  36. obs-studio (for recording screen)
  37. scoop-search (for search scoop package)
  38. ghostscript
  39. windows-terminal
  40. yazi
  41. zip
  42. eza
  43. gawk

using manual download

  1. sumatraPDF
    • program from scoop has some bug
  2. clink
    • it needs to copy or link files from dotfiles to the install path of clink
  3. node.js (for neovim/mason)
    • version v20
    • npm (for neovim/mason)
      • npm install -g neovim for vim.g.loaded_node_provider = 1
      • vim.g.loaded_perl_provider = 0 for disable provider warning
  4. MikTeX
    • pdflatex for snacks
    • latexmk for vimtex
    • It is more convenient to install packages over than scoop package
  5. Obsidian
    • for personal markdown notes

mason

  • mason is loaded by cmd for lazy load. Parsers must be installed manually
  • 🟩 required lsp

    • json-lsp
    • basedpyright
    • lua-language-server
    • matlab-languager-server
  • 🟩 required linter

    • ruff
  • 🟩 required formatter

    • latexindent
    • stylua

For Ubuntu 22.04

  1. mason.nvim
    1. git : default
    2. curl : default
    3. wget : default
    4. unzip : default
    5. tar or gtar : default
    6. gzip : default
    7. python3 : sudo apt-get install -y python3 (it may be installed 3.10.6 version by default)
    8. pip/pip3 : sudo apt-get install -y python3-pip
    9. luarocks : sudo apt-get install -y luarocks
    10. npm : sudo apt-get install -y nodejs npm (v12.22.9 TLS)
  2. nvim-treesitter.nvim
    1. tree-sitter
    2. node : sudo apt-get install -y nodejs
    3. git
    4. gcc : sudo apt-get install -y build-essential
  3. provider
    1. python3 provider :
      • install python-venv : sudo apt-get install -y python3-venv
      • activate venv : source ~/.config/.Nvim_venv/bin/activate
      • install neovim : pip install neovim in venv (pynvim is installed automatically)
      • If you want to execute nvim in python virtualenv, run nvim after activate venv
    2. nodejs provider :
      • apt install old v12.22.9 and neovim package requires >= v14
        • use nvm instead of apt for newer version of nodejs
      • install nvm : curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
        • it will add $NVM_DIR in .zshrc
        • execute .zshrc : source ~/.zshrc
      • show which version can be used : nvm list-remote
      • show which version installed : nvm list
      • install nodejs & npm : nvm install v20.14.0 (npm v10.7.0 will be installed automatically)
      • install neovim from npm : npm install -g neovim ( confirm global installed packages with npm -g ls )

queries

1. Rainbow Delimiters for matlab

Delimiter file for matlab was written in nvim_config/query/rainbow-delimiters.nvim/matlab/ and it can be used in HiPhish/rainbow-delimiters.nvim To use, follow these step

  1. Add matlab query directory to nvim-data/lazy/rainbow-delimiters.nvim/queries

2. nvim-treesitter-endwise for matlab

I'm making endwise file for matlab in nvim_config/query/nvim-treesitter-endwise/matlab/ (In Proceeding)

3. Luasnip for matlab

I'm making snippet file for matlab in nvim_config/queries/friendly-snippets/matlab/ using friendly-snippets, These steps will operate automatically later, every update of github repository or I'll find other ways

  1. Add matlab query directory to nvim-data/lazy/friendly-snippets/snippets
  2. Add this code in nvim-data/lazy/friendly-snippets/package.json
{
    "language": ["matlab"],
    "path": "./snippets/matlab/matlab.json"
},

(In Proceeding)

About

Neovim configuration environment files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published