2011-12-06 3 views
6

CSS 파일에서이 줄은 5 개 이상의 규칙에 있습니다.Vim에서 한 줄 또는 한 줄의 줄을 주석으로 처리하려면 어떻게해야합니까?

border: 1px solid black; 

이 같은이 줄을 언급 할 :

/*border: 1px solid black;*/ 

모두 5 발생이 코멘트를 할 수있는 바로 가기가 거기를?

키를 지정하여 한 줄 또는 한 줄의 줄을 주석 처리 할 수 ​​있습니까?

이 줄만 검색하고 바꾸기를 원하지 않습니다. 줄을 가져 와서 해당 키를 누르면 해당 줄이 주석 처리되거나 줄을 선택하거나 줄 블록을 선택할 수 있도록 키를 설정하고 싶습니다. , 그 키를 누르면 그 줄 또는 줄 블록이 주석 처리됩니다.

답변

10

이 매크로를 사용하는 것이 좋습니다. 매크로는 Vim에 의해 자동으로 저장되고 여러 세션에서 사용할 수 있습니다.

매크로 유형을 기록하려면 q<letter><commands>q. 여기서 <letter>은 a-z의 문자이며 매크로가 저장 될 레지스터를 나타냅니다. 그 다음에는 녹음하려는 명령을 입력하고 마지막으로 q을 다시 눌러 녹음을 중지하십시오.

다음과 같이 할 수 있습니다. q을 누른 다음 a을 눌러 a 레지스터를 선택한 다음 삽입 모드로 들어가서 라인의 처음과 끝에 과 */을 입력하십시오. q을 다시 누르면 녹음이 중지됩니다.

이제 커서를 임의의 줄로 이동하고 @a을 눌러 해당 줄에서 매크로를 실행하십시오.

3

왜 정규식을 사용하지 않습니까?

:1,$s/border: 1px solid black;/\/*border: 1px solid black;\*\// 

1,$s 수단, 귀하의 대체가 마지막 줄입니다 $을 줄을 선 1에서 수행되어야한다. 염두에 두십시오. * 또는 /과 같은 문자를 이스케이프 처리해야합니다. 유래 당신에 this 질문에 따르면

시각 선을 표시 할 수 있습니다 지금의 .vimrc

vnoremap <C-r> "hy:%s/\(<C-r>h\)/\/\*\1\*\//gc<left><left><left> 

을에 다음을 넣어 당신에게 올바른 정규 표현식을 제공 CTRL + R를 누를 수 있습니다. 주석을 달려면 줄 단위로 질문을 받고, y을 눌러이 작업을 수행 할 수 있습니다.

+1

이 줄만 검색하고 바꾸기를 원하지 않습니다. 줄을 가리키고 해당 키를 누르면 그 줄이 주석 처리되거나 줄을 선택하거나 줄의 블록을 선택할 수 있도록 키를 설정하고 싶습니다. 그 키를 누르면 해당 줄 또는 줄 블록이 주석 처리됩니다. – shibly

+2

역 참조를 사용하여 입력 내용을 저장합니다. 또한 처음에는'1, $'대신'%'를 사용할 수 있습니다. –

+0

검색하고 바꾸기를 원하지 않습니다. – shibly

2

VIM 용 플러그인 NERD Commenter을 사용해 보셔야합니다. IMHO이 플러그인은이 작업에 가장 적합합니다.

관련 문제