Skip to content

yonghun16/vimrc-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

vimrc-boilerplate

1. Neovim(Nvchad)

Nvchad : https://nvchad.com

1) Install

๐ŸŸข Install

git clone https://github.com/NvChad/starter ~/.config/nvim && nvim
  • Run :MasonInstallAll command after lazy.nvim finishes downloading plugins.
  • Delete the .git folder from nvim folder.
  • Learn customization of ui & base46 from :h nvui.

๐ŸŸข Update

  • Run :Lazy sync

๐ŸŸข Uninstall

rm -rf ~/.config/nvim
rm -rf ~/.local/share/nvim
rm -rf ~/.local/state/nvim

2) init setting

๐Ÿ”ต Config file copy

git clone https://github.com/yonghun16/vimrc-boilerplate ~
cd ~/vimrc-boilerplate
cp -r nvim ~/.config

๐Ÿ”ต ~/.config/nvim/init.lua ์ˆ˜์ •

vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
vim.g.mapleader = ","   -- 1. <leader> ํ‚ค ์„ค์ •
  
-- bootstrap lazy and all plugins
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
  
if not vim.uv.fs_stat(lazypath) then
  local repo = "https://github.com/folke/lazy.nvim.git"
  vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
end
  
vim.opt.rtp:prepend(lazypath)
  
local lazy_config = require "configs.lazy"
  
-- load plugins
require("lazy").setup({
  {
    "NvChad/NvChad",
    lazy = false,
    branch = "v2.5",
    import = "nvchad.plugins",
  },
  { import = "plugins" },
  { import = "custom.plugins" },  --2. custom.plugins ๊ฒฝ๋กœ ์ถ”๊ฐ€
}, lazy_config)
  
-- load theme
dofile(vim.g.base46_cache .. "defaults")
dofile(vim.g.base46_cache .. "statusline")
  
require "custom.options"      -- 3. custom.options ๊ฒฝ๋กœ ์ˆ˜์ •
require "custom.autocmds"     -- 4. custom.autocmds ๊ฒฝ๋กœ ์ˆ˜์ •
require "custom.lspconfig"    -- 5. custom.lspconfig ๊ฒฝ๋กœ ์ˆ˜์ •
  
vim.schedule(function()
  require "custom.mappings"   -- 6. custom.mappings ๊ฒฝ๋กœ ์ˆ˜์ •
end)

๐Ÿ”ต Manual plugins setting

  • package (shell)
    brew install fd universal-ctags luarocks fzf ripgrep
    pip3 install debugpy
  • Mason language server (vim mode)
    MasonInstall stylua prettier tailwindcss-language-server typescript-language-server js-debug-adapter css-lsp html-lsp black pyright clang-format clangd google-java-format jdtls sqlls
  • Tree-sitter parser (vim mode)
    TSInstall javascript typescript html css python lua c cpp java json jsdoc pug

3) Input & Hangul setting

๐ŸŸก Karabiner

karabiner : https://karabiner-elements.pqrs.org/

  • preset file
    • karabiner-korean.json (์˜ค๋ฅธ์ชฝ ์ปค๋งจ๋“œ ํ‚ค [ํ•œ/์˜] ๋ฒ„ํŠผ, ์˜ค๋ฅธ์ชฝ ์˜ต์…˜ ํ‚ค [ํ•œ์ž])
    • karabiner-vim.json
  • [Complex Modifications] โ†’ [Add your own rule]
  • [Devices] โ†’ ์™ธ์žฅํ‚ค๋ณด๋“œ ์‚ฌ์šฉ ์‹œ ์ถ”๊ฐ€

๐ŸŸก Gureum

Gureum : https://gureum.io/

  • Config
    • ๋กœ๋งˆ์ž๋กœ๋งŒ ๋ฐ”๊พธ๊ธฐ ๋‹จ์ถ•ํ‚ค : ^C (ESC ๋‹จ์ถ•ํ‚ค)
    • ์˜ค๋ฅธ์ชฝ ํ‚ค๋กœ ์–ธ์–ด ์ „ํ™˜ : Command (ํ•œ/์˜ ํ‚ค ๋Œ€์ฒด)
    • ํ•œ์ž ๋ฐ ์ด๋ชจ์ง€ ๋ฐ”๊พธ๊ธฐ : control + shift + spacebar
    • ํ•œ๊ธ€ ์ž…๋ ฅ๊ธฐ ์„ค์ • : ๋ชจ์•„์น˜๊ธฐ, MS์œˆ๋„ํ˜ธํ™˜, JDKํ˜ธํ™˜, vi๋ชจ๋“œ
  • Mac ์ž…๋ ฅ ์†Œ์Šค ์„ค์ •
    • [์„ค์ •] โ†’ [ํ‚ค๋ณด๋“œ] โ†’ [ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค] โ†’ [์ž…๋ ฅ์†Œ์Šค]
    • ์ด์ „ ์ž…๋ ฅ ์†Œ์Šค ์„ ํƒ : contrl + shift + spacebar
    • ์ž…๋ ฅ ๋ฉ”๋‰ด์—์„œ ๋‹ค์Œ ์†Œ์Šค ์„ ํƒ : ์ฒดํฌํ•ด์ œ
  • Detail : gureum_setting.png, keyboard_inputsource_setting.png

