React, Js, Ts 등의 속도를 높이기 위해 neovim을 설정하는 방법
24693 단어 typescriptlspjavascriptneovim
안녕하십니까
안녕하세요 렌나루입니다.
오늘 저는 React, Js, Ts 등의 속도를 높이는 것을 목표로 하는 네오빔 구성을 다시 작성했습니다.
재료
도구:
Neovim - 버전 >= 0.7이 필요하지만 야간 버전을 사용하겠습니다
Ripgrep - 빠른 검색 도구
네오빔 플러그인:
Packer.nvim - Neovim용 플러그인 관리자
catppuccin - 매우 멋진 테마
Lualine.nvim - Lua로 작성된 매우 빠르고 구성하기 쉬운 Neovim 상태 표시줄
LspKind - VSCode와 유사한 픽토그램
CMP - Lua로 코딩된 neovim용 완성 플러그인
Nvim-Lspconfig - Nvim LSP용 빠른 시작 구성
Mason.nvim - LSP 서버, DAP 서버, 린터 및 포맷터를 쉽게 설치하고 관리합니다.
LuaSnip - Lua로 작성된 Neovim용 스니펫 엔진
Nvim-Treesitter - Neovim용 Treesitter 구성 및 추상화 계층
Autopairs - 자동 페어링
Ts-Autotag - treesitter를 사용하여 html 태그를 자동으로 닫고 이름을 자동으로 바꿉니다
Telescope - 찾기, 필터링, 미리보기, 선택. 모든 루아, 항상.
Nvim-Web-Devicons - neovim용 vim-web-devicons의 Lua 포크
Bufferline - Neovim을 위한 세련된 버퍼라인
Lspsaga - 고성능 UI가 있는 neovim의 내장 lsp를 기반으로 하는 경량 lsp 플러그인
Null-Ls - Neovim을 언어 서버로 사용하여 Lua를 통해 LSP 진단, 코드 작업 등을 주입합니다
구조(설정 후)
📂 .config/nvim
├── 📂 after
│ └── 📂 plugin
│ ├── 🌑 auto.rc.lua
│ ├── 🌑 bufferline.rc.lua
│ ├── 🌑 catppuccin.rc.lua
│ ├── 🌑 cmp.rc.lua
│ ├── 🌑 lspkind.rc.lua
│ ├── 🌑 lualine.rc.lua
│ ├── 🌑 mason.rc.lua
│ ├── 🌑 telescope.rc.lua
│ └── 🌑 treesitter.rc.lua
├── 🌑 init.lua
├── 📂 lua
│ ├── 🌑 maps.lua
│ ├── 🌑 plugins.lua
│ └── 🌑 settings.lua
└── 📂 plugin
├── 🌑 lspconfig.rc.lua
├── 🌑 lspsaga.rc.lua
└── 🌑 null-ls.rc.lua
네오빔 설정
자, 이제 네오빔을 설정하자!
네오빔 설치
먼저, neovim을 설치해야 합니다. aur 도우미aur와 함께 paru에서 설치하겠습니다.
paru -S neovim-git
디렉토리 생성
다음과 같이 3개의 디렉토리를 생성해야 합니다.
mkdir after/plugin -p
mkdir plugin
mkdir lua
Neovim 기본 설정 및 키맵
먼저
./lua/settings.lua
를 생성하고 다음과 같이 만듭니다.vim.cmd("autocmd!")
local config = {
encoding = "utf-8",
fileencoding = "utf-8",
title = true,
autoindent = true,
smartindent = true,
expandtab = true,
hlsearch = true,
backup = false,
laststatus = 2,
cmdheight = 1,
showcmd = true,
scrolloff = 3,
shell = "zsh",
backupskip = { "/tmp/*", "/private/tmp/*" },
inccommand = "split",
ignorecase = true,
smarttab = true,
breakindent = true,
shiftwidth = 2,
tabstop = 2,
wrap = false,
backspace = { "start", "eol", "indent" },
cursorline = true,
termguicolors = true,
winblend = 0,
wildoptions = "pum",
pumblend = 5,
background = "dark",
swapfile = false
}
vim.scriptencoding = "utf-8"
vim.wo.number = true
vim.opt.path:append({ "**" })
vim.opt.wildignore:append({ "*/node_modules/*" })
vim.opt.formatoptions:append({ "r" })
vim.opt.clipboard:append({ "unnamedplus" })
vim.api.nvim_create_autocmd("InsertLeave", {
pattern = "*",
command = "set nopaste"
})
vim.cmd([[let &t_Cs = "\e[4:3m"]])
vim.cmd([[let &t_Ce = "\e[4:0m"]])
for i, v in pairs(config) do
vim.opt[i] = v
end
그런 다음
./lua/maps.lua
를 생성하고 다음과 같이 만듭니다.local keymap = vim.keymap
keymap.set('n', 'x', '"_x')
keymap.set('n', '+', '<C-a>')
keymap.set('n', '-', '<C-x>')
keymap.set('n', 'dw', 'vb"_d')
keymap.set('n', '<C-a>', 'gg<S-v>G')
keymap.set('n', 'te', ':tabedit<Return><C-w>w', { silent = true })
keymap.set("n", "tg", "gt")
keymap.set("n", "tG", "gT")
keymap.set('n', 'ss', ':split<Return><C-w>w', { silent = true })
keymap.set('n', 'sv', ':vsplit<Return><C-w>w', { silent = true })
keymap.set('n', '<Space>', '<C-w>w')
keymap.set('', 'sh', '<C-w>h')
keymap.set('', 'sk', '<C-w>k')
keymap.set('', 'sj', '<C-w>j')
keymap.set('', 'sl', '<C-w>l')
keymap.set('n', '<C-w><left>', '<C-w><')
keymap.set('n', '<C-w><right>', '<C-w>>')
keymap.set('n', '<C-w><up>', '<C-w>+')
keymap.set('n', '<C-w><down>', '<C-w>-')
원하는 경우 이 두 구성을 변경할 수 있습니다!
마지막으로 다음과 같이
./init.lua
에서 이 두 파일이 필요합니다.require("settings")
require("maps")
플러그인 관리자 설치:
아래 명령을 실행하여 Packer을 설치합니다.
Unix, Linux, Darwin
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
~/.local/share/nvim/site/pack/packer/start/packer.nvim
Windows
git clone https://github.com/wbthomason/packer.nvim "$env:LOCALAPPDATA\nvim-data\site\pack\packer\start\packer.nvim"
그런 다음
./lua/plugins.lua
를 다음과 같이 만듭니다.local success, packer = pcall(require, "packer")
if (not success) then
print("Packer not found!")
return
end
vim.cmd([[packadd packer.nvim]])
packer.startup(function(use)
use "wbthomason/packer.nvim"
use { "catppuccin/nvim", as = "catppuccin" }
use "hoob3rt/lualine.nvim"
use "onsails/lspkind-nvim"
use "hrsh7th/nvim-cmp"
use "hrsh7th/cmp-nvim-lsp"
use "hrsh7th/cmp-buffer"
use "neovim/nvim-lspconfig"
use 'williamboman/mason.nvim'
use 'williamboman/mason-lspconfig.nvim'
use "L3MON4D3/LuaSnip"
use { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }
use "windwp/nvim-autopairs"
use "windwp/nvim-ts-autotag"
use { "nvim-telescope/telescope.nvim", tag = "0.1.0", requires = { "nvim-lua/plenary.nvim" } }
use 'nvim-telescope/telescope-file-browser.nvim'
use "kyazdani42/nvim-web-devicons"
use "akinsho/bufferline.nvim"
use "glepnir/lspsaga.nvim"
use "jose-elias-alvarez/null-ls.nvim"
use "MunifTanjim/prettier.nvim"
use "MunifTanjim/eslint.nvim"
end)
그런 다음 다음과 같이
./init.lua
에서 요청합니다.require("plugins")
이제 neovim을 다시 시작하고 실행하십시오.
:PackerInstall
자체(packer.nvim)를 삭제하라는 메시지가 표시되더라도 걱정하지 마세요. 그냥
y
라고 말하세요.플러그인 설정
내 플러그인 구성의 경우 내 dotfiles 저장소에서 가져와야 합니다.
낫렌나루 / 도트파일
내 개인 도트 파일
도트파일
내 개인 도트 파일
재료
프로그램
이름
🎨 색 구성표
Nord & Catppuccin
🚀 창 관리자
Mutter
💾 런처
Ulauncher
🌍 웹 브라우저
Firefox
🖊️ 텍스트 편집기
Neovim
🐚 쉘
ZSH
⌨️ 터미널
Hyper
🎵 뮤직 플레이어
Spotify
특허
Dotfiles는 MIT LICENSE의 조건에 따라 사용할 수 있습니다.
View on GitHub
연결
홈페이지: Click Me
링크: Click Me
Reference
이 문제에 관하여(React, Js, Ts 등의 속도를 높이기 위해 neovim을 설정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rennarufuij/how-i-setup-neovim-for-speed-up-react-js-ts-etc-3d9b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)