플러그인의 사용 가능한 옵션을 나열하는 방법은 무엇입니까?


10

나는 최근에 그 발견 YouCompleteMeg:ycm_autoclose_preview_window_after_insertion자동으로 모드를 삽입 종료 한 후 문서 미리보기 창을 숨 깁니다 옵션을,이 내가 옵션을 설정 처음이었다 그래서 나는 또한 최근에 정력을 사용하여 시작했다.

그래서 vim 환경에서 크램 핑 한 다른 플러그인에 수동으로 검색하지 않고 옵션을 사용할 수 있는지 궁금했습니다.

vim이 시작될 때 그것들을 나열하는 명령을 사용할 수 있도록하기 위해 전역으로 등록 되었습니까?


당신은 할 수 없습니다. 플러그인 변수를 문서화해야합니다. 코드를 읽지 않고 어떤 변수가 사용되는지 알 방법이 없습니다.
Christian Brabandt

답변:


6

Vim은 가능한 모든 플러그인 옵션을 알 수있는 방법을 제공하지 않습니다.

플러그인 라이터로서 진행할 수있는 여러 가지 방법이 있기 때문에 이것이 매우 복잡하다는 것을 알 수 있습니다. 예를 들어 최종 사용자가 옵션에 값을 제공하지 않으면 .vimrc이 옵션이 존재하고 기본값과 같아 지도록하거나 다음과 같이 말할 수 있습니다. 최종 사용자이거나 하드 코딩 된 기본값을 사용하십시오. "

첫 번째 방법으로 최종 사용자는 c_CTRL-D, 또는 c_TAB등 으로 사용 가능한 옵션 목록을 볼 수 있습니다 .

점점 더 많은 플러그인이 모든 옵션을 사전으로 구성하도록 선택합니다. 즉 갖는 대신 g:plugin_foo_option하고 g:plugin_bar_option, 우리가 g:plugin.foo_option하고 g:plugin.bar_option. 이렇게하면 g:전역 옵션 목록이 오염 되지 않지만 명령 줄 자동 완성 기능이 손실됩니다 (vim github에서 주제의 문제를 열 ​​수 있습니다).

지금까지 나는 글로벌 옵션에 대해서만 이야기했습니다. 대부분의 플러그인은 더 구체적인 옵션을 지원하지 않더라도 지원하지 않습니다. 예를 들어, YouCompleteMealternate 또는 다른 많은 플러그인이 전역 옵션 대신 프로젝트 특정 옵션을 사용 하지 않는 것이 유감입니다 . 실제로, 내가 작업중 인 프로젝트에 따라 각각의 옵션을 다른 값으로 설정하고 싶습니다. 불행히도 이것은 그들이 고려한 워크 플로가 아닙니다. 플러그인에서는 많은 옵션을 프로젝트 또는 버퍼별로 전문화 할 수 있습니다. 최근에 나는 그 주제에 대한 실험 을 생각해 냈습니다 . 그러나 평범하고 간단한 g:plugin_option+ b:plugin_option쌍으로도 사용 가능한 모든 옵션을 아는 것은 불가능합니다.

때로는 build-tools-wrappers를 사용하여 옵션을 설정하거나 메뉴에 일부 옵션을 표시하는 명령을 제공하려고하지만 (gvim을 사용하는 경우) 완벽하지는 않습니다.

설명서가 가장 좋은 것 같습니다. 당신도 시도 할 수 있습니다 :h pluginname^D. 아마도 가장 좋은 방법 일 것입니다.


배후의 옵션에 대한 훌륭한 설명. 그리고 :h pluginname실제로는 매우 좋습니다! 따라서 다른 플러그인 설명서를 읽기 위해 vim에서 여러 번 벗어날 필요가 없습니다.
Iulian Onofrei

2

Vim에는 사용 가능한 옵션에 대한 참조가 없습니다. 당신이 할 수있는 최선은 초기화 된 것을 보는 것입니다.

Vim의 내장 옵션에는 명령이 :set있습니다. 보낸 사람 :h :set:

:se[t] Show all options that differ from their default value.

사용 가능한 모든 옵션이 표시되지 않고 수정 한 옵션 만 표시됩니다.

:let선언 된 모든 변수의 값과 :let g:전역 변수의 목록 을 표시하는 데 사용할 수도 있습니다 . :h E121표시 할 수있는 변수 목록을 참조하십시오 .

이 목록이 항상 읽기 / 파싱하기 쉬운 것은 아닙니다. 플러그인의 경우 가장 좋은 방법은 설명서를 읽고 필요한 옵션을 찾는 것입니다.

vim 환경을 표시하는 방법 에 대한 위키 백과 팁


도움이 될 수있는 내 질문과 관련된 흥미로운 명령이 있지만 더 자세한 답변으로 다른 답변을 수락했습니다.
Iulian Onofrei
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.