{"id":20570351,"url":"https://github.com/younghakim7/rust_dev_neovide_nvimsetting","last_synced_at":"2026-04-10T01:46:36.809Z","repository":{"id":221149398,"uuid":"753583581","full_name":"YoungHaKim7/rust_dev_neovide_nvimsetting","owner":"YoungHaKim7","description":"My YouTube Channel(Gy)","archived":false,"fork":false,"pushed_at":"2025-02-06T09:59:49.000Z","size":2013,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T10:35:50.303Z","etag":null,"topics":["fullstack","fullstack-development","lunarvim","lvim","neovim","nvim","rust","rustacean","vim"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/@GlobalYoung7","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YoungHaKim7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-06T12:12:38.000Z","updated_at":"2025-02-06T09:59:53.000Z","dependencies_parsed_at":"2024-02-25T12:27:31.201Z","dependency_job_id":"af71f082-5b04-4284-8946-ac9674f951a8","html_url":"https://github.com/YoungHaKim7/rust_dev_neovide_nvimsetting","commit_stats":null,"previous_names":["younghakim7/rust_dev_neovide_nvimsetting"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoungHaKim7%2Frust_dev_neovide_nvimsetting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoungHaKim7%2Frust_dev_neovide_nvimsetting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoungHaKim7%2Frust_dev_neovide_nvimsetting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoungHaKim7%2Frust_dev_neovide_nvimsetting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YoungHaKim7","download_url":"https://codeload.github.com/YoungHaKim7/rust_dev_neovide_nvimsetting/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242186705,"owners_count":20086210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fullstack","fullstack-development","lunarvim","lvim","neovim","nvim","rust","rustacean","vim"],"created_at":"2024-11-16T05:12:25.729Z","updated_at":"2026-04-10T01:46:36.797Z","avatar_url":"https://github.com/YoungHaKim7.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Link\n\n- [NeoVim완전 삭제 하기(잘못 설치했을때 완전히 neovim지우기)](#neovim완전-삭제-하기잘못-설치했을때-완전히-neovim지우기)\n- [요즘-쓰는-lspinlayhint-color-setting \u0026 clangd inlayhint 활성화하기on](#요즘-쓰는-lspinlayhint-color-setting)\n  - [clangd_extension-추가-기능cland_inlayhint-활성화link](#clangd_extension-추가-기능clangd_inlayhint-활성화)\n  - [Inlay-hints세팅(다른언어들까지 모두Java,Kotlin)](#inlay-hints세팅다른언어들까지-모두javakotlin)\n- [라인-fold-unfold-접기--닫기--전체-열기-전체-닫기link](#라인-fold-unfold-접기--닫기--전체-열기-전체-닫기)\n- [rustsnippet기본-위치](#rustsnippet기본-위치)\n- [rust-snippets-정리중](#rust-snippets-정리중)\n- [플러그인매니저Lazy로 교체(packer삭제함)lazy install설치 _업데이트는lazy sync](#lazy로-교체packer삭제함)\n- [hack-nerd-mono-font-설치](#hack-nerd-mono-font-설치)\n- [Tabby AI설치하기_Self-hosted AI coding assistant](#tabby-ai-설치)\n  - [copilot (disable)하는법](#copilot-disable하는법)\n  - [Copilot채팅창나오는 플러그인Copilot_Chat](https://github.com/CopilotC-Nvim/CopilotChat.nvim)\n- [네오빔-플러그인-정리neovim-plugins](#네오빔-플러그인-정리neovim-plugins)\n  - [GN⁺: Llama.vim – LLM을 이용한 VIM용 코드/텍스트 자동완성 플러그인](#gn-llamavim--llm을-이용한-vim용-코드텍스트-자동완성-플러그인-)\n  - [네오빔공식문서https://neovim.io/doc/user/lsp.html](https://neovim.io/doc/user/lsp.html)\n  - [(외부링크)Neovim v10 setup with InlayHints](https://medium.com/@vishakhpro2002/neovim-v10-setup-with-inlayhints-838a503b17dc)\n    - Rust로 만든 네오빔_플러그인 정리\n      - [NeoVim 러스트(Rust)로 만든거 모음(NeoVim PlugIns)](#-supercharge-your-rust-experience-in-neovim-a-heavily-modified-fork-of-rust-toolsnvim)\n- [내가 세팅한 키세팅keymap](#keymap)\n  - [lsp-keymapLSP 키세팅](#lsp-keymap)\n  - [telescope-keymap키세팅](#telescope-keymap)\n  - [symbol-outline-keymap키세팅](#symbol-outline-keymap)\n  - [HopChar KeyMap키세팅](#hopChar-keyMap)\n  - [Tabby Keybinding Accept키세팅](#tabby-keybinding-accept)\n- [나만의 테마로 변경하기_/lua/theme.lua](#theme테마-변경하기)\n- [틀린 글짜 자동으로 찾기 영문 오타 체크Eng.(spell-check)](#spell-check)\n- LSP Settings(언어별 자동완성나오게 하기)\n  - [Rust언어\u0026WASM, C/C++언어, Zig언어, Assembly언어_ LSP세팅 하기](#lsp-setting)\n- [내 LunarVim_Setting루나빔 Setting](#rust_dev_neovide_lunarvimsettingmy-setting_gy_version)\n- [해결해야할것_정리_해결한거랑-해결-못한거](#해결해야할것정리_해결한거랑-해결-못한거)\n  - [undo--swap-file-설정하기](#undo--swap-file-설정하기)\n- Deprecated 버젼업되면 해결해야함\n  - [deprecated-해결해야할것-ㅠㅠnvim0.11버젼에서 해결해야함](#deprecated-해결해야할것-ㅠㅠ)\n- [source-외국분-git에서-대부분-가져옴](#source-외국분-git에서-대부분-가져옴)\n- [다른 사람이 만든 멋진 neovim세팅](#다른-외국인의-멋진-neovim세팅)\n\n\u003chr\u003e\n\n- [(NvChad)WindowsOS neovim 설치는-이게-좋다](#windows-neovim-설치는-이게-좋다)\n  - [WindowsOS용 내 NvChad_NeoVim Settings](https://github.com/YoungHaKim7/nvim_gy_NvChad_version)\n\n\u003chr\u003e\n\n- [LunarVim세팅최종 lvim](#rust_dev_neovide_lunarvimsettingmy-setting_gy_version)\n\n\u003chr\u003e\n\n- [Neovide 이미지를 실행시키기 위한 FUSE](#neovide-이미지를-실행시키기-위한-fuse)\n  - [Neovide Setting(러스트로 만든거 겁나게 빠르다.)](#neovide-setting러스트로-만든거-겁나게-빠르다)\n- https://neovide.dev/configuration.html\n  - https://neovide.dev/\n\n\u003chr\u003e\n\n- [ArchLinux에서 잘 안되는거 모음_복사하기 같은거](#archlinux에서-잘-안되는거-모음)\n\n\u003chr /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"rust1\" width=60px src=\"https://user-images.githubusercontent.com/67513038/213436632-820a1675-98d9-4626-979d-be63c60cdcb7.png\" /\u003e\n  \u003cimg alt=\"ferris\" width=30px src=\"https://user-images.githubusercontent.com/67513038/213403213-1b1b3efc-ce53-4825-9dfc-e9bf2956a7f4.svg\" /\u003e\n  \u003cbr\u003e\u003cimg alt=\"nvim\" width=55px src=\"https://github.com/YoungHaKim7/Cpp_Training/assets/67513038/ce74ee64-b16b-47aa-8afd-84c36d69a6b8\" /\u003e\n  \u003cimg alt=\"vim\" width=35px src=\"https://user-images.githubusercontent.com/67513038/154793161-089985a0-db1d-457b-8dfd-26386af89158.png\" /\u003e\n\u003c/p\u003e\n\n\u003chr\u003e\n\n\u003chr\u003e\n\n# rust_dev_neovide_LunarVimSetting(My Setting)_GY_Version[|🔝|](#link)\n- 루나빔 세팅 최종(lvim)\n- https://github.com/YoungHaKim7/lvim_Rust_AI_Setting\n  - LunarVim 세팅 강의(완전 처음부터)002개고생하면서 배우는 Rust_Basic(LunarVim, Helix, VSCode Zellij)\n    - https://youtube.com/live/_dgi6vOnCO0?feature=share\n\n\n\u003chr\u003e\n\n# Neovide Setting(러스트로 만든거 겁나게 빠르다.)[|🔝|](#link)\n\n```lua\n-- Hack Nerd Font 세팅에 글씨 크기 25\n:set guifont=Hack\\ Nerd\\ Font:h25\n\n-- 커서 애니매이션 없애는거 0 간단하네 ㅋ. 꼴도 보기도 싫다.\nlet g:neovide_cursor_animation_length = 0\n\n-- scroll에 왜 애니매이션 넣는거야 느리게 ...\nlet g:neovide_scroll_animation_length = 0\n\n-- 타이핑 치면 마우스 알아서 숨겨줌 굿..\nvim.g.neovide_hide_mouse_when_typing = true\n\n-- 요즘 쓰는 색 241103(InlayHint색깔 세팅)\n:hi LspInlayHint guifg=#35638f guibg=#420517\n\n\n-- Remember Previous Window Size\n-- VimScript:\nlet g:neovide_remember_window_size = v:true\n```\n\n- nvim에서 lua세팅 or ./config/neovide/config.toml로 가능함\n  - https://neovide.dev/config-file.html\n\n```lua\n-- neovide GUI config\nvim.g.neovide_opacity = 0.98\nvim.g.neovide_remember_window_size = true\n-- vim.g.neovide_cursor_vfx_mode = \"railgun\"\nvim.g.neovide_cursor_vfx_mode = \"\"\nvim.opt.guifont = \"Hack Nerd Font Mono:22\"\n-- vim.g.neovide_cursor_animation_length = 0.9\n-- vim.g.neovide_cursor_tail_size = 0.1\n-- allow us to use the cmd key in neovide\nvim.g.neovide_input_use_logo= true\nvim.g.popui_border_style = \"double\"\n```\n\n- `nv . --size 2930x1300`\n  - 실행할때 창크기 지정됨 출처 : https://github.com/neovide/neovide/issues/1636\n  - 출처2 https://github.com/neovide/neovide/pull/1706\n\n- 누르기 귀찮아서 애니매이션 false세팅 settings.lua에 넣어줌\n  - https://github.com/YoungHaKim7/rust_dev_neovide_nvimsetting/blob/main/nvim_nightly/lua/settings.lua#L1-L4\n\n```lua\n-- neovide setting\nvim.g.neovide_scroll_animation_length = 0\nvim.g.neovide_cursor_animation_length = 0\nvim.g.neovide_remember_window_size = true\nvim.o.guifont = \"Hack Nerd Font:h30\"\n```\n\n- `[\"/home/gy/.config/neovide\"]`\n```\nERROR [neovide::settings::config] Could not watch config file, chances are it just doesn't exist: No such file or directory (os error 2) about [\"/home/gy/.config/neovide\"]\n```\n\n# NeoVim완전 삭제 하기(잘못 설치했을때 완전히 neovim지우기)[|🔝|](#link)\n\n- https://docs.rockylinux.org/ko/books/nvchad/template_chadrc/\n\n```\n// 처음설치로 만들기 \u0026 세팅하다가 작살나면 캐쉬삭제 해주기\n\n// 백업\nmkdir ~/backup_nvim\ncp -r ~/.config/nvim ~/backup_nvim\ncp -r ~/.local/share/nvim ~/backup_nvim\ncp -r ~/.cache/nvim ~/backup_nvim\n\n// 캐쉬삭제\nrm -rf ~/.config/nvim\nrm -rf ~/.local/share/nvim\nrm -rf ~/.cache/nvim\n\n```\n\n# Dash는 맥용은 유료앱(1년 정기 구독으로 유료임 ㅠㅠ)[|🔝|](#link)\n- https://kapeli.com/dash\n\n# 무료는 DevDocs 웹용이 있음[|🔝|](#link)\n- https://devdocs.io/\n  - https://news.hada.io/topic?id=2228\n\n- Zeal is an offline documentation browser for software developers.\n  - https://zealdocs.org/\n    - https://news.hada.io/topic?id=9350\n\n\u003chr\u003e\n\n# Windows NeoVim 설치는 이게 좋다.[|🔝|](#link)\n- https://nvchad.com/\n\n\u003chr\u003e\n\n# RustSnippet기본 위치[|🔝|](#link)\n\n- https://github.com/hrsh7th/vim-vsnip\n\n- 내꺼 정리 https://github.com/YoungHaKim7/rust_vim_setting/tree/main/01_Vim_NeoVim_etc_Rust_settings/snippets_Lunar_NeoVim\n\n- ```:VsnipOpen```\n\n\n- global.json위치(~/.vsnip/global.json)\n- rust.json위치(~/.vsnip/rust.json)\n\n```\n~/.vsnip                                                                                          at 19:17:08\n❯ tree\n.\n├── global.json\n└── rust.json\n\n0 directories, 2 files\n\n```\n\n# Rust Snippets 정리중[|🔝|](#link)\n\n- ```Rust Snippets.json```여기에 정리 중\n  - https://github.com/YoungHaKim7/snippets_Lunar_NeoVim\n- https://github.com/YoungHaKim7/UltiSnips\n  - https://github.com/YoungHaKim7/rust_vim_setting/tree/main/01_Vim_NeoVim_etc_Rust_settings/snippets_Lunar_NeoVim\n- https://github.com/YoungHaKim7/rust-snippets_gyoung\n\n- Rust Code Snippets관련 자료(외국사람이 Rust Snippets 10년전 자료라 수정해서 써야함)\n  - Rust고수의 snippets정리\n    - https://github.com/hhatto/rust-snippets\n    - 포크함 Fork https://github.com/YoungHaKim7/rust-snippets\n  - https://github.com/CharaD7/neovide-config\n\n# 요즘 쓰는 LspInlayHint Color Setting[|🔝|](#link)\n\n- inlayhint 색깔 hex color (LunarVim Inlayhint Color Settings)\n\n```\n// 요즘 쓰는 색 240106\n:hi LspInlayHint guifg=#35638f guibg=#420517\n:hi Comment guifg=#35638f guibg=#420517\n\n// 배경은 어두운 빨간색 /  글씨는 약간 밝은 색\n:hi Comment guifg=#8aaecf guibg=#4e1a1a\n```\n\n\n# Clangd_extension 추가 기능\u0026Clangd_InlayHint 활성화[|🔝|](#link)\n\n\n- clangd inlayhintsetting로드 하면 글씨 전에 해줘야함. 자동으로 안되네 ㅠㅠ\n```\n:lua require(\"clangd_extensions.inlay_hints\").set_inlay_hints()\n```\n- neovim 0.10버젼 이상이여야 하나?\n- https://git.sr.ht/~p00f/clangd_extensions.nvim\n- https://github.com/p00f/clangd_extensions.nvim\n\n- ```:ClangdAST``` to view the ast with the current line as the range\n```\n:ClangdAST\n```\nhttps://github.com/p00f/clangd_extensions.nvim\n\n- ```:ClangdSymbolInfo``` with the cursor at the desired symbol.\n```\n:ClangdSymbolInfo\n```\n\n- ```:ClangdTypeHierarchy``` with the cursor over the desired type or a symbol of that type. ```gd``` with the cursor over a type in a window to go to its definition.\n```\n:ClangdTypeHierarchy\n```\n\n- ```:ClangdMemoryUsage```. Preamble can be large so it is collapsed by default, to expand it use ```:ClangdMemoryUsage expand_preamble```\n```\n:ClangdMemoryUsage\n\n:ClangdMemoryUsage expand_preamble\n```\n\n# Inlay-hints세팅(다른언어들까지 모두Java,Kotlin)[|🔝|](#link)\n- NeoVim공식 inlayhint세팅\n  - https://github.com/neovim/neovim/pull/23426\n  - 여기를 집중적으로 분석해야함\n    - https://github.com/lvimuser/lsp-inlayhints.nvim\n- https://github.com/MysticalDevil/inlay-hints.nvim\n\n- Reddit글\n  - https://www.reddit.com/r/neovim/comments/14yo0ih/i_need_help_with_the_configuration_of_inlay_hints/\n  - 힌트2\n    - https://stackoverflow.com/questions/78477233/not-able-to-configure-inlay-hints-for-neovim-v10\n  - 힌트3\n    - [New Native Neovim LSP Inlay Hints (Nightly Build) | Elijah Manor](https://youtu.be/DYaTzkw3zqQ?si=Xoc-FhBsHXLtE68k)\n\n  \n\u003chr\u003e\n\n# 라인 fold unfold 접기 / 닫기 / 전체 열기/ 전체 닫기[|🔝|](#link)\n\n- ```zR``` 접힌거 다 열기Open\n- ```zM``` 열린거 다 (접기)닫기Close\n- ```zo``` 지금 줄만 (접기)열기Open\n- ```zc``` 열린거_(닫기)Close\n\n\n- zf 명령어는 무엇일까? 기본적으로 z 명령어는 세가지가 있다. 만들기, 열기, 닫기\n\n- 일단 fold를 한 번 만들어 놓으면 zo, zc로 여닫을 수 있다.\n```\nzf    \"F-old 만들기 (만들면서 자동으로 닫는다)\nzo    \"O-pen fold (열기)\nzc    \"C-lose fold (닫기)\n```\n\nhttps://seulcode.tistory.com/488\n\n# Hack Nerd Mono Font 설치[|🔝|](#link)\n\n- https://github.com/ryanoasis/nerd-fonts\n\n# Tabby AI 설치[|🔝|](#link)\n\n- https://tabby.tabbyml.com/\n  - https://github.com/TabbyML/tabby\n\n- https://tabby.tabbyml.com/docs/extensions/installation/vim#-packernvim\n- AI Models\n  - https://tabby.tabbyml.com/docs/models/\n\n- Install(Nvidia Docker설치시 사전 설치 필요) https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html\n\n- [ ] lua packer 세팅 (test 예정)\n\n```lua\n    --- Tabby AI plugin\n    use {\n        \"TabbyML/vim-tabby\",\n        -- lazy = false,\n        requires = {\n        \"neovim/nvim-lspconfig\",\n        },\n        config = function()\n            vim.g.tabby_agent_start_command = {\"npx\", \"tabby-agent\", \"--stdio\"}\n            vim.g.tabby_inline_completion_trigger = \"auto\"\n        end,\n    },\n```\n\n- macOS\n  ```bash\n  tabby serve --device metal --model TabbyML/StarCoder-3B\n\n  /opt/homebrew/opt/tabby/bin/tabby serve --device metal --model StarCoder-3B\n  ```\n  - service on/off\n  ```bash\n  brew services start tabbyml/tabby/tabby\n\n  brew services stop tabbyml/tabby/tabby\n  ```\n\n- windows\n  ```bash\n  .\\tabby_x86_64-windows-msvc-cuda117.exe serve --model StarCoder-3B --device cuda\n  ```\n- https://tabby.tabbyml.com/docs/installation/windows/\n\n- LinuxOS(Ubuntu24.04)\n  - 1. apt install\n\n```\nsudo apt-get update\nsudo apt-get install libssl-dev\n\n# For Ubuntu / Debian\napt-get install protobuf-compiler libopenblas-dev\n\n# cuda 업데이트 3d(Nvidia기준)\nsudo apt install nvidia-cuda-toolkit\n\n```\n  - 2. git clone https://github.com/TabbyML/tabby/tree/v0.11.1\n\n```\ngit clone --recurse-submodules https://github.com/TabbyML/tabby\ncd tabby\n```\n\n\n- LinuxOS(Ubuntu24.04)\n- https://stackoverflow.com/questions/75118992/docker-error-response-from-daemon-could-not-select-device-driver-with-capab\n\n- 1. Configure the repository:\n```\ncurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey |sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \\\n\u0026\u0026 curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \\\n\u0026\u0026 sudo apt-get update\n```\n- 2. Install the NVIDIA Container Toolkit packages:\n```\nsudo apt-get install -y nvidia-container-toolkit\n```\n- 3.Configure the container runtime by using the nvidia-ctk command:\n```\nsudo nvidia-ctk runtime configure --runtime=docker\n```\n\n- 4. Restart the Docker daemon:\n```\nsudo systemctl restart docker\n```\n\n- tabby (Docker Install)\n```bash\nsudo docker run -it --gpus all -p 8080:8080 -v $HOME/.tabby:/data \\\n        tabbyml/tabby \\\n        serve --model TabbyML/StarCoder-3B --device cuda\n\n```\n\n- token setting\n```bash\n$ ~/.tabby-client\n❯ eza --icons -TL2\n .\n└──  agent\n   ├──  config.toml\n   └──  data.json\n\n```\n- config.toml\n```toml\n## Tabby agent configuration file\n\n## Online documentation: https://tabby.tabbyml.com/docs/extensions/configurations\n## You can uncomment and edit the values below to change the default settings.\n## Configurations in this file have lower priority than the IDE settings.\n\n## Server\n## You can set the server endpoint here and an optional authentication token if required.\n[server]\nendpoint = \"http://localhost:8080\" # http or https URL\ntoken = \"Input My token\" # if token is set, request header Authorization = \"Bearer $token\" will be added automatically\n\n## You can add custom request headers.\n# [server.requestHeaders]\n# Header1 = \"Value1\" # list your custom headers here\n# Header2 = \"Value2\" # values can be strings, numbers or booleans\n\n## Logs\n## You can set the log level here. The log file is located at ~/.tabby-client/agent/logs/.\n# [logs]\n# level = \"silent\" # \"silent\" or \"error\" or \"debug\"\n\n## Anonymous usage tracking\n## Tabby collects anonymous usage data and sends it to the Tabby team to help improve our products.\n## Your code, generated completions, or any sensitive information is never tracked or sent.\n## For more details on data collection, see https://tabby.tabbyml.com/docs/extensions/configurations#usage-collection\n## Your contribution is greatly appreciated. However, if you prefer not to participate, you can disable anonymous usage tracking here.\n# [anonymousUsageTracking]\n# disable = false # set to true to disable\n\n```\n\n- `http://localhost:8080/` 크롬이나 파이어폭스 브라우져에서 주소창에 치면 DashBoard나온다.\n\n# copilot (disable)하는법[|🔝|](#link)\n\n- NeoVim Default Key는 `C-i` 어떻게 변경하는지 못찾음 그냥 `C-i` 누르는 걸로..\n  - https://github.com/orgs/community/discussions/11611\n \n- **(Install)**Neovim, Linux/macOS:\n\n```bash\ngit clone https://github.com/github/copilot.vim.git \\\n  ~/.config/nvim/pack/github/start/copilot.vim\n```\n\n```lua\nvim.api.nvim_set_keymap('i', '\u003cC-b\u003e', 'copilot#Accept()', true)\n```\n\n\n- https://github.com/github/copilot.vim\n\n\n```\n:Copilot disable        Globally disable GitHub Copilot inline suggestions.\n\n                                                *:Copilot_enable*\n:Copilot enable         Re-enable GitHub Copilot after :Copilot disable.\n\n                                                *:Copilot_setup*\n:Copilot setup          Authenticate and enable GitHub Copilot.\n\n                                                *:Copilot_signout*\n:Copilot signout        Sign out of GitHub Copilot.\n\n                                                *:Copilot_status*\n:Copilot status         Check if GitHub Copilot is operational for the current\n                        buffer and report on any issues.\n\n                                                *:Copilot_panel*\n:Copilot panel          Open a window with up to 10 completions for the\n                        current buffer.  Use \u003cCR\u003e to accept a completion.\n                        Maps are also provided for [[ and ]] to jump from\n                        completion to completion.  This is the default command\n                        if :Copilot is called without an argument.\n\n                                                *:Copilot_version*\n:Copilot version        Show version information.\n\n                                                *:Copilot_feedback*\n:Copilot feedback       Open the website for providing GitHub Copilot\n                        feedback.  Be sure to include |:Copilot_version|\n                        output when reporting a bug.\n```\n\n\u003chr /\u003e\n\n# 네오빔 플러그인 정리(NeoVim Plugins[|🔝|](#link)\n- 무지게 색 괄호(Rainbow_Parentheses)\n  - https://github.com/HiPhish/rainbow-delimiters.nvim\n\n  ```bash\n  ~/.local/share/nvim/site/pack/packer/start\n\n  # 강제로 설치\n  git clone https://github.com/HiPhish/rainbow-delimiters.nvim\n  ```\n  - 뻗으면 테스트 예정\n  ```\n  require('rainbow-delimiters.setup').setup{}\n  ```\n\n- 무지개색 탭 좋네 ㅋ\n  - https://github.com/lukas-reineke/indent-blankline.nvim\n- (오류난거 리스트로 출력 굿)🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.\n  - https://github.com/folke/trouble.nvim\n- (ctag 같은거)A tree like view for symbols in Neovim using the Language Server Protocol. Supports all your favourite languages.\n  - https://github.com/simrat39/symbols-outline.nvim\n\n- (터미널창 공중에 띄우기 굿)A neovim lua plugin to help easily manage multiple terminal windows\n  - https://github.com/akinsho/toggleterm.nvim\n  ```\n  :ToggleTerm direction=float\n  ```\n\n- UnicodeTable 추가만 하면 그냥 끝(:UnicodeTable)\n  - https://github.com/chrisbra/unicode.vim\n  ```\n    -- :UnicodeTable    - Print Unicode Table in new window\n    \"chrisbra/unicode.vim\",\n  ```\n- symbols-outline 업데이트 안하는것 같아서 교체함(260208)\n  - https://github.com/hedyhli/outline.nvim\n\n- [Symbol-outline](https://github.com/simrat39/symbols-outline.nvim)\n  - 혹시 오류 나면 강제로 설치\n  ```bash\n  /.local/share/nvim/site/pack/packer/start\n\n  # 강제로 설치\n  git clone https://github.com/nvim-neotest/nvim-nio\n  ```\n\n- C언어 자동정렬\n  - https://clang.llvm.org/docs/ClangFormat.html\n    - https://vi.stackexchange.com/questions/43514/automatic-formatting-in-c-c-etc-while-typing-in-neovim\n\n```bash\nsudo apt update\n\napt search clang-format\n```\n- vim에서 사용법(설치후) command창에 입력하면 됨\n- `:%!clang-format`\n```\n:%!clang-format\n```\n\n# Theme테마 변경하기[|🔝|](#link)\n\n- ./lua/theme.lua\n\n```lua\n-- vim.cmd(\"colorscheme OceanicNext\")\n-- vim.cmd(\"colorscheme gruvbox\")\n-- vim.cmd(\"colorscheme dracura\")\n-- vim.cmd(\"colorscheme habamax\")\nvim.cmd(\"colorscheme tokyonight-night\")\n```\n\n- dracula https://github.com/Mofiqul/dracula.nvim\n- tokyonight https://github.com/folke/tokyonight.nvim\n- oceanic-next https://github.com/roflolilolmao/oceanic-next.nvim\n\n# Keymap[|🔝|](#link)\n\n- https://github.com/nvim-telescope/telescope.nvim\n\n```lua\nvim.g.mapleader = \" \"\n\n-- Disable Ctrl +Z\nnnoremap(\"\u003cC-z\u003e\", [[\u003cnop\u003e]])\n-- Quick Replace of Word\n-- nnoremap(\"S\", [[:%s//g\u003cLeft\u003e\u003cLeft\u003e]])\nnnoremap(\"\u003cleader\u003ernn\", [[:%s//gc\u003cLeft\u003e\u003cLeft\u003e\u003cLeft\u003e]])\n\nnnoremap(\",\u003cleader\u003e\", [[:set hlsearch!\u003cCR\u003e]])\n\n-- file search\nnnoremap(\"\u003cleader\u003eF\", \":Telescope find_files\u003cCR\u003e\")\n\n-- tagbar toggle\n-- nnoremap(\"\u003cleader\u003eov\", \":TagbarToggle\u003cCR\u003e\")\n\n-- SymbolOutline\nnnoremap(\"\u003cleader\u003eo\", \":Outline\u003cCR\u003e\")\nnnoremap(\"\u003cleader\u003eS\", \":Telescope lsp_document_symbols\u003cCR\u003e\")\n-- file search\nnnoremap(\"\u003cleader\u003eF\", \":Telescope find_files\u003cCR\u003e\")\n\nnnoremap([[\u003cleader\u003efb]], [[\u003ccmd\u003elua require('telescope.builtin').buffers()\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003efh]], [[\u003ccmd\u003elua require('telescope.builtin').help_tags()\u003ccr\u003e]])\n-- 글로벌 단어 검색 은근히 많이 쓴다. helix에서는 \"space + /\"\nnnoremap([[\u003cleader\u003e\u003cleader\u003ef]], [[\u003ccmd\u003elua require('telescope.builtin').live_grep()\u003ccr\u003e]])\n\n-- TroubleToggle\nnnoremap(\"\u003cleader\u003et\", \":Trouble\u003cCR\u003e\")\nnnoremap(\"\u003cleader\u003ee\", \":NvimTreeToggle\u003cCR\u003e\")\n\n-- buffer bn bn\nnnoremap(\"H\", \":bp\u003cCR\u003e\")\nnnoremap(\"L\", \":bn\u003cCR\u003e\")\n-- Disable Q\n-- nnoremap([[\u003csilent\u003e Q]], [[nop]])\n-- (vs, sp 이거 했을때)지금 창을 큰창으로 만들기 only\nnnoremap(\"\u003cleader\u003ebo\", \":on\u003cCR\u003e\")\n\n-- Better tabbing\nvnoremap(\"\u003c\", \"\u003cgv\")\nvnoremap(\"\u003e\", \"\u003egv\")\n-- Terminal(Toggleterm)\nnnoremap(\"\u003cC-t\u003et\", \":ToggleTerm direction=float\u003cCR\u003e\")\nnnoremap(\"\u003cC-t\u003etv\", \":ToggleTerm direction=vertical\u003cCR\u003e\")\n-- MoveLine Up \u0026 Down\nvnoremap(\"J\", \":m '\u003e+1\u003cCR\u003egv=gv\")\nvnoremap(\"K\", \":m '\u003c-2\u003cCR\u003egv=gv\")\n\n-- Map Ctrl-W to delete the previous word in insert mode.\ninoremap(\"\u003cC-w\u003e\", \"\u003cC-\\\\\u003e\u003cC-o\u003edB\")\ninoremap(\"jk\", \"\u003cesc\u003e\")\n\n-- Esc and Clear Highligh\nnnoremap(\"\u003cesc\u003e\", \":noh\u003creturn\u003e\u003cesc\u003e\")\n\n-- Yank Whole Line(:%y 전체복사  , 전체 지우기 :%d)\nnnoremap(\"Y\", \"y$\u003cCR\u003e\")\n\n-- Buffer\nnnoremap([[\u003cleader\u003ebt]],[[:tabnew\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003ebtt]],[[:terminal\u003ccr\u003e]])\nnnoremap([[,qt]],[[:tabonly\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003eq]],[[:tabclose\u003ccr\u003e]])\n\n-- Previous\nnnoremap([[bp]], [[:bprevious\u003cCR\u003e]])\n-- Next\nnnoremap([[bn]], [[:bnext\u003cCR\u003e]])\n-- List\nnnoremap([[bl]], [[:ls\u003cCR\u003e]])\n-- Delete\nnnoremap([[bd]], [[:bp \u003cBAR\u003e bd #\u003cCR\u003e]])\n\n-- Delete all buffers except Currenly Open\nnnoremap([[bq]],[[:w \u003cbar\u003e %bd \u003cbar\u003e e# \u003cbar\u003e bd# \u003cCR\u003e]])\n\n-- TAB in normal mode will move to text buffer\nnnoremap(\"\u003cTAB\u003e\", \":bnext\u003cCR\u003e\")\n-- SHIFT-TAB will go back\nnnoremap(\"\u003cS-TAB\u003e\", \":bprevious\u003cCR\u003e\")\n\n-- windows split\nnnoremap(\"vsp\", \":vsplit\u003cCR\u003e\")\nnnoremap(\"sp\", \":split\u003cCR\u003e\")\n\n\n\n-- Resize Panes with + - or with shift + -\nnnoremap(\"__\", \":resize -5\u003cCR\u003e\")\nnnoremap(\"++\", \":resize +5\u003cCR\u003e\")\nnnoremap(\"--\", \":vertical resize -5\u003cCR\u003e\")\nnnoremap(\"==\", \":vertical resize +5\u003cCR\u003e\")\n\n\n-- Crates\nnnoremap([[\u003cleader\u003ect]], [[:lua require('crates').toggle()\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003ecr]], [[:lua require('crates').reload()\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003ecv]], [[:lua require('crates').show_versions_popup()\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003ecf]], [[:lua require('crates').show_features_popup()\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003ecu]], [[:lua require('crates').update_crate()\u003ccr\u003e]])\nvnoremap([[\u003cleader\u003ecu]], [[:lua require('crates').update_crates()\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003eca]], [[:lua require('crates').update_all_crates()\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003ecU]], [[:lua require('crates').upgrade_crate()\u003ccr\u003e]])\nvnoremap([[\u003cleader\u003ecU]], [[:lua require('crates').upgrade_crates()\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003ecA]], [[:lua require('crates').upgrade_all_crates()\u003ccr\u003e]])\n\n\n-- cmp관련\n  mapping = {\n    [\"\u003cC-d\u003e\"] = cmp.mapping.scroll_docs(-4),\n    [\"\u003cC-u\u003e\"] = cmp.mapping.scroll_docs(4),\n    [\"\u003cC-Space\u003e\"] = cmp.mapping.complete(),\n    [\"\u003cC-e\u003e\"] = cmp.mapping.close(),\n    [\"\u003cCR\u003e\"] = cmp.mapping.confirm({ select = true }),\n    [\"\u003cC-y\u003e\"] = cmp.mapping.confirm({ select = true }),\n    [\"\u003cTab\u003e\"] = cmp.mapping(cmp.mapping.select_next_item(), { \"i\", \"s\" }),\n    [\"\u003cC-n\u003e\"] = cmp.mapping(cmp.mapping.select_next_item(), { \"i\", \"s\" }),\n    [\"\u003cS-Tab\u003e\"] = cmp.mapping(cmp.mapping.select_prev_item(), { \"i\", \"s\" }),\n    [\"\u003cC-p\u003e\"] = cmp.mapping(cmp.mapping.select_prev_item(), { \"i\", \"s\" }),\n  },\n  sources = {\n    { name = \"nvim_lsp\" },\n    { name = \"vsnip\" },\n    { name = \"buffer\" },\n    { name = 'path' },\n    { name = 'cmdline' }\n  },\n\n```\n\n# HopChar KeyMap[|🔝|](#link)\n- `gw` 는 helix키와 똑같음 ㅋ\n```\nnnoremap(\"\u003cbackspace\u003ef\", [[:HopChar1\u003cCR\u003e]])\nnnoremap(\"gw\", [[:HopChar2\u003cCR\u003e]])\nnnoremap(\"\u003cleader\u003eW\", [[:HopWord\u003cCR\u003e]])\n```\n\n\n# Telescope KeyMap[|🔝|](#link)\n\n```lua\n-- lvim\nlvim.keys.normal_mode[\"\u003cleader\u003e\u003cleader\u003e\"] = \":Telescope buffers\u003cCR\u003e\"\n\n\n-- nvim setting\n\nnnoremap([[\u003cleader\u003ef]], [[\u003ccmd\u003eTelescope current_buffer_fuzzy_find\u003cCR\u003e]])\nnnoremap([[\u003cleader\u003e\u003cleader\u003e]], [[\u003ccmd\u003elua require('telescope.builtin').buffers()\u003ccr\u003e]])\nnnoremap(\"\u003cleader\u003ep\", [[:lua require(\"utils/telescope-config\").project_files()\u003cCR\u003e]], true)\nnnoremap(\"\u003cleader\u003ea\", \":Telescope lsp_code_actions\u003cCR\u003e\", true)\nnnoremap(\"\u003cleader\u003em\", \":Telescope marks\u003cCR\u003e\", true)\nnnoremap(\"\u003cleader\u003ei\", \":Telescope lsp_implementations\u003cCR\u003e\", true)\nnnoremap([[\u003cleader\u003eeo]], [[\u003ccmd\u003elua require('telescope.builtin').oldfiles()\u003ccr\u003e]])\nnnoremap([[\u003cleader\u003eS]], [[:Telescope lsp_dynamic_workspace_symbols\u003cCR\u003e]], true)\nnnoremap([[\u003cleader\u003eu]], [[:Telescope lsp_references\u003cCR\u003e]], true)\nnnoremap([[\u003cleader\u003es]], [[:Telescope treesitter\u003cCR\u003e]], true)\n\n```\n\n# LSP keymap[|🔝|](#link)\n\n```lua\n\n\n# LSP\n-- Default LSP Keybindings\nnnoremap(\"ga\", \"\u003ccmd\u003elua vim.lsp.buf.code_action()\u003cCR\u003e\", true)\nnnoremap(\"gd\", \"\u003ccmd\u003elua vim.lsp.buf.definition()\u003cCR\u003e\", true)\nnnoremap(\"gD\", \"\u003ccmd\u003elua vim.lsp.buf.declaration()\u003cCR\u003e\", true)\nnnoremap(\"gr\", \"\u003ccmd\u003elua vim.lsp.buf.references()\u003cCR\u003e\", true)\nnnoremap(\"gi\", \"\u003ccmd\u003elua vim.lsp.buf.implementation()\u003cCR\u003e\", true)\nnnoremap(\"gh\", \"\u003ccmd\u003elua vim.lsp.buf.signature_help()\u003cCR\u003e\", true)\nnnoremap(\"gs\", \"\u003ccmd\u003elua vim.lsp.buf.workspace_symbol()\u003cCR\u003e\", true)\nnnoremap(\"go\", \"\u003ccmd\u003elua vim.lsp.buf.document_symbol()\u003cCR\u003e\", true)\nnnoremap(\"g[\", \"\u003ccmd\u003elua vim.lsp.diagnostic.goto_prev()\u003cCR\u003e\", true)\nnnoremap(\"g]\", \"\u003ccmd\u003elua vim.lsp.diagnostic.goto_next()\u003cCR\u003e\", true)\nnnoremap(\"\u003cleader\u003ern\", \"\u003ccmd\u003elua vim.lsp.buf.rename()\u003cCR\u003e\", true)\nnnoremap(\"\u003cleader\u003ewa\", \"\u003ccmd\u003elua vim.lsp.buf.add_workspace_folder()\u003cCR\u003e\", true)\nnnoremap(\"\u003cleader\u003ewr\", \"\u003ccmd\u003elua vim.lsp.buf.remove_workspace_folder()\u003cCR\u003e\", true)\nnnoremap(\"\u003cleader\u003ewl\", \"\u003ccmd\u003elua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))\u003cCR\u003e\", true)\n\n-- Quick Way to Trigger Code Action\nnnoremap(\",,\", \"\u003ccmd\u003elua vim.lsp.buf.code_action()\u003cCR\u003e\", true)\n-- Press Twice to Enter Vim Buffer of the Hover Definition\nnnoremap(\"K\", \"\u003ccmd\u003elua vim.lsp.buf.hover()\u003cCR\u003e\", true)\n-- Trigger Format\n\n```\n\n# Symbol-outline Keymap[|🔝|](#link)\n\n```lua\n# 모두 접기 W   / 모두 펴기 E\nkeymaps = { -- These keymaps can be a string or a table for multiple keys\n    close = {\"\u003cEsc\u003e\", \"q\"},\n    goto_location = \"\u003cCr\u003e\",\n    focus_location = \"o\",\n    hover_symbol = \"\u003cC-space\u003e\",\n    toggle_preview = \"K\",\n    rename_symbol = \"r\",\n    code_actions = \"a\",\n    fold = \"h\",\n    unfold = \"l\",\n    fold_all = \"W\",\n    unfold_all = \"E\",\n    fold_reset = \"R\",\n  },\n```\n\n# Tabby Keybinding Accept[|🔝|](#link)\n\n```lua\nvim.g.tabby_keybinding_accept = '\u003cC-b\u003e'\n```\n\n\n# Spell Check[|🔝|](#link)\n\n- spell check에 추가하기\n  - 경로명 (.config/nvim/spell/en.utf-8.add)\n```\n:spell {word}\n```\n\n- https://neovim.io/doc/user/spell.html\n\n- 영단어 txt파일로 제공함(txt \u0026 yml)\n  - https://github.com/dwyl/english-words\n\n\n- tree\n```bash\n❯ tree -L 2\n.\n├── config.toml\n├── init.lua\n├── lua\n│   ├── autocmd\n│   ├── autocmd.lua\n│   ├── globals.lua\n│   ├── keymaps\n│   ├── mappings.lua\n│   ├── packages.lua\n│   ├── plugins\n│   ├── settings.lua\n│   ├── theme.lua\n│   ├── utils\n│   └── vim_g.lua\n├── luarc.lua\n├── plugin\n│   └── packer_compiled.lua\n├── readme.md\n├── spell\n│   ├── en.utf-8.add\n│   └── en.utf-8.add.spl\n└── stylua.toml\n\n 7 directories, 15 files\n```\n\n# Lazy로 교체(packer삭제함)[|🔝|](#link)\n\n- 최종 lazy써야함(260223부터 이걸로 적용함)\n  - Lazy 로 교체함 Packer종료\n    - 💤 A modern plugin manager for Neovim\n      - https://github.com/folke/lazy.nvim\n  \n\n- packer삭제(update가 중지되고 관리가 안되서 삭제함260222)\n  - https://github.com/wbthomason/packer.nvim\n\n# LSP Setting[|🔝|](#link)\n- https://github.com/neovim/nvim-lspconfig\n- [Rust](https://www.rust-lang.org/)\n  - rust-analyzer https://rust-analyzer.github.io/\n    ```bash\n    # rustup\n    # rust-analyzer is available in rustup:\n\n    $ rustup component add rust-analyzer\n     ```\n- WASM support(Rust)\n  - install\n\n  ```bash\n\n  rustup target add wasm32-wasi\n  ```\n\n  ```\n  cargo build --target wasm32-wasi\n  wasmer run target/wasm32-wasi/debug/cve-rs.wasm\n  ```\n  https://wasmer.io/\n\n  https://github.com/Speykious/cve-rs\n\n\n  ```bash\n  curl https://get.wasmer.io -sSfL | sh\n  ```\n\n  - Run in CLI\n\n  ```bash\n  wasmer run cowsay \"Hello world\"\n  ```\n\n  ```\n  pdating bash profile /Users/g/.config/fish/config.fish\n  we've added the following to your /Users/g/.config/fish/config.fish\n  If you have a different profile please add the following:\n\n  - Wasmer\n  export WASMER_DIR=\"/Users/g/.wasmer\"\n  [ -s \"$WASMER_DIR/wasmer.sh\" ] \u0026\u0026 source \"$WASMER_DIR/wasmer.sh\"\n  check: wasmer 4.2.7 installed successfully ✓\n  wasmer will be available the next time you open the terminal.\n  If you want to have the commands available now please execute:\n\n  source /Users/g/.wasmer/wasmer.sh\n  ```\n    - FishShell세팅하기\n      - https://github.com/YoungHaKim7/rust_vim_setting/tree/main/10_FishShell\n\n- [C/C++](https://llvm.org/)\n  - clangd https://llvm.org/\n- [zig](https://ziglang.org/)\n  - zls https://github.com/zigtools/zls\n\n- assembly(asm-lsp)\n  - Vim \\_ Assembly Highlight Syntax\n```\n:set ft=nasm  \" assembly highlight syntax\n```\n  - NeoVim(asm-lsp)\n    - TSInstall로 Syntax Highlight적용(NeoVim)\n```\n:TSInstall asm\n```\n  - NeoVim에서 assembly LSP 설치하기\n    - https://www.reddit.com/r/neovim/s/XAuQM98VY6\n      - https://github.com/bergercookie/asm-lsp\n        - Using cargo\n          - Install using the cargo package manager, either from crates.io or from github:\n```\ncargo install asm-lsp\n# or to get the latest version from github\ncargo install --git https://github.com/bergercookie/asm-lsp\n```\n\n- python LSP 설치\n  - https://pypi.org/project/python-lsp-server/\n  ```bash\n  sudo apt-get install python3-pylsp\n  ```\n\n  - macOS\n  ```bash\n  brew install python-lsp-server\n  ```\n\n  - Python Lint\n    - https://github.com/astral-sh/ruff\n    - https://docs.astral.sh/ruff/installation/\n\n    - macOS\n  ```\n  brew install ruff\n  ```\n  - Rust로 만든 LSP Server(pylyzer)\n    - https://github.com/mtshiba/pylyzer\n\n- Helix\u0026NeoVim Java LSP세팅\n\n# Helix( Java LSP Install ) jdtls설치하기 그냥 github 땡기고 install하면 설치 된다. 최고..[|🔝|](#link)\n\nhttps://github.com/eruizc-dev/jdtls-launcher\n\n```\ngit clone https://github.com/eruizc-dev/jdtls-launcher.git\nCloning into 'jdtls-launcher'...\nremote: Enumerating objects: 241, done.\nremote: Counting objects: 100% (85/85), done.\nremote: Compressing objects: 100% (52/52), done.\nremote: Total 241 (delta 43), reused 50 (delta 28), pack-reused 156\nReceiving objects: 100% (241/241), 48.74 KiB | 9.75 MiB/s, done.\nResolving deltas: 100% (125/125), done.\n\n\n$ cd jdtls-launcher\n\n\n$ ls\nCONTRIBUTING.md  install.sh  jdtls-launcher.sh  LICENSE  README.md\n\n\n$ ./install.sh\nINFO: Downloading JDTLS-LAUNCHER\n-#O=#   #     #\nINFO: Extracting JDTLS-LAUNCHER\nINFO: Creating symlink at /home/gy/.local/bin/jdtls\nInstalling jdtls...\njdt-language-server-1.28.0-202309221544 is going to be installed\n########################################################################################################################### 100.0%########################################################################################################################### 100.0%\nInstalling lombok...\n########################################################################################################################### 100.0%\nLombok installation succesfull\nJDTLS installation succesfull\nINFO: Installation successful\nINFO: Ensure /home/gy/.local/bin is in path\n```\n\n- (자바Java LSP세팅)Configure Neovim for Java Development | Andrew Courter\n  - https://youtu.be/C7juSZsM2Fg?si=qxInD8VLDjxSSk7K\n\n\n- (지그로 만들거 좋다.)Language server for GLSL (autocomplete, goto-definition, formatter, and more)\n  - https://github.com/nolanderc/glsl_analyzer\n\n- Installation\n  - We provide precompiled binaries for Linux, MacOS and Windows on the Releases page. Make sure to copy it somewhere under your PATH environment variable (e.g. ~/.local/bin on Linux).\n  - Building from Source\n\n```\nzig build install -Doptimize=ReleaseSafe --prefix ~/.local/\n```\n\nTested using zig 0.13.0.\n\n- Usage\n\n- By default glsl_analyzer communicates over stdin/stdout:\n\n```\nglsl_analyzer\n```\n\n- However, you can configure it to use a specific port (TCP) using the following command:\n\n```\nglsl_analyzer --port \u003cPORT\u003e\n```\n\n- Neovim\n\n- nvim-lspconfig comes with support for glsl_analyzer. Simply add the following to your lua config:\n\n```lua\nrequire'lspconfig'.glsl_analyzer.setup{}\n```\n\n- Visual Studio Code\n  - Install the glsl-analyzer extension from the marketplace. It will automatically download the latest precompiled binary for your platform.\n\n\u003chr /\u003e\n\n# 해결해야할것정리_해결한거랑 해결 못한거[|🔝|](#link)\n- [x] (해결)truble.nvim오류 메세지 해결 못함\n  - https://github.com/folke/trouble.nvim\n- [ ] font 크기 해결 못함(neovide에서 안됨 버그인가??)neovim에서는 완벽히 잘 돌아감\n  - https://neovide.dev/configuration.html\n- [x] LSP goto 해결함 (초간단ㅋ)\n  - https://github.com/neovim/neovim/issues/16062\n```\n:lua vim.diagnostic.goto_next() or :lua vim.diagnostic.goto_prev()\n```\n\n- [x] rainbow 나왔다가 안 나왔다가 ㅠㅠ  해결 된듯.\n\n```\n:lua require('rainbow-delimiters.setup').setup()\n```\n```lua\nrequire(\"plugins/rainbow-delimiters\")\nrequire('rainbow-delimiters.setup').setup()\n```\n\n```lua\nrequire('rainbow-delimiters.setup').setup ()\n-- This module contains a number of default definitions\nlocal rainbow_delimiters = require 'rainbow-delimiters'\n\n---@type rainbow_delimiters.config\nvim.g.rainbow_delimiters = {\n    strategy = {\n        [''] = rainbow_delimiters.strategy['global'],\n        vim = rainbow_delimiters.strategy['local'],\n    },\n    query = {\n        [''] = 'rainbow-delimiters',\n        lua = 'rainbow-blocks',\n    },\n    priority = {\n        [''] = 110,\n        lua = 210,\n    },\n    highlight = {\n        'RainbowDelimiterRed',\n        'RainbowDelimiterYellow',\n        'RainbowDelimiterBlue',\n        'RainbowDelimiterOrange',\n        'RainbowDelimiterGreen',\n        'RainbowDelimiterViolet',\n        'RainbowDelimiterCyan',\n    },\n}\n```\n\n# Undo \u0026 Swap file 설정하기[|🔝|](#link)\n- https://toddknutson.bio/posts/how-to-enable-neovim-undo-backup-and-swap-files-when-switching-linux-groups/\n\n- 이걸로 대충 해줌\n```lua\n-- Enable swap, backup, and persistant undo\nvim.opt.directory = SWAPDIR\nvim.opt.backupdir = BACKUPDIR\nvim.opt.undodir = UNDODIR\nvim.opt.swapfile = true\nvim.opt.backup = true\nvim.opt.undofile = true\n\n-- Append backup files with timestamp\nvim.api.nvim_create_autocmd(\"BufWritePre\", {\n\tcallback = function()\n\t\tlocal extension = \"~\" .. vim.fn.strftime(\"%Y-%m-%d-%H%M%S\")\n\t\tvim.o.backupext = extension\n\tend,\n})\n```\n\n\u003chr\u003e\n\n- Lua config for Neovim\n  - Capture the current USER and store in variable.\n  - Capture the current GROUP by running a system command id -ng\n\n```lua\nUSER = os.getenv(\"USER\")\nlocal curr_group = vim.fn.system(\"id -ng 2\u003e /dev/null | tr -d '\\n'\")\n```\n\n- Use the variables above to assign some dynamically generated directories, based on your current group\n\n```lua\nSWAPDIR = \"/home/\" .. curr_group .. \"/\" .. USER .. \"/nvim/swap//\"\nBACKUPDIR = \"/home/\" .. curr_group .. \"/\" .. USER .. \"/nvim/backup//\"\nUNDODIR = \"/home/\" .. curr_group .. \"/\" .. USER .. \"/nvim/undo//\"\n```\n\n- If the dirs do not exist, create them\n  - Update their permissions to 700\n\n```lua\nif vim.fn.isdirectory(SWAPDIR) == 0 then\n\tvim.fn.mkdir(SWAPDIR, \"p\", \"0o700\")\nend\n\nif vim.fn.isdirectory(BACKUPDIR) == 0 then\n\tvim.fn.mkdir(BACKUPDIR, \"p\", \"0o700\")\nend\n\nif vim.fn.isdirectory(UNDODIR) == 0 then\n\tvim.fn.mkdir(UNDODIR, \"p\", \"0o700\")\nend\n```\n\n# Deprecated 해결해야할것 ㅠㅠ[|🔝|](#link)\n- Nvim 0.11부터 해결해야할것\n- 단서1\n  - vim.lsp.util.parse_snippet is deprecated what should I do?\n    - https://www.reddit.com/r/neovim/comments/17je2j1/vimlsputilparse_snippet_is_deprecated_what_should/\n- 단서2\n  - https://github.com/hrsh7th/nvim-cmp/pull/1734\n```lua\n\nvim.lsp.util.parse_snippet() is deprecated. :help deprecated\nFeature will be removed in Nvim 0.11\nstack traceback:\n        ...ies/nvim-linux64/share/nvim/runtime/lua/vim/lsp/util.lua:624: in function 'parse_snippet'\n        /home/gy/.config/nvim/lua/plugins/cmp.lua:25: in function 'before'\n        ...site/pack/packer/start/lspkind-nvim/lua/lspkind/init.lua:190: in function 'format'\n        ...e/nvim/site/pack/packer/start/nvim-cmp/lua/cmp/entry.lua:295: in function 'callback'\n        .../site/pack/packer/start/nvim-cmp/lua/cmp/utils/cache.lua:38: in function 'get_vim_item'\n        ...e/nvim/site/pack/packer/start/nvim-cmp/lua/cmp/entry.lua:411: in function 'callback'\n        .../site/pack/packer/start/nvim-cmp/lua/cmp/utils/cache.lua:38: in function 'match'\n        .../nvim/site/pack/packer/start/nvim-cmp/lua/cmp/source.lua:116: in function 'get_entries'\n        ...re/nvim/site/pack/packer/start/nvim-cmp/lua/cmp/view.lua:75: in function 'open'\n        ...re/nvim/site/pack/packer/start/nvim-cmp/lua/cmp/core.lua:336: in function \u003c...re/nvim/site/pack/packer/start/nvim-cmp/lua/cmp/core.lua:309\u003e\n```\n- 오류가 더 늘어남\n```\ngitsigns: Ignoring invalid configuration field 'yadm'\n'signs.add.hl' is now deprecated, please define highlight 'GitSignsAdd' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsAdd', { link = 'GitSignsAdd' })\n'signs.add.linehl' is now deprecated, please define highlight 'GitSignsAddLn' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsAddLn', { link = 'GitSignsAddLn' })\n'signs.add.numhl' is now deprecated, please define highlight 'GitSignsAddNr' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsAddNr', { link = 'GitSignsAddNr' })\n'signs.change.hl' is now deprecated, please define highlight 'GitSignsChange' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsChange', { link = 'GitSignsChange' })\n'signs.change.linehl' is now deprecated, please define highlight 'GitSignsChangeLn' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsChangeLn', { link = 'GitSignsChangeLn' })\n'signs.change.numhl' is now deprecated, please define highlight 'GitSignsChangeNr' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsChangeNr', { link = 'GitSignsChangeNr' })\n'signs.changedelete.hl' is now deprecated, please define highlight 'GitSignsChangedelete' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsChangedelete', { link = 'GitSignsChange' })\n'signs.changedelete.linehl' is now deprecated, please define highlight 'GitSignsChangedeleteLn' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsChangedeleteLn', { link = 'GitSignsChangeLn' })\n'signs.changedelete.numhl' is now deprecated, please define highlight 'GitSignsChangedeleteNr' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsChangedeleteNr', { link = 'GitSignsChangeNr' })\n'signs.delete.hl' is now deprecated, please define highlight 'GitSignsDelete' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsDelete', { link = 'GitSignsDelete' })\n'signs.delete.linehl' is now deprecated, please define highlight 'GitSignsDeleteLn' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsDeleteLn', { link = 'GitSignsDeleteLn' })\n'signs.delete.numhl' is now deprecated, please define highlight 'GitSignsDeleteNr' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsDeleteNr', { link = 'GitSignsDeleteNr' })\n'signs.topdelete.hl' is now deprecated, please define highlight 'GitSignsTopdelete' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsTopdelete', { link = 'GitSignsDelete' })\n'signs.topdelete.linehl' is now deprecated, please define highlight 'GitSignsTopdeleteLn' e.g:\n  vim.api.nvim_set_hl(0, 'GitSignsTopdeleteLn', { link = 'GitSignsDeleteLn' })\n-- More --\n```\n\n# Source 외국분 git에서 대부분 가져옴[|🔝|](#link)\n\n- https://github.com/codeitlikemiley/neovide-rust-neovim\n  - 여기를 참조 많이 해야함(다 흡수 못함 ㅠㅠ)\n\n# 다른 외국인의 멋진 NeoVim세팅[|🔝|](#link)\n- https://github.com/dreamsofcode-io/DreamNvim\n  - 출처: https://youtu.be/ig_HLrssAYE?si=rwgmDQyHhVeGz71U\n- https://github.com/tobinjt/dotfiles\n\n- 한국 사람\n  - https://github.com/moong00n/neovim-starter\n\n\u003chr\u003e\n\n# Neovide 이미지를 실행시키기 위한 FUSE[|🔝|](#link)\n- https://github.com/AppImage/AppImageKit/wiki/FUSE\n\n\u003chr\u003e\n\n# **[GN⁺: Llama.vim – LLM을 이용한 VIM용 코드/텍스트 자동완성 플러그인 ](\u003chttps://news.hada.io/topic?id=18885\u0026utm_source=discord\u0026utm_medium=bot\u0026utm_campaign=1480\u003e)**[|🔝|](#link)\n- https://github.com/ggml-org/llama.vim\n- VIM내에서 로컬 LLM 기반의 텍스트 자동완성 기능을 제공   \n- `Insert` 모드에서 커서 이동 시 자동 제안  \n- `Ctrl+F`로 수동 제안 전환 가능  \n- `Tab`으로 제안 수락  \n- `Shift+Tab`으로 첫 번째 줄 제안 수락  \n- 최대 텍스트 생성 시간 설정 가능  \n- 커서 주변의 컨텍스트 범위 설정 가능  \n- 열린 파일...\n\n# ArchLinux에서 잘 안되는거 모음[|🔝|](#link)\n\n- 클립보드 복사/붙혀넣기 해결\n  - https://github.com/astrand/xclip\n    - https://bbs.archlinux.org/viewtopic.php?id=277961\n\n- https://www.reddit.com/r/neovim/comments/i65pwd/no_python3_provider_found_run_checkhealth_provider/\n  - https://bbs.archlinux.org/viewtopic.php?id=269645\n\n```\nsudo pacman -S python-neovim\n```\n\n\u003chr /\u003e\n\n# NeoVim 러스트로 만든거 모음(NeoVim PlugIns)[|🔝|](#link)\n\n# 🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim \n- https://github.com/mrcjkb/rustaceanvim\n\n\u003chr /\u003e\n\n# NeoVim 쓸만한거[|🔝|](#link)\n\n- NerdTree Alternative대체재\n  - https://www.reddit.com/r/neovim/s/dMDw5J9FR4\n\n# echasnovski/mini.nvim[|🔝|](#link)\n- Library of 40+ independent Lua modules improving overall Neovim (version 0.8 and higher) experience with minimal \n  - https://github.com/echasnovski/mini.nvim\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyounghakim7%2Frust_dev_neovide_nvimsetting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyounghakim7%2Frust_dev_neovide_nvimsetting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyounghakim7%2Frust_dev_neovide_nvimsetting/lists"}