1. Neovim을 설치한다.

2. Nvim의 fisa-dev를 설정한다.

    http://nvim.fisadev.com/

 

Fisa-nvim-config by fisadev

This is my personal NeoVim configuration, built according to my personal preferences, without any justification to think it's the best possible vim configuration. If you like it, great! :) It's mainly oriented to python software development, but many of it

nvim.fisadev.com

3. coc-nvim (intellisense plugin)을 설치한다.

    가. Node.js설치       

curl -sL install-node.now.sh/lts | sudo bash

    나.  Yarn 설치

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn

   다. VIM Plugin설치    

curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

   라. ~/.config/nvim/init.vim에 아래 내용 추가

call plug#begin('~/.config/nvim/plugged')
" Use release branch
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Or latest tag
Plug 'neoclide/coc.nvim', {'tag': '*', 'branch': 'release'}
" Or build from source code by use yarn: https://yarnpkg.com
Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}
call plug#end()

 

   마. nvim실행후 coc 모듈 설치

        :CocInstall coc-json

        :CocInstall coc-python

        :CocInstall coc-pypl

   바.  ./config/nvim/coc-settings.json 파일에 Python language server설정 추가

{
  "languageserver": {
      "golang": {
            "command": "gopls",
            "rootPatterns": ["go.mod", ".vim/", ".git/", ".hg/"],
            "filetypes": ["go"]
          },
      "ccls": {
            "command": "ccls",
            "filetypes": ["c", "cpp", "objc", "objcpp"],
            "rootPatterns": [".ccls", "compile_commands.json", ".vim/", ".git/", ".hg/"],
            "initializationOptions": {
                     "cache": {
                                "directory": "/tmp/ccls"
                              }
                   }
           },
      "python": {
         "command": "python",
         "args": [
              "-mpyls",
              "-vv",
              "--log-file",
              "/tmp/lsp_python.log"
            ],
         "trace.server": "verbose",
         "filetypes": [
              "python"
            ],
         "settings": {
              "pyls": {
                     "enable": true,
                     "trace": {
                              "server": "verbose"
                            },
                     "commandPath": "",
                     "configurationSources": [
                              "pycodestyle"
                            ],
                     "plugins": {
                              "jedi_completion": {
                                         "enabled": true
                                       },
                              "jedi_hover": {
                                         "enabled": true
                                       },
                              "jedi_references": {
                                         "enabled": true
                                       },
                              "jedi_signature_help": {
                                         "enabled": true
                                       },
                              "jedi_symbols": {
                                         "enabled": true,
                                         "all_scopes": true
                                       },
                              "mccabe": {
                                         "enabled": true,
                                         "threshold": 15
                                       },
                              "preload": {
                                         "enabled": true
                                       },
                              "pycodestyle": {
                                         "enabled": true
                                       },
                              "pydocstyle": {
                                         "enabled": false,
                                         "match": "(?!test_).*\\.py",
                                         "matchDir": "[^\\.].*"
                                       },
                              "pyflakes": {
                                         "enabled": true
                                       },
                              "rope_completion": {
                                         "enabled": true
                                       },
                              "yapf": {
                                         "enabled": true
                                      }
                           }
                  }
           }
      }
    }
}

4. nvim default editor설정

sudo update-alternatives --install /usr/bin/vi vi /usr/bin/nvim 60
sudo update-alternatives --config vi 
sudo update-alternatives --install /usr/bin/vim vim /usr/bin/nvim 60 
sudo $ update-alternatives --config vim 
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/nvim 60
sudo update-alternatives --config editor

 

+ Recent posts