Vim 키 바인딩은 다음 기간까지(포함하지 않음) 삭제합니다.

Vim 키 바인딩은 다음 기간까지(포함하지 않음) 삭제합니다.

제가 편집자들 사이에서 발견한 일반적인 습관은 다음 주기까지의 모든 내용(포함하지 않음)을 삭제하고 싶어한다는 것입니다. 온라인 조사를 통해 다음 명령이 작동하는 것을 발견했습니다(검색이 작동할 것이라고 기대하지는 않았지만 작동합니다).

d/\.

그런 다음 페이지의 모든 마침표를 강조 표시하므로 :noh.

나는 나만의 지도를 만들려고 노력한다:

map <leader>. :normal d/\.<cr>:noh<cr>

:normal나는 검색이 어디에서 끝나기를 원하는지 "알아주는" 방법을 확신할 수 없었기 때문에 이 기능을 사용하기로 결정했습니다 . 그러나 이는 실패했습니다. 아무것도 하지 않습니다. 상태 표시줄에 정상적으로 실행되고 있는 것으로 표시되므로 :noh명령이 제대로 실행되고 있다고 가정합니다. 그것은 단지 작동하지 않습니다.

:normal d/\.Vim에서 단독으로 명령을 실행하려고 하면 상태 표시줄에 다음 메시지가 나타납니다.

YR:Aborting command d/

이것은에서 온 것입니다양키 링.vim, 그래서 일시적으로 비활성화했습니다. 이제 명령을 실행하면 아무 작업도 수행되지 않습니다. 그냥 거기 앉아 행복하게 지내요.

명확하게 말하면 명령을 수동으로 입력하면 yankring 유무에 관계없이 작동합니다. map잡아당기거나 당기지 않고 내가 노력한 어떤 것도 얻을 수 없다는 것뿐입니다 .

문제의 원인은 d/정상적으로 입력할 때 검색하라는 프롬프트가 나타나는 것입니다(이 방법은 잘 작동합니다). 다 괜찮습니다. 하지만 바인딩할 수 있도록 자동화할 수 있는 방법이 있나요 <leader>.?

추가 정보가 필요한 경우 기꺼이 제공해 드리겠습니다.

답변1

해당 .문자가 커서와 같은 줄에 있으면 삭제 후 실행 dt.하거나 ct.삽입 모드로 들어갈 수 있습니다.

답변2

그런데 문장을 삭제하려면 다음과 같이 문장 앞으로 이동을 사용할 수 있습니다.

d)i.

즉, 마침표가 포함된 문장을 삭제하고 다시 삽입합니다.

d/\.이는 여러 줄을 삭제하고 텍스트 사이에 빈 줄이 있는 등 텍스트가 아닌 문서 컨텍스트가 있고 실제로 다음 마침표까지 삭제하려는 경우에 필요합니다.

마침표가 같은 줄에 있으면 til-before 작업을 사용할 수 있습니다.dt.

유형

:normal d/\.^M

( Ctrl+V+ Enter끝)

나를 위해 작동합니다.

그러나 나는 그 필요성을 이해하지 못한다고 말해야 합니다 :normal.

내 말은, 사용

:map <F10> d/\.<CR>:noh<CR>

검색은 커서 위치에서 시작되고 다음 마침표에서 끝납니다.

관련 정보