다음과 같은 텍스트 블록이 있다고 가정 해보십시오.
// 댓글 1 // 댓글 2 // 댓글 3
그리고이 줄들 각각을 해당하는 3 줄의 코드 끝에 추가하고 싶습니다 :
foo = 1; 바 = 2; 바즈 = 3;
최종 결과는
foo = 1; // 댓글 1 바 = 2; // 댓글 2 바즈 = 3; // 댓글 3
Vim에서 이것을 쉽게 할 수있는 방법이 있습니까?
다음과 같은 텍스트 블록이 있다고 가정 해보십시오.
// 댓글 1 // 댓글 2 // 댓글 3
그리고이 줄들 각각을 해당하는 3 줄의 코드 끝에 추가하고 싶습니다 :
foo = 1; 바 = 2; 바즈 = 3;
최종 결과는
foo = 1; // 댓글 1 바 = 2; // 댓글 2 바즈 = 3; // 댓글 3
Vim에서 이것을 쉽게 할 수있는 방법이 있습니까?
답변:
비주얼 블록 모드 ( Ctrl+ v)를 사용하여 한 줄 세트를 선택한 다음 y또는 하나를 선택하십시오 d.
그런 다음 foo, bar, baz 행을 선택한 경우 시각적 블록 모드를 사용하여 주석 행의 첫 번째 열을 선택한 다음 Shift+ p를 사용하십시오 (또는 주석 행을 선택한 경우 foo bar baz의 마지막 열을 선택하십시오). 라인과 p그것들을 제자리에 고정시킵니다.
포지셔닝을 중단시키는 것은 약간의 연습이 필요할 수 있지만, 요령이 잡히면 날 수 있습니다. 블록을 선택하면 Shift+ A를 사용 하여 블록에 공백 등을 추가 할 수도 있습니다 (추가 할 때 새 텍스트는 맨 윗줄에만 표시되지만 esc 키를 누르면 선택한 모든 행에 마술처럼 나타납니다) . 마찬가지로 Shift+ i는 각 줄에서 선택한 블록의 시작 부분에서 동일하게 수행됩니다.
빈 줄은 나중에 정리해야합니다.
이러한 기술을보다 자세하게 보여주는 훌륭한 vimcast 에피소드 도 있습니다 .
:set ve=all
은 매우 다재다능합니다. 개인적으로 UnconditionalPaste 플러그인 ( vim.org/scripts/script.php?script_id=3355 )을 개인적으로 사용합니다 .