답변:
가장 먼저 할 일은 기본 설정으로 Vim을 시작하는 것입니다.
vim -u NONE -U NONE -N
-u NONE
당신의 vimrc를로드에서 방지 빔은, -U NONE
당신의 gvimrc로드에서 빔을 방지하고, -N
더 호환 모드를 사용하지 않으려면 빔을 알려줍니다 (이 필요하지 않습니다,하지만 대부분의 빔의 사용자는 "호환"모드에 사용되지 않음). 이 있습니다 NONE
되어 필요한 모든 대문자로.
Windows에서는 새 바로 가기를 만들어이 플래그를 추가 할 수 있습니다 1 .
문제가 남아 있다면, 당신은 그것을 알고 하지 귀하의 vimrc 뭔가.
문제가 사라지면 vimrc 파일에 문제가 있는 것 입니다.
만세! 가서 질문하십시오. vimrc 파일없이 Vim을 시작했다고 언급하십시오!
아직 vimrc 파일의 백업 사본을 저장하지 않으려는 경우가 있습니다.
다음으로 할 일은 먼저 모든 플러그인을 비활성화하는 것입니다. Vim에서는 플러그인이 상당히 변경 될 수 있습니다. 이 방법으로 문제가 해결되는 경우, 다음 찾으려고
하는 그들에게 하나씩을 다시 활성화하여 플러그인을. 어떤 플러그인이 문제를 일으키는 지 정확히 알고 나면이 플러그인의 설명서를 읽거나 태그가 붙은 질문을하여 문제를 해결하고 해결할 수 있습니다 plugin-<name>
.
그것이 있다면 하지 플러그인, 당신이없는 어떤 문제를 일으키는 어떤 아이디어를, 다음은 시행 착오의 과정입니다. vimrc에서 하나 이상의 라인을 주석 처리하고, Vim을 시작하고, 문제가 발생하는지 확인한 후, 문제가 발생하지 않을 때까지이 절차를 반복하십시오. 가장 빠른 방법은 다음과 같습니다.
결국에는 단일 옵션 또는 문제를 일으키는 몇 가지 옵션의 조합이 있어야합니다. 다음을 사용하여 Vim의 모든 옵션에 대해 자세히 알아볼 수 있습니다.
:help 'option_name'
따옴표는 여기서 중요하며 일반적으로 따옴표 없이 작동하지만 생략하면 잘못된 페이지가 표시되는 경우가 있습니다.
도움말 페이지를 읽은 후에도 여전히 혼란 스러우면 질문 할 위치를 알고 있습니다. ;-)
하나의 플러그인을 분리하고, 아마도 그것에 대해 질문하고 싶다면, 가능한 한 적게 로드 하지만 여전히 플러그인 을로드하려고합니다 . Vim의 패키지 기능으로이를 쉽게 수행 할 수 있습니다. 이를 위해서는 Vim 8 또는 최신 버전의 Neovim이 필요합니다.
비어있는 새 디렉토리를 작성하십시오. ~/plugin
이 예 에서는 경로를 사용합니다 . 이제 플러그인을 일반 pack/plugins/start/$name
디렉토리 에 넣으십시오 . 예를 들면 다음과 같습니다.
git clone https://github.com/fatih/vim-go.git ~/plugin/pack/plugins/start/vim-go
test-vimrc
다음 내용 으로 파일을 작성하십시오 . 이를 통해 Vim은 ~/plugin
디렉토리가 아닌 디렉토리 에서 플러그인을로드 합니다 ~/.vim
.
set nocompatible
set packpath=~/plugin,/usr/share/vim/vimfiles,/usr/share/vim/vim80,/usr/share/vim/vimfiles/after,~/plugin/after
packloadall!
syntax on
filetype plugin indent on
다음과 같이 Vim을 시작하십시오.
vim -U NONE -u ~/test-vimrc
이제이 단일 플러그인으로 최소한의 vimrc를 갖게되었습니다.
각주
1 예를 들어 : 64 비트 Windows에서 바로 가기는 다음과 같습니다 "C:\Program Files (x86)\Vim\vim74\vim.exe" -u NONE -U NONE -N
.. 파일 탐색기에서 바로 가기를 원하는 위치를 마우스 오른쪽 단추로 클릭 한 다음 새로 작성-> 바로 가기를 선택하고 바로 가기 텍스트를 붙여 넣으십시오. Vim이 다른 위치에 설치된 경우 Vim 경로를 변경해야 할 수도 있습니다.
-U NONE
경우 필요하지 않습니다 -u NONE
.
이 -D
스크립트에서 첫 번째 명령을 실행 한 후 디버깅 모드로 이동합니다 디버깅을 위해 특별히 빔 매개 변수.
예를 들어 플러그인없이 디버그 모드에서 Vim을 실행하려면 다음과 같이 실행하십시오.
vim --noplugin -D
n
/ next
를 입력 하여 다음 줄을 구문 분석하고을 계속 누릅니다 Enter.
그리고 cont
나 q
다시 이동합니다 vim
인터페이스.
GUI 버전을 사용하는 경우 gui
vimrc에 명령을 넣어 해당 명령 바로 다음에 디버깅을 시작하십시오.
사용 가능한 명령 목록을 보려면 Ctrl+ d를 누르십시오
더 읽어보기 :
:help debug-scripts
한 가지 더 팁 : 원시인처럼 보일 수 있습니다. : echom "message"를 내 .vimrc에 추가하여 실행중인 것과 그렇지 않은 것을 확인하고 싶습니다.
예를 들어
if executable('ag')
:echom "AG FOUND"
...
endif
if 블록이 실행되고 있는지 등을 빠르게 확인할 수 있습니다. 다음에 vim을 시작할 때 메시지가 콘솔에 인쇄됩니다.
echom
다른 흥미로운 명령 을 사용 :messages
하면 메시지의 전체 로그를 에코하는 것입니다. 시작 후 그것들을 보는 것이 때때로 유용 할 수 있습니다.
내가 찾은 것 중 하나는 부분을 토글하는 변수 모음을 유지하여 .vimrc
내용을 주석 처리하지 않고도 부분을 비활성화하거나 활성화 할 수 있다는 것입니다. 또한 당신이 당신의 조직에 대해 생각하도록 강요하는 유쾌한 부작용이 있습니다 .vimrc
.
" feature toggles in vimrc
let g:vimrc_feat_pathogen = 1
let g:vimrc_feat_core_minimal = 1
let g:vimrc_feat_matchit = 1
let g:vimrc_feat_options = 1
let g:vimrc_feat_colors_and_highlight = 1
let g:vimrc_feat_key_rebinding_arpeggio = 1
let g:vimrc_feat_key_rebinding = 1
let g:vimrc_feat_autocommand_group = 1
let g:vimrc_feat_custom_definitions = 1
let g:vimrc_feat_load_opam = 1
다음은 보호하는 섹션의 예입니다 if
.
if g:vimrc_feat_core_minimal
set nocompatible
filetype plugin indent on
syntax on
endif
다음은 시작하기위한 간단한 절차입니다.
:source %
또는 을 실행하여 .vimrc를 다시로드하십시오.:so $MYVIMRC