Vim 편집기의 줄 그룹에서 공백 제거

Vim 편집기의 줄 그룹에서 공백 제거

내 파일에 다음과 같은 텍스트가 있습니다.

  sample text
    some random text
            even more random text
text with no indent
 worst indention

각 행 앞의 공백을 제거해야 합니다. 한 줄에 대해 내가하는 일은 다음과 같습니다. 0dw

동일한 명령을 반복해서 사용할 수 있습니다. 하지만 다음 행으로 수동으로 이동하면 됩니다.

하지만 이러한 행 블록에 "0dw"를 적용하는 방법이 있습니까?

매크로를 사용하는 방법이 있을 것 같은데 아직 사용해본 적이 없습니다. 하지만 다른 선택이 없다면 기꺼이 배우겠습니다.

답변1

:%s/^\s\+
" Same thing (:le = :left = left-align given range):
:%le

여기에서 자세히 알아보세요 http://vim.wikia.com/wiki/Remove_unwanted_spaces

특정 행 범위에 대해 이 작업을 수행하려면 다음을 수행하십시오.

:19,25s/^\s\+//

그런데 vim 학습을 시작하는 가장 좋은 방법은 vimtutor명령을 실행하는 것입니다. 그러면 Vim 편집기에서 Vim을 사용하는 방법을 배울 수 있습니다.

답변2

<또 다른 방법은 VIM의 들여쓰기 도구(보통 / 에 바인딩됨)를 사용하는 것입니다 >. 먼저, 어떤 라인이 영향을 받을지 나타내는 방법이 필요합니다. 시각적 선택 모드나 다른 방법을 사용하여 영향을 미치려는 줄 범위를 지정한 다음 임의로 높은 숫자나 들여쓰기 수준을 사용하여 삭제할 수 있습니다. 9<일반적으로 현재 줄에서 최소 9단계의 들여쓰기(탭/공백)를 제거하는 것이 효과적입니다.

답변3

다음과 같은 간단한 단계를 통해 이 작업을 수행할 수 있습니다.

1. press `v` to go to visual selection mode
2. select the lines you want to affect
3. :'<,'>normal 0dw

세 번째 단계에 대한 지침:

0줄의 시작 부분으로 이동합니다.

dw단어(공백)를 제거하세요.

normal명령을 적용하십시오 0dw.

'<,'>시각적 모드에서 선택한 모든 라인에 대해 법선을 반복합니다.

답변4

ctrl+v비슷한 작업을 수행할 수 있지만 원하는 것과 정확히 동일하지는 않습니다. 시각적 블록을 선택하고 배치에 명령을 적용할 수 있습니다.

관련 정보