2013-07-04 6 views
0

아웃 하향 의견 C 코드의 영역을 것을 다음 '일반'전직 명령 이후고급 사용법은 내 vimrc에의 매핑이

nmap comc :normal! I//<ESC> 

암시 예 : "Ncomc"을 "로 입력을 변환 .,. + N-1 comc ", 나는 많은 키 스트로크없이 그리고 정상 모드를 벗어나지 않고 코멘트를 아래쪽으로 정렬 할 수있다. 그러나 이것은 vim 범위가 할 수있는 부분의 매우 제한된 부분입니다. 나는 장황 기꺼이 경우에, 나는 상승과 같이 의견에 이르기까지 얻을 수 있습니다 : 텍스트를 편집하는 동안

.,.-5 normal comc 

, 나는 많은 "-6comc"뭔가를 입력하는 것을 선호 또는 "★ 대폭발 '의 매핑을 그 위쪽 범위를 사용합니다. 나는 그렇게 성공적으로 할 수 없었다. 검색 패턴에 도달 할 때까지

마찬가지로, 범위의 작업은 예컨대, 주석 지원 :

.,/int main/ comc 

나는, 그러나, 모든 입력없이 그렇게하고 싶습니다.

답변

1

플러그인이 없어도 가능하면 가급적이지만 가끔은 최선의 선택입니다. # 또는 (* ... *)과 같은 코멘트가있는 언어로 작업을 시작하면 어떻게됩니까? 이 주석 문자에 대한 새로운 매핑을 추가 하시겠습니까?

commentary.vim은 파일 형식 인식 주석을 사용하는 것이 좋습니다.

commentary.vim의 기본 주석 처리 연산자는 gc입니다. 모션과 결합하여 비주얼 모드에서도 사용할 수 있습니다.

귀하의 사용 사례 :

  • 의견 하향 N 라인 (예를 들어, 3) : :.,.+3normal gcc, 또는 gc3j 또는 4gcc.

  • 위쪽 5 행 : :.,.-5normal gcc 또는 간단히 gc5k입니다.

  • 코멘트 int main까지 : :.,/int main/-1normal gcc, 또는 다음 단순히 gc/int main를 입력합니다.

+1

필자는 perl 및 python 코드를 주석 처리하는 'comp'매핑과 haskell 코드를 주석 처리하는 'comh'매핑이 있습니다. 필자가 사용하고있는 파일 형식에 필요한 키 맵핑에 'com'을 재귀 적으로 매핑하는 자동 명령이 있습니다. 지금까지 이미 진행되었으므로 플러그인으로 전환하지 않는 것이 좋습니다. 그것은 실제로 환상적인 플러그인처럼 들리지만, 나는 '나'GONNA LEARN VIM '킥을 끝내면 전환 할 것입니다. – seewalker

3

요청한 동작은 일반적으로 :h map-operator 매핑으로 수행됩니다. 이 3 줄의 주석 달기는 comc2j으로 바뀌지 만, 3 줄은 이제는 마찬가지로 간단합니다 : comc2k.

매핑을 전혀 변경하지 않고도 비주얼 모드를 사용할 수도 있습니다 (V2kcomc). nnoremap은 정상 모드에서만 작동하기 때문에 lhsrhs과 같이 xnoremap을 추가해야합니다.

nnoremap <expr> - (v:count ? ":\<C-u>\n" . (v:count-1) . 'k' . v:count : '') 

: (And do not use nmap.)

세 번째 옵션은 최대 {count} 라인을 이동하고 박았 다시 계산 뭔가를 매핑 -입니다. 이 경우는 6-comc이 아니고 -6comc이 아닌 것으로 가정합니다.

// 덧붙여서, 나는 플러그인에 관해서라면 The NERD Commenter를 제안합니다.