VSCode와 같은 Neovim 설정
10610 단어 programmingvimjavascriptopensource
나만의 설정
우리 중 많은 사람들이 일상적인 개발 작업에 vscode를 사용하며 그 기능에 익숙합니다. 그러나 우리 중 일부에게는 vscode가 리소스 사용량이 많고 약간 지연되는 것 같습니다. 그래서 vim 편집기로 전환했지만 개발 작업을 시작했을 때 자동 제안, 완성, 다른 파일로 점프 등과 같은 많은 vscode 기능이 누락되었고 하늘에서 온 것을 우연히 발견했습니다.
vim(neovim)에서도 이 작업을 수행할 수 있습니다. 이를 위해 사용할 수 있는 vim 플러그인이 많이 있으며 neovim 0.5도 lua 언어에 필요한 구성이 거의 없이 즉시 이를 지원합니다.
우리에게 필요한 것
플러그인 관리자: vim-plug
설정에서 사용할 플러그인 관리자는
vim-plug
이며 찾을 수 있습니다 here . 이 플러그인 관리자가 하는 일은 사용자에게 필요한 빌드 없이 vim 커뮤니티가 만든 다양한 유틸리티와 플러그인을 설치하는 것입니다. 플러그인 이름을 vim 구성에 추가하면 해당 플러그인이 설치됩니다.이제 vim 플러그를 설치해봅시다. 네오빔 사용자로서 다음을 실행하십시오.
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
이렇게 하면 시스템에 vim 플러그 관리자가 설치됩니다. 이제 neovim을 사용하고 있으므로 UNIX 기반 시스템의 경우
nvim
인 구성 폴더에 ~/.config
디렉토리를 만든 다음 init.vim
라는 파일을 만듭니다.최종 구조는 다음과 같습니다.
~/.config/nvim/init.vim
이제
init.vim
파일을 열고 다음 줄을 추가합니다.call plug#begin('~/.vim/plugged')
" leave some space in between
call plug#end()
" we will add keybinds below this comment.
이 라인은 무엇을 합니까? 이 줄은 neovim 편집기를 열 때마다 설치된 플러그인을 활성화하는 기능을 호출합니다. 여기서 우리는 유스케이스를 위한 플러그인을 추가할 것입니다.
플러그인
이전 vscode 사용자로서 경험을 개선하기 위해 많은 vim 플러그인을 사용하고 솔직히 말해서 많은 플러그인을 사용해도 괜찮습니다.
너드트리
nerdtree
을 사용할 수 있습니다. 다음을 추가하여 플러그인을 설치할 수 있습니다.
Plug 'preservim/nerdtree'
그러면 왼쪽에 디렉토리 관리 패널이 나타납니다.
이제 nerdtree에 대한 구성 및 키 바인딩을 아래에 추가하십시오.
"Changing default NERDTree arrows
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
nnoremap <C-t> :NERDTreeToggle<CR>
위 줄은 nerdtree에서 디렉토리를 변경할 때 화살표 유형을 변경하고 nnoremap 키바인드가 nerdtree를 열도록 바인딩합니다
Ctrl + t
.nerdtree 패널에 있는 동안
m
를 눌러 디렉토리에 대한 작업을 볼 수도 있습니다.코드 완성
Plug 'neoclide/coc.nvim', {'branch': 'release'}
위 섹션에서 추가한 두 플러그 라인 사이에 이것을 추가하십시오.
그런 다음 coc 작업을 위해 다음 키 바인딩을 추가합니다.
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gr <Plug>(coc-references)
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
nnoremap <silent> <space>d :<C-u>CocList diagnostics<cr>
nmap <leader>do <Plug>(coc-codeaction)
nmap <leader>rn <Plug>(coc-rename)
그런 다음 coc용 언어 팩을 추가하려면
let g:coc_global_extensions = [
\ 'coc-tsserver',
\ 'coc-json',
\ 'coc-css',
\ 'coc-eslint',
\ 'coc-prettier'
\ ]
제가 사용하는 언어팩입니다. 이동here하고 다른 언어 팩도 찾을 수 있습니다.
이제
init.vim
를 만든 동일한 디렉토리에서 coc-settings.json
로 다른 파일을 만듭니다. 그런 다음 다음을 추가하십시오.{
"eslint.autoFixOnSave": true,
"eslint.filetypes": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
"coc.preferences.formatOnSaveFiletypes": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
"tsserver.formatOnType": true,
"coc.preferences.formatOnType": true
}
이 설정은 내가 사용하는 언어 팩에만 해당되므로 추가 패키지가 있는 동일한 팩을 사용하는 경우 이러한 구성을 가질 수 있습니다. 그렇지 않으면 vim을 열 때 문제가 발생하거나 오류가 발생할 수 있습니다.
색 구성표
색 구성표는 파란색 테마인 spaceduck 을 사용합니다. 이것을 설치하려면
Plug pineapplegiant/spaceduck', { 'branch': 'main' }
를 추가하십시오.그런 다음 플러그 기능 아래에 다음 줄을 추가하십시오.
if exists('+termguicolors')
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors
endif
colorscheme spaceduck
자세한 내용은 여기를 참조하십시오.
dotfiles .
읽어주셔서 감사합니다. 도움이 필요하시면 알려주세요!
Reference
이 문제에 관하여(VSCode와 같은 Neovim 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rishitpandey/setting-up-neovim-like-vscode-j8h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)