2. Other App Settings (for nvim)

1) iTerm2

iterm2 : https://iterm2.com/

  • json config file : iterm2-vim.json
    • [setting] โ†’ [Profiles] โ†’ [Others Actions] โ†’ [Import JSON Profiles]
  • Shell Integration
    $ curl -L https://iterm2.com/shell_integration/install_shell_integration.sh | bash
  • Oh-my-zhs
    $ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    • zsh-autosuggestions
      $ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
      • ~/.zshrc ์— ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€.
        plugins=( 
            # other plugins...
            zsh-autosuggestions
        )
    • Syntax Highlighter
      $ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
      • ~/.zshrc ์— ์•„๋ž˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€.
        plugins=( 
            # other plugins...
            zsh-autosuggestions
        )
  • Neofetch
    $ brew install neofetch

2) Wrap

wrap : https://www.warp.dev/

  • theme : base16_solarized_dark.yaml
    • mkdir -p $HOME/.warp
      cd $HOME/.warp/
      git clone https://github.com/warpdotdev/themes.git
      cp ~/vimrc-boilerplate/vimbase16_solarized_dark.yaml ~/.warp/themes/base16
  • Ctrl+Tab behavior : [settings] โ†’ [settings] โ†’ Ctrl+Tab behavior = circle most recent session
  • Apperance : wrap_apperance.png
    • input type : classic

3) Neovide

Neovide : https://neovide.dev/

  • install
brew install neovide

4) tmux

tmux : https://github.com/tmux/tmux/wiki

  • install
brew install tmux
  • setting : .tmux.conf
    • cp .tmux.conf ~/.tmux.conf
  • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ๋’ค tmux ์•ˆ์—์„œ:
    • tmux source-file ~/.tmux.conf

5) Cursor

Cursor : https://www.cursor.com/

  • Vim Mode ์„ค์ • : ํ™•์žฅ โ†’ Vim emulation install
  • Vimscript file : (Commend ,) โ†’ (vim search) โ†’ Vim>vimrc:Path โ†’ cursor-vimkeymap.vim ์ ์šฉ
  • Key binding file : cp cursor-keybindings.json ~/Library/Application\ Support/Cursor/User/keybindings.json
  • settings : (Commend ,) โ†’ ์„ค์ •์—ด๊ธฐ(JSON) โ†’ ์—ฌ๊ธฐ์— cursor-seetings.json ๋‚ด์šฉ ์ถ”๊ฐ€

3. Plugins info

๋””๋ฒ„๊ฑฐ ํ”Œ๋Ÿฌ๊ทธ์ธ

  • nvim-dap (Debug Adapter Protocol)
  • js-debug-adapter (JS/TS Debuger)
  • debugpy (Pythion Debuger)

ํŽธ์ง‘ ๋ณด์กฐ ํ”Œ๋Ÿฌ๊ทธ์ธ

  • vim-windsurf (windsurf AI)
  • vim-visual-multi (๋ฉ€ํ‹ฐ ์ปค์„œ)
  • vim-illuminate (๋‹จ์–ด ํ•˜์ด๋ผ์ดํŒ…)
  • nvim-lastplace (์ปค์„œ ๋งˆ์ง€๋ง‰ ์œ„์น˜ ์ €์žฅ)

๋ฌธ๋ฒ• ํ”Œ๋Ÿฌ๊ทธ์ธ

  • conform.nvim (์ฝ”๋“œ ํฌ๋งทํŒ…)
  • vim-pug (pug๋ฌธ๋ฒ• ์‚ฌ์šฉ)
  • emmet-vim (emmet ๋ฌธ๋ฒ• ์‚ฌ์šฉ)

ํƒ์ƒ‰ / ์‚ฌ์ด๋“œ๋ฐ” ํ”Œ๋Ÿฌ๊ทธ์ธ

  • fzf-lua (fzf ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ ๋ณด๊ธฐ)
  • outline (์ฝ”๋“œ ์•„์›ƒ๋ผ์ธ ๋ณด๊ธฐ)
  • tagbar (์ฝ”๋“œ ํƒœ๊ทธ ๋ณด๊ธฐ)
  • JABS.nvim (๋ฒ„ํผ ๋ฆฌ์ŠคํŠธ ๋ณด๊ธฐ)
  • toggleterm.nvim (ํ”Œ๋กœํŒ… ํ„ฐ๋ฏธ๋„ ๋ณด๊ธฐ)
  • barbecue.nvim (์ƒ๋‹จ์— ํŒŒ์ผ ๋ฐ ์š”์†Œ ์ •๋ณด ํ‘œ์‹œ)

About

Neovim setting (using NvChad)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published