내 파일에 다음과 같은 텍스트가 있습니다.
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
비슷한 작업을 수행할 수 있지만 원하는 것과 정확히 동일하지는 않습니다. 시각적 블록을 선택하고 배치에 명령을 적용할 수 있습니다.