Neovim 소개 - 사고의 속도를 편집하라는 요청 -
개요
Neovim 설정 방법, 오류와의 싸움을 주로 기록하고 있습니다.
그리고 그냥 지금 분투 중입니다.
neovim에게 손을 내밀은 이유
* atom 너무 무거운
* 서적 「실천 Vim 사고의 스피드로 편집하자!」의 타이틀에 끌려,
* 우선은 고리 고리로 현대적인 환경을 정돈하는 곳부터 시작한다
우선 URL 붙일 때입니다.
실천 Vim 생각의 속도로 편집하자! (amazon)
도입 환경
2018/4/6 현재
2018/4/6 현재
현재 상태
설정 파일은 이쪽 htps : // 기주 b. 코 m / 켄지 타지마 / 네오 ぃ m
잘 된 일
dein.vim 도입
이곳은 어둠의 힘을 담은 플러그인을 관리하는 플러그인이 된다.
설치하려면 GitHub의 README를 참조하여 다음 단계를 수행합니다.
URL: Shougo/dein.vim
절차를 나타냅니다.
다음 명령은 터미널에서 실행됩니다.
$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
$ sh ./installer.sh {specify the installation directory}
주의 : 두 번째 줄의 "{}"도 경로 이름에 포함됩니다. (자신은 한 번 걸렸다.)
installer.sh 실행시에 나온 문자열을 설정 파일(init.vim)에 추가한다.
toml 파일에서 플러그인을 관리하기 위해 init.vim에서 파일을 지정합니다.
" dein.toml, dein_layz.tomlファイルのディレクトリをセット
let s:toml_dir = expand('~/.config/nvim')
" 起動時に読み込むプラグイン群
call dein#load_toml(s:toml_dir . '/dein.toml', {'lazy': 0})
" 遅延読み込みしたいプラグイン群
call dein#load_toml(s:toml_dir . '/dein_lazy.toml', {'lazy': 1})
참고 dein.vim에서 플러그인 관리를 시작하는 방법 (Qiita)
외형을 현대화
도입한 플러그인
$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
$ sh ./installer.sh {specify the installation directory}
" dein.toml, dein_layz.tomlファイルのディレクトリをセット
let s:toml_dir = expand('~/.config/nvim')
" 起動時に読み込むプラグイン群
call dein#load_toml(s:toml_dir . '/dein.toml', {'lazy': 0})
" 遅延読み込みしたいプラグイン群
call dein#load_toml(s:toml_dir . '/dein_lazy.toml', {'lazy': 1})
theme 설정 (init.vim에 설명)
colorscheme onedark
let g:airline_theme='oceanicnext'
다음 설정
" パワーラインでかっこよく
"let g:airline_powerline_fonts = 1 設定すると文字化けを起こす。
" カラーテーマ指定してかっこよく
"let g:airline_theme = 'badwolf'
" タブバーをかっこよく
let g:airline#extensions#tabline#enabled = 1
" 選択行列の表示をカスタム(デフォルトだと長くて横幅を圧迫するので最小限に)
let g:airline_section_z = airline#section#create(['windowswap', '%3p%% ', 'linenr', ':%3v'])
" virtulenvを認識しているか確認用に、現在activateされているvirtualenvを表示(vim-virtualenvの拡張)
let g:airline#extensions#virtualenv#enabled = 1
" gitのHEADから変更した行の+-を非表示(vim-gitgutterの拡張)
let g:airline#extensions#hunks#enabled = 0
" Lintツールによるエラー、警告を表示(ALEの拡張)
let g:airline#extensions#ale#enabled = 1
let g:airline#extensions#ale#error_symbol = 'E:'
let g:airline#extensions#ale#warning_symbol = 'W:'
참고원은 잊었습니다. <(_ _)>
QuickRun 도입
vin 없이 컴파일, 실행을 할 수 있게 됩니다.
toml에 작성하고 설치.
[[plugins]]
repo = 'thinca/vim-quickrun'
파이썬 주변에서 오류가 발생했기 때문에 해결하십시오.
참고 Neovim의 CheckHealth에서 Python 연합 주변에서 경고가 발생하는 경우 (Qiita)
그래도 오류
Failed to load python host. ...
그리고 나왔기 때문에
let g:python_host_prog=$PYENV_ROOT.'/versions/neovim-2/bin/python'
을
let g:python_host_prog=$PYENV_ROOT.'/versions/neovim-2/bin/python2.7'
로 변경한 곳 해결.
vimproc을 이용한 비동기 처리
참고는 동상 vim-quickrun 간단하고 깔끔하게 사용할 수있는 설정 (Qiita)
우선 vimproc 설치
(dein.toml)에 다음과 같이 기술한다.
[[plugins]]
repo = 'Shougo/vimproc.vim'
build = 'make'
그런 다음 QuickRun 설정
다음과 같이 (init.vim)에 기술한다.
let g:quickrun_config = get(g:, 'quickrun_config', {})
let g:quickrun_config._ = {
\ 'runner' : 'vimproc',
\ 'runner/vimproc/updatetime' : 60,
\ 'outputter' : 'error',
\ 'outputter/error/success' : 'buffer',
\ 'outputter/error/error' : 'quickfix',
\ 'outputter/buffer/split' : ':rightbelow 8sp',
\ 'outputter/buffer/close_on_empty' : 1,
\ }
결과
다음과 같은 오류가 발생합니다.
[vimproc] vimproc's DLL: "/Users/local/.cache/dein/repos/github.com/Shougo/vimproc.vim/lib/vimproc_mac.so" is not found. Please read :help vimproc and make it.
Error detected while processing function quickrun#command[10]..quickrun#run[10]..303[10]..395:
line 1:
E117: Unknown function: vimproc#pgroup_open
E15: Invalid expression: vimproc#pgroup_open(join(a:commands, ' && '))
그래서 GitHub Shougo/vimproc.vim를 들여다 보면 make 명령을 실행해야 할 것 같아서 설치 한 디렉토리로 이동하여 명령을 실행하면 해결할 수있었습니다.
아직 작동하지 않는 것
QuickRun 관련
<C-c>로 강제 종료시킨다.
참고 vim-quickrun 간단하고 깔끔하게 사용할 수있는 설정 (Qiita)
조사하면 다음과 같이 init.vim에 기술하면 좋아하는 타이밍으로 종료 할 수있는 것 같습니다.
nnoremap <expr><silent> <C-c> quickrun#is_running() ? quickrun#sweep_sessions() : "\<C-c>"
그러나 다음과 같이 표시되는 경우에만
Type :quit<Enter> to exit Nvim
바로 가기 키를 변경하면 그냥 반응하지 않게 되었고, 다른 명령을 할당하면 제대로 반응한다.
원인 알 수 없습니다.
아직 시도하지 않은 것
다음 플러그인은 아직 엉망이 아닙니다.
nnoremap <expr><silent> <C-c> quickrun#is_running() ? quickrun#sweep_sessions() : "\<C-c>"
Type :quit<Enter> to exit Nvim
다음 플러그인은 아직 엉망이 아닙니다.
기타
vimrc에 설명한 설정을 이식했습니다.
" setting
"文字コードをUFT-8に設定
set fenc=utf-8
" バックアップファイルを作らない
set nobackup
" スワップファイルを作らない
set noswapfile
" 編集中のファイルが変更されたら自動で読み直す
set autoread
" バッファが編集中でもその他のファイルを開けるように
set hidden
" 入力中のコマンドをステータスに表示する
set showcmd
" シンタックスハイライト
syntax enable
" Y を、行末までのヤンクにする
nnoremap Y y$
" displayオプション
set display=lastline
" 補完メニューの高さ
set pumheight=10
" 括弧を入力した時に、対応する括弧に一瞬カーソル飛ぶ
set showmatch
set matchtime=1
" インクリメント、デクリメントへのマッピング
nnoremap + <C-a>
nnoremap - <C-x>
" 不可視文字を表示
set clipboard+=unnamed
set clipboard=unnamed
" 括弧補完
inoremap { {}<LEFT>
inoremap ( ()<LEFT>
inoremap < <><LEFT>
inoremap " ""<LEFT>
inoremap ' ''<LEFT>
inoremap [ []<LEFT>
" 見た目系
" タイトルを表示
set title
" 行番号を表示
set number
" 現在の行を強調表示
set cursorline
" 現在の行を強調表示(縦)
"set cursorcolumn
" 行末の1文字先までカーソルを移動できるように
set virtualedit=onemore
" インデントはスマートインデント
set smartindent
" ビープ音を可視化
set visualbell
" 括弧入力時の対応する括弧を表示
set showmatch
" ステータスラインを常に表示
set laststatus=2
" コマンドラインの補完
set wildmode=list:longest
" 折り返し時に表示行単位での移動できるようにする
nnoremap j gj
nnoremap k gk
" Tab系
" 不可視文字を可視化(タブが「▸-」と表示される)
set list listchars=tab:\▸\-
" Tab文字を半角スペースにする
set expandtab
" 行頭以外のTab文字の表示幅(スペースいくつ分)
set tabstop=4
" 行頭でのTab文字の表示幅
set shiftwidth=4
" 検索系
" 検索文字列が小文字の場合は大文字小文字を区別なく検索する
set ignorecase
" 検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
" 検索文字列入力時に順次対象文字列にヒットさせる
set incsearch
" 検索時に最後まで行ったら最初に戻る
set wrapscan
" 検索語をハイライト表示
set hlsearch
" ESC連打でハイライト解除
nmap <Esc><Esc> :nohlsearch<CR><Esc>
Reference
이 문제에 관하여(Neovim 소개 - 사고의 속도를 편집하라는 요청 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KenziTajima/items/af9cd735402577bfa1c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
" setting
"文字コードをUFT-8に設定
set fenc=utf-8
" バックアップファイルを作らない
set nobackup
" スワップファイルを作らない
set noswapfile
" 編集中のファイルが変更されたら自動で読み直す
set autoread
" バッファが編集中でもその他のファイルを開けるように
set hidden
" 入力中のコマンドをステータスに表示する
set showcmd
" シンタックスハイライト
syntax enable
" Y を、行末までのヤンクにする
nnoremap Y y$
" displayオプション
set display=lastline
" 補完メニューの高さ
set pumheight=10
" 括弧を入力した時に、対応する括弧に一瞬カーソル飛ぶ
set showmatch
set matchtime=1
" インクリメント、デクリメントへのマッピング
nnoremap + <C-a>
nnoremap - <C-x>
" 不可視文字を表示
set clipboard+=unnamed
set clipboard=unnamed
" 括弧補完
inoremap { {}<LEFT>
inoremap ( ()<LEFT>
inoremap < <><LEFT>
inoremap " ""<LEFT>
inoremap ' ''<LEFT>
inoremap [ []<LEFT>
" 見た目系
" タイトルを表示
set title
" 行番号を表示
set number
" 現在の行を強調表示
set cursorline
" 現在の行を強調表示(縦)
"set cursorcolumn
" 行末の1文字先までカーソルを移動できるように
set virtualedit=onemore
" インデントはスマートインデント
set smartindent
" ビープ音を可視化
set visualbell
" 括弧入力時の対応する括弧を表示
set showmatch
" ステータスラインを常に表示
set laststatus=2
" コマンドラインの補完
set wildmode=list:longest
" 折り返し時に表示行単位での移動できるようにする
nnoremap j gj
nnoremap k gk
" Tab系
" 不可視文字を可視化(タブが「▸-」と表示される)
set list listchars=tab:\▸\-
" Tab文字を半角スペースにする
set expandtab
" 行頭以外のTab文字の表示幅(スペースいくつ分)
set tabstop=4
" 行頭でのTab文字の表示幅
set shiftwidth=4
" 検索系
" 検索文字列が小文字の場合は大文字小文字を区別なく検索する
set ignorecase
" 検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
" 検索文字列入力時に順次対象文字列にヒットさせる
set incsearch
" 検索時に最後まで行ったら最初に戻る
set wrapscan
" 検索語をハイライト表示
set hlsearch
" ESC連打でハイライト解除
nmap <Esc><Esc> :nohlsearch<CR><Esc>
Reference
이 문제에 관하여(Neovim 소개 - 사고의 속도를 편집하라는 요청 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KenziTajima/items/af9cd735402577bfa1c1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)