2012-02-07 2 views
1

방금 ​​vi로 다이빙을 시작했고 지금까지 기본 이동/편집 명령 만 배웠습니다. 이 책을 읽는 동안 커서 위치 (해당 줄을 들여 쓰기)가있는 동일한 열의 -#이라는 단락을 주석으로 처리하는 빠른 방법이 있습니까?vi에서 haml 문단을 주석으로 처리하는 방법은 무엇입니까?

%table 
    - unless paginate(@clients).nil? 
    %tr 
     %th 
     =t('index.name') 
     %th 
     =t('index.address') 
     %th 
     =t('index.phone') 
    =render :partial => 'client', :collection => @clients 

내가 하나 개의 컬럼에 -#- unless=render :partial 사이에 줄을 주석하고 다시 그들을 언급 할 수 있도록하려면 :

의 내가 코드 조각이 있다고 가정 해 봅시다. 그 명령은 무엇이겠습니까?

답변

2

블록 단위 선택 모드에서 블록 앞에 삽입하려면 I을 누르고 블록 뒤에 삽입하려면 A을 누를 수 있습니다.

설정을 'relativenumber' (:set rnu) 줄을 계산하는 데 도움이 될 수 있습니다. CTRL-V

시작은 8j#를 삽입 한 후 I#팔 개 라인, Esc를을 아래로 이동하려면 선택 모드를 블록 단위로 전환합니다.

제거하려면 : dCTRL-V 8j는 blockwise 삭제됩니다. Windows에서 바닐라 gvim.exe를 사용하는 일이면

경고, 당신은 아마 당신이 자주 사용하는 경우 (이 플러그인 또는 비활성화)

+0

흠 ...'I' (blockwise select 모드에있을 때)를 사용하면 저를 블럭 모드에서 벗어나고 현재 커서 위치에 심볼을 삽입 할 수 있습니다 (자연스럽게, 나는 이미 삽입 모드에 있습니다). –

+1

변경 사항을 모든 행에 적용하려면' '을 눌러야합니다. – romainl

+0

그것은 일했다, hurraya! 나는 그것을 점점 더 좋아합니다! –

0

를 대신 다음 CTRL-Q를 사용, CTRL-V를 다시 매핑하는 mswin.vim 활성화해야 , 당신은 당신이 일반적인 방법으로 :<range>C을 적용 할 수 있습니다, 그리고 VI에 .vimrc

command -range=% C :<line1>,<line2>s/^/-#/ 

에서 명령을 정의 할 수 있습니다. :10,20C 또는 .,+10C으로이 작업을 수행 할 수 있습니다. 주석 처리를 제거하려면 다음 명령을 사용하십시오. 당신이 주석 방법 -#을 대체 할 수있는 당신은 그냥 :10,20Ca-#을 수행 할 수 있도록 허용

command -range=% -nargs=1 Ca :<line1>,<line2>s/^/<args>/ 
command -range=% -nargs=1 Da :<line1>,<line2>s/^<args>// 

:

command -range=% D :<line1>,<line2>s/^-#// 

것은 내가 아니라 우리가 이러한 명령, 주석의 종류와 언어와 VI를 위해 사용하고 있기 때문에 선택의 여지가.

+0

고마워, 나는 유용하다고 생각했다. –

1

방법에 대해 관심이없고 작동시키기를 원한다면 다양한 언어에 대해 주석 기능을 제공하는 플러그인이 많이 있습니다. Tim Pope의 논평 .vim은 방금 nerdcommenter 대신에 최근에 사용하기 시작한 것입니다.

방금 ​​설치 했으므로 아무런 결함이 없지만 Tim Pope의 물건은 (항상?) 항상 우수합니다. 플러그인을 사용하면 시각적 블록을 선택하고 \\\을 입력하여 Haml 단락에 주석을 달 수 있습니다. 또한 동작을 취합니다. \\ap.

링크 :
https://github.com/tpope/vim-commentary

관련 문제