VSCode와 같은 Neovim 설정

나만의 설정



우리 중 많은 사람들이 일상적인 개발 작업에 vscode를 사용하며 그 기능에 익숙합니다. 그러나 우리 중 일부에게는 vscode가 리소스 사용량이 많고 약간 지연되는 것 같습니다. 그래서 vim 편집기로 전환했지만 개발 작업을 시작했을 때 자동 제안, 완성, 다른 파일로 점프 등과 같은 많은 vscode 기능이 누락되었고 하늘에서 온 것을 우연히 발견했습니다.

vim(neovim)에서도 이 작업을 수행할 수 있습니다. 이를 위해 사용할 수 있는 vim 플러그인이 많이 있으며 neovim 0.5도 lua 언어에 필요한 구성이 거의 없이 즉시 이를 지원합니다.

우리에게 필요한 것


  • vim 편집기용 플러그인을 설치하려면 플러그인 관리자가 필요합니다
  • .
  • 또한 설정을 위해 vim 편집기 대신 neovim이 필요합니다.
  • 그리고 시스템에 nodejs와 npm이 설치되어 있어야 합니다.

  • 플러그인 관리자: 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 플러그인을 사용하고 솔직히 말해서 많은 플러그인을 사용해도 괜찮습니다.

    너드트리


  • 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를 눌러 디렉토리에 대한 작업을 볼 수도 있습니다.

    코드 완성


  • 코드 완성을 위해 coc vim 완성 플러그를 사용합니다. 이를 위해 제안 및 코드 완성을 얻을 수 있는 언어 팩을 가져오려면 nodejs 및 npm이 설치되어 있어야 합니다.

  • 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 .

    읽어주셔서 감사합니다. 도움이 필요하시면 알려주세요!

    좋은 웹페이지 즐겨찾기