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자동 들여 쓰기가없는 경우를 제외하고는와 같습니다.