"복합"단어를 삭제하는 가장 간단한 방법은 무엇입니까?


20

"복합"이 기술 용어가 아닌 경우 사과합니다. 나는 다음을 의미한다.

Hi, I-am-a-composite-word and we are not

복합어 만 삭제하고 싶습니다. 명령 모드에서 커서를로 이동하면 몇 번 I반복 dw하거나 dw한 번 더 입력 한 다음 몇 번 .누르면 더 트릭됩니다. 그러나 여러 가지 이유로 하루 종일 자주하는 일을 발견했기 때문에 더 간단한 방법이 있는지 궁금했습니다.

추신 : 나는 명령 이 더 간단한 방법 이라고 생각 하지 않을d9w 것입니다. 단어와 대시의 긴 시퀀스를 계산하는 것이 "간단한"아이디어가 아닙니다.

답변:


33

복합 단어라고 부르는 것은 실제로 단어입니다 (단어와 반대). 읽기 :h word:h WORD도움이 있어야한다 :

                            *word*
A word consists of a sequence of letters, digits and underscores, or a
sequence of other non-blank characters, separated with white space (spaces,
tabs, <EOL>).  This can be changed with the 'iskeyword' option.  An empty line
is also considered to be a word.
                            *WORD*
A WORD consists of a sequence of non-blank characters, separated with white
space.  An empty line is also considered to be a WORD.

당신이 찾고있는 것은 당신이 dW있을 때 I또는 diW당신이 단어의 어디에나있을 때입니다.

아마 앞으로도 읽어 봐야 할 것 :h 'iskeyword'입니다.


1
답변 주셔서 감사합니다 : 작동합니다. 정의의 제안 : A WORD consists of a sequence of non-blank characters, separated with white space. Separated with white space단어가 다른 단어 나 공백으로 구분 된 단어로 분리되어 있음을 의미합니까?
DeltaIV

2
@DeltaIV 그래는 in-this-sentence there are four"WORDs4 개 개의 단어가있다 in-this-sentence, there, arefour"WORDs. 그것은 당신이 사용하는 경우를 쉽게 알 wWbB예를 들어 운동. 공백은 "일반적인"공백 또는 탭 문자 일 수 있습니다.
statox

1
이 답변은 독자가 해결책을 찾기 위해 중간 단락으로 넘어가도록 강요하기보다는 "여기서 찾고있는 것은 dW .."로 시작하면 더욱 유용합니다.
Mark Meuer

9

더 일반적인 또 다른 해결책은 dt ( t) 뒤에 공백을 사용하여 공백 문자까지 삭제하는 것 입니다. 이는 "[문자로 삭제]를 의미합니다. 이는 종종 dt:유사하거나 유사한 것들에 유용 합니다.


무엇을 dt: 합니까?
DeltaIV

1
같은 대답을 게시했을 때 <code>dt </code>끝에 공백을 포함시키는 데 사용할 수 있다는 것을 알게되었습니다 .
BurnsBA

2
@DeltaIV 실제로 당신이 정말로 필요한 것은 읽고 :h motion.txt사용 vimtutor하는 것인데, 그것은 Vim의 기본을 얻는 데 크게 도움이 될 것입니다
statox

@statox 저는 VIM에서 숙련 된 적이있었습니다 ... 10 년 전 :-) vimtutor매우 흥미롭게 들립니다. 원격 서버에 설치되어 있는지 잘 모르겠습니다 ( man유틸리티가 설치되어 있지 않은 것처럼 보입니다 ). 그러나 확인하겠습니다 : vim패키지 와 함께 자동으로 설치 되면 사용할 수있을 가능성이 높습니다.
DeltaIV

1
@BurnsBA 감사합니다.이 사이트에 정말 유용합니다. Btw. 동료 검토 과정을 통해 다른 사람의 게시물을 수정하거나 +2 평판을 얻을 수 있습니다. 그러나이 방법으로 나는 새로운 것을 배웠습니다 :-).
allo

4

계속 사용 dw하고 싶거나 단어를 두 번 클릭하여 작동하게하려면 추가 할 수 있습니다.

set iskeyword+=-

당신에 .vimrc, 추가 -단어 문자로.

예:

ab-cd시각적으로 문자를 두 번 클릭하면 강조 표시 ab-cd됩니다.


로 전환 dW해도 괜찮지 만 솔루션도 시각적 모드에 영향을 미치기 때문에 꽤 멋집니다. 을 수정하고 iskeyword두 번 클릭 한 다음을 누르면 d삭제할 수 있어야합니다 ab-cd. 권리?
DeltaIV

또는 v두 번 클릭하는 대신 을 사용하여 시각 모드로 전환해야 할 수도 있습니다. 권리?
DeltaIV

1
@ 키워드를 수정하여 @DeltaIV를 사용하면 단어 개체 (마우스 또는 시각적 모드를 사용하는 것보다 훨씬 더 간단한 iw 또는 aw 포함)와 함께 모든 방법을 사용할 수 있습니다
.

4

f(찾기) 및 t(끝) 명령을 잊지 마십시오 . 아마 그냥 dt 또는 df (끝의 공백에 주목) 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.