문제

SuperTab 및 Snipmate 플러그인을 모두 사용하고 있습니다. Snipmate를 사용하여 if 문장 구조를 작성한다고 가정 해 봅시다. IF 진술 내부에 명령문을 추가 한 후에는 if 진술 후 커서를 빠르게 이동할 수 있습니까? 예를 들어:

if [ $a = "b" ]; then
  bla;
fi

내 커서가 세미콜론에 있고 삽입 모드에 있다면. 'fi'이후 커서를 라인으로 옮기기 위해 취할 수있는 가장 적은 수의 행동은 무엇입니까? 탭을 누르면 SuperTab은 자동 완성 창을 열면됩니다.

감사

도움이 되었습니까?

해결책

Snipmate를 사용하는 경우 파일 유형의 스 니펫을 수정하는 것이 좋습니다. 예를 들어, 당신이주는 예는 쉘 스크립트 스 니펫과 같은 것으로 보입니다. 이 경우 Vim-Configuration-Folder/Snippets/Sh.snippets를 다음과 같은 정의로 수정합니다 (스 니펫 끝에 추가 탭 변수 추가).

snippet if
  if [ ${1:condition} ]; then
    ${2:#statements}
  fi
  ${3}

그런 다음 Snipmate를 사용하면 탭 및 Shift Tab 키를 사용하여 IF 블록의 조건, 문 및 끝 사이를 앞뒤로 이동할 수 있습니다.

다른 팁

플러그인에 대해 확실하지 않습니다 (사용하지는 않지만 일반 VIM) :

<Esc>
/fi$
o

$ 표시는 대부분 불필요 할 수 있습니다.

그냥 누르십시오 C-o o

나는 압박 할 것이다 ESC 영형 다음 줄에서 모드를 삽입하기 시작합니다. 그러나 아마도 당신은 스나이프 메이트를 재구성하여 다른 키를 누를 수 있도록 재구성 할 수 있습니다. 스 니펫을 끝내려면?

당신이 그것을 맵핑하지 않았다면, 아래에 화살표 키는 커서를 다음 줄로 이동해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top