vim에서 X 줄 들여쓰기

vim에서 X 줄 들여쓰기

저는 최근 작업을 위해 Java로 코딩을 했는데 몇 가지 코드를 작성한 다음 코드를 try/catch 블록에 래핑해야 한다고 결정한다는 것을 알게 되었습니다.

방금 줄의 시작 부분으로 이동하고 탭을 추가했습니다.

0 i <tab> <esc> k (repeat process until at beginning or end of block)

들여쓰기를 해야 했던 처음 서너 번은 괜찮았지만 지금은 지루해지고 게으른 사람이 되었습니다.

이 문제를 처리할 수 있는 더 쉬운 방법이 있습니까?

답변1

또 다른 옵션은 Ignacio가 제안한 대로 Shift+를 사용하여 행을 선택한 다음 (보다 큼 기호)를 누르는 것입니다. 들여쓰기 설정(shiftwidth,expandtab 등)에 따라 들여쓰기가 수행됩니다.V>

다음을 사용하여 두 수준 이상 들여쓰기할 수도 있습니다.숫자>, 예를 들어 2>두 수준을 들여쓰기합니다.

마지막으로, Vim이 파일 유형(type :set filetype?, 인쇄해야 함 filetype=java)을 인식하면 위와 같이 아무 코드나 선택하고 를 누르면 =해당 파일 유형에 대한 규칙을 사용하여 들여쓰기를 수정합니다.

답변2

시각적( V) 또는 시각적 선( ShiftV) 모드를 사용하여 들여쓰기할 줄을 선택하고 를 누른 :다음 를 입력합니다 s/^/CtrlVTab/.

답변3

다른 방법:
CTRL+ v(시각적 블록 모드가 시작됨)
x j또는 x k(여기서 x는 아래 또는 위 줄 수를 나타냄)
>(일명 shift+ .)

이는 위의 답변과 크게 다르지 않지만 여러 행을 편집하는 데 정말 좋은 블록 모드를 도입합니다.

답변4

Vim은 다른 답변에서 생각하는 것보다 훨씬 지능적입니다. 즉, 코드 영역을 자동으로 다시 들여쓸 수 있습니다. 일반적으로노력하다블록을 입력하려면 입력만 하면 됩니다 =i{. 실제로 이것은 모든 중괄호 블록에서 작동합니다. 들여쓰기 옵션( cindent, expandtab, sw)이 필요와 취향에 맞게 올바르게 설정되어 있다면 그게 전부입니다 .

다음 단계는 선택한 라인 세트를 둘러싸는 방법을 아는 매핑을 사용하는 것입니다.노력하다블록을 생성합니다(프로세스가 끝나면 다시 들여쓰기하는 것을 잊지 않습니다). 나에겐 그런 것이 있다C++용, Java에 적용하는 것은 그리 복잡하지 않습니다. (그것단지두 개의 다른 라이브러리 플러그인이 필요합니다:lh-vim-lib그리고lh-맵-도구.)

관련 정보