vim에서 매우 일반적인 작업은 강박 적이며 파일에 공백을 남기지 않기 때문에 전체 줄 의 내용 을 삭제 하지만 줄 자체가 아닌 줄 바꿈은하지 않는 것입니다.
이 작업을 수행하는 내장 vim 방법이 있습니까? 아마도 d<movement command>
수술?
지금까지 내가 가진 최선은 (문제의 줄에 있음) 0d$입니다. 더 빠른 방법이 있습니까?
:%s/\s*$//
vim에서 매우 일반적인 작업은 강박 적이며 파일에 공백을 남기지 않기 때문에 전체 줄 의 내용 을 삭제 하지만 줄 자체가 아닌 줄 바꿈은하지 않는 것입니다.
이 작업을 수행하는 내장 vim 방법이 있습니까? 아마도 d<movement command>
수술?
지금까지 내가 가진 최선은 (문제의 줄에 있음) 0d$입니다. 더 빠른 방법이 있습니까?
:%s/\s*$//
답변:
0D
이것을 사용 하면 줄의 첫 번째 문자로 이동하여 줄 끝까지 삭제할 수 있습니다. ^D
선행 공백을 그대로 두려면 사용할 수 있습니다 . 또한을 사용하여 이러한 작업을 반복 할 수 없습니다 .
. .
명령 으로 반복 할 수있는 수술을 원하면 David Lord의 답변을 참조하십시오.
도움말 주제 :
:help 0
:help D
:help ^
.
명령을 사용하여 반복 할 수는 없습니다 . 이러한 이유로, 내 생각 cc<Esc>
이나 S<Esc>
당신이 반복 걱정하면 더 매력적이다.
.
있습니다.
.
. 키 입력이 대화식으로 입력 된 것처럼 작동하므로 개별 명령이 개별적으로 처리됩니다. 를 사용 .
하면 매크로의 마지막 명령 만 반복됩니다.
@{reg}
반복 할 수 있습니다 .
.
D
. 0D
작업 후 커서는 열 0에 남습니다. 커서가 이미 줄의 시작 부분에 있으면 (다른 줄로 이동 한 후) 매크로가 올바르게 반복 된 것처럼 보입니다. 줄에서 커서를 앞으로 이동하고 입력 해보십시오 . .
반복되는 것만 볼 수 있습니다 D
.
cc <Esc>
당신이 묻는대로 할 것 0D
입니다. 나중에 그 줄에 무언가를 넣고 싶다면 cc
가장 좋습니다.
.
명령을 사용하여 반복 할 수 있습니다. 반대로, 0D
(선택된 답변에서 제안 된) 0
동작과 D
명령 의 두 가지 동작 입니다.
0D
나 보다 쉽습니다 . 그래서 내 손은 집으로 나갈 필요조차 없습니다. jk
<Esc>
S
"Synonym for cc
"
나는 일반적으로 사용 ddO
합니다. dd
현재 줄을 삭제하고 O
(즉, 대문자 o) 새 줄을 추가하십시오.
이것은 3 dd
번의 키 입력이지만 1과 반으로 만 계산되므로 O
입력하기가 쉽습니다 $
.
0D
예를 들어이 코드 ( !···
탭이 있고 커서 █)를 사용하여 자동 들여 쓰기를 수행한다는 점 에서 솔루션과 다릅니다 .
def asd():
!···if foo:
!···!···foo()█
!···!···foobar()
0D
당신을 떠날 것입니다 :
def asd():
!···if foo:
█
!···!···foobar()
그리고 ddO
당신을 떠날 것입니다 :
def asd():
!···if foo:
!···!···█
!···!···foobar()
그리고이 <Esc>
직후에을 누르면 Vim은 자동 들여 쓰기를 제거해야합니다 0D
.
'올바른'방법은 없습니다. 정확하게 원하는 것을 선택합니다. 나는 ddO
그것이 더 유연하고 "내 손가락에"있기 때문에 선호합니다 :-)
^D
공백은 그대로 둡니다.
O
삽입 모드를 유지 하므로 cc
자동 들여 쓰기가없는 경우를 제외하고는와 같습니다.