빔-베누

빔-베누

나는 주로 Windows 기반 회사의 개발자를 위해 가상화된 Linux 상자(로컬 개발 서버로)를 설정하고 있는데 일부 개발자는 vim에 대해 부정적인 의견을 갖고 있습니다. (그들은 어떤 방식으로든 Linux/Unix를 대표하는 것으로 보이며 환경이 사용하기 너무 어렵다는 것을 증명하는 것 같습니다.) 처음 vim을 사용해야 했던 때를 기억합니다(시스템 관리자는 emacs 설치를 거부했습니다!). 학습 곡선이 있으므로 다소 동정적입니다. 그들에게 nano(아마 절대 지나칠 수 없을 것 같은) 소개하는 대신 vim에서 나노와 같은 메뉴를 설정하여 전환을 더 쉽게 만드는 것이 가능할 수도 있다는 생각이 들었습니다 . (초보자에게 적합한 .vimrc 파일을 찾았지만 나노 스타일 메뉴 같은 것은 없습니다.)

유일한 문제는 vim(gvim 아님)에서 메뉴를 설정할 수 있다는 주장이 작동하지 않는다는 것을 발견한 유일한 문제이며, 문제를 해결하려는 시도로 인해 해결해야 할 또 다른 문제가 생겼습니다. 많은 시간을 낭비하기 전에 실제로 가능한지 알고 싶습니다. 방법에 대한 정보가 거의 없는 것 같기 때문입니다.

답변1

예, 가능합니다. menu.vim(기본 gvim 메뉴 정의) 로드할 수도 있고 처음부터 시작하여 자신만의 정의를 만든 다음 를 통해 액세스할 수도 있습니다 :emenu. 하지만 이는 나노와 같은 항상 표시되는 메뉴를 제공하지는 않습니다. 명령줄 탭 완성을 사용하여 메뉴를 탐색하는 기능을 제공합니다.

사용자에게 vimrc가 없으면 vi 호환성을 비활성화하여 시작하는 것이 좋습니다.

:set nocompatible

다음에서 스마트 명령줄 완성 활성화 (가능한 모든 선택 항목 나열 활성화, , , , 및 를 사용 <Tab>하여 결과 탐색 활성화 ):<Up><Down><Left><Right><Enter>

:set wildmenu

일치하는 모든 선택 사이에서 반복적인 누르기 주기를 만듭니다.

:set wildmode=full

기본 메뉴를 로드합니다(gvim에서는 자동으로 발생하지만 터미널 vim에서는 발생하지 않음).

:source $VIMRUNTIME/menu.vim

:emenu이 네 가지 명령 다음에 다음 을 수행하여 명령 에서 탭 완성을 호출하여 메뉴 완성을 수동으로 트리거할 수 있습니다 .:emenu<space><tab>

탭 키, 화살표 키, Enter 키(하위 메뉴 확장 및 항목 선택)를 사용하여 결과를 탐색할 수 있습니다. 그런 다음 한 단계 더 나아가 :emenu매번 입력할 필요 없이 메뉴가 팝업되도록 매핑을 바인딩하여 더욱 편리하게 만들 수 있습니다 .

매핑에서 Ctrl-Z를 <Tab>명령줄에서 대화형으로 누르는 것처럼 작동하도록 만듭니다.

:set wildcharm=<C-Z>

그리고 자동으로 완성을 호출하는 바인딩을 만드세요 :emenu.

:map <F4> :emenu <C-Z>

답변2

나 자신도 내가 사용하고 있는 플러그인의 모든 명령과 키 조합을 기억하지 못하는 문제를 겪었습니다. 또한 새로운 키 매핑을 설정하거나 명령에 액세스하기 위한 명령을 개발하지 않고도 명령을 신속하게 실행할 수 있는 간단한 방법을 원했습니다.

빔-베누

작게 썼어요vim 메뉴 플러그인vim으로 편집할 수 있는 각 파일 형식에 대한 메뉴를 정의할 수 있습니다. 이렇게 하면 다양한 파일 유형에 대해 메뉴 옵션 '컴파일'을 정의하고 편집 중인 파일(.py, .c, .c++, ...)에 따라 코드를 컴파일하기 위한 올바른 지침을 시작할 수 있습니다. 또는 마크다운 파일에 '테이블' 플러그인 명령에 대한 하위 메뉴를 생성하세요.

여기에서 확인해보세요: https://github.com/Timoses/vim-venu

참고로 저는 모든 사람이 자신이 좋아하는 텍스트 편집기를 선택해야 한다고 생각합니다. Vim에는 약간의 장벽이 있습니다(배울 가치가 있습니다!). 누군가 배우고 싶어하지 않는다면 vim은 그 사람에게 별로 쓸모가 없을 것입니다.

관련 정보