Neovim과 어둠의 힘을 얻으십시오.

13902 단어 neovimVim

경위



지금 사용하고 있는 vim 플러그인의 개발이 멈추었으므로 과연 이사하고 싶다(그리고 어둠 의 힘을 손에 넣고 싶다)
htps : // 기주 b. 코 m / 생강 / 고양이 mp ぇ테.ゔぃm
htps : // 기주 b. 코m/쇼고/네오분 dぇ.ゔぃm

하고 싶은 일


  • 너무 오래 걸리지 않고 최소한 사용할 수있는 상태에서 Neovim으로 이동
  • 잡한 상태에서도 Rails의 개발은 할 수 있도록 하고 싶다
  • 최소한, denite(파일러), deoplete(보완)는 사용하고 싶다

  • 환경


    $ sw_vers
    ProductName:    Mac OS X
    ProductVersion: 10.12.6
    BuildVersion:   16G29
    

    설정 방법



    .zshrc에 ↓ 추가
    $ export XDG_CONFIG_HOME="$HOME/.config"
    

    Neovim을 install


    $ brew install neovim
    

    python3을 install


    $ brew install python3
    $ pip3 install --upgrade neovim
    

    dein.nvim을 install


    $ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
    $ sh ./installer.sh {任意のディレクトリ}
    

    설정 추가


    ~/.config/nvim/init.vim 는 Neovim 버전의 .vimrc
    ~/.config/nvim/init.vim
    " reset augroup
    augroup MyAutoCmd
        autocmd!
    augroup END
    
    let $CACHE = empty($XDG_CACHE_HOME) ? expand('$HOME/.cache') : $XDG_CACHE_HOME
    let $CONFIG = empty($XDG_CONFIG_HOME) ? expand('$HOME/.config') : $XDG_CONFIG_HOME
    let $DATA = empty($XDG_DATA_HOME) ? expand('$HOME/.local/share') : $XDG_DATA_HOME
    
    " {{{ dein
    let s:dein_dir = expand('$DATA/dein')
    
    if &runtimepath !~# '/dein.vim'
        let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'
    
        " Auto Download
        if !isdirectory(s:dein_repo_dir)
            call system('git clone https://github.com/Shougo/dein.vim ' . shellescape(s:dein_repo_dir))
        endif
    
        execute 'set runtimepath^=' . s:dein_repo_dir
    endif
    
    
    " dein.vim settings
    
    if dein#load_state(s:dein_dir)
        call dein#begin(s:dein_dir)
    
        let s:toml_dir = expand('$CONFIG/dein')
    
        call dein#load_toml(s:toml_dir . '/plugins.toml', {'lazy': 0})
        call dein#load_toml(s:toml_dir . '/lazy.toml', {'lazy': 1})
    
        call dein#end()
        call dein#save_state()
    endif
    
    if has('vim_starting') && dein#check_install()
        call dein#install()
    endif
    " }}}
    nmap <silent> <C-e> :NERDTreeToggle<CR>
    
    " denite
    let g:denite_enable_start_insert=1
    let g:denite_source_history_yank_enable =1
    let g:denite_source_file_mru_limit = 200
    nnoremap <C-t> :<C-u>Denite buffer<CR>
    nnoremap <silent> ,ur :<C-u>Denite file_rec<CR>
    nnoremap <silent> ,um :<C-u>Denite file_mru <CR>
    nnoremap <silent> ,urc :<C-u>Denite file_rec:app/controllers/<CR><Space>
    nnoremap <silent> ,urm :<C-u>Denite file_rec:app/models/ <CR><Space>
    nnoremap <silent> ,urv :<C-u>Denite file_rec:app/views/ <CR><Space>
    nnoremap <silent> ,urs :<C-u>Denite file_rec:app/assets/stylesheets/ <CR>
    nnoremap <silent> ,urj :<C-u>Denite file_rec:app/assets/javascripts/ <CR>
    

    ~/.config/dein/plugins.toml
    [[plugins]]
    repo = 'Shougo/dein.vim'
    
    [[plugins]]
    repo = 'w0ng/vim-hybrid'
    
    [[plugins]]
    repo = 'itchyny/lightline.vim'
    hook_add = '''
        let g:lightline = {'colorscheme': 'wombat'}
    '''
    [[plugins]]
    repo  = 'cespare/vim-toml'
    
    [[plugins]]
    repo = 'fatih/vim-go'
    
    [[plugins]]
    repo = 'scrooloose/nerdtree'
    
    [[plugins]]
    repo = 'Shougo/neosnippet-snippets'
    

    dotfiles/.config/dein/lazy.toml
    [[plugins]]
    repo = 'Shougo/denite.nvim'
    on_cmd = 'Denite'
    on_i = 1
    hook_source = '''
      call denite#custom#map('insert', '<c-n>', '<denite:move_to_next_line>', 'noremap')
      call denite#custom#map('insert', '<c-p>', '<denite:move_to_previous_line>', 'noremap')
    '''
    
    [[plugins]] # Plugin to easily access Most Recently Used (MRU) files
    repo = 'Shougo/neomru.vim'
    on_source = 'denite.nvim'
    on_path = '.*'
    
    [[plugins]] # Yank
    repo = 'Shougo/neoyank.vim'
    on_source = 'denite.nvim'
    on_event = 'TextYankPost'
    
    [[plugins]]
    repo = 'Shougo/deoplete.nvim'
    hook_source = '''
      let g:deoplete#enable_at_startup = 1
      inoremap <expr><tab> pumvisible() ? "\<C-n>" :
            \ neosnippet#expandable_or_jumpable() ?
            \    "\<Plug>(neosnippet_expand_or_jump)" : "\<tab>"
    '''
    on_i = 1
    
    [[plugins]]
    repo = 'Shougo/neosnippet'
    hook_source = '''
      imap <C-k> <Plug>(neosnippet_expand_or_jump)
      smap <C-k> <Plug>(neosnippet_expand_or_jump)
      xmap <C-k> <Plug>(neosnippet_expand_target)
      if has('conceal')
        set conceallevel=2 concealcursor=niv
      endif
    '''
    on_i  = 1
    on_ft = ['snippet']
    depends = ['neosnippet-snippets']
    

    참고 URL



    htps : // 기주 b. 코 m / 쇼고 / 데이.ゔぃm
    h tps:// 퀵했다. 작은 m / 길이 / MS / 809d53 그림 CD37C438 이야기 c9 그림

    결론



    우선 움직이는 상태까지 가지고 가고 싶었기 때문에 쓰는 방법이나 이상한 경우는 몰래 가르쳐 주면 도움이 됩니다
    연말에 개발 환경을 더욱 개선하고 싶습니다.

    좋은 웹페이지 즐겨찾기