it-swarm.dev

`vi`의 커서에서 줄 끝까지 삭제

내가 읽은 모든 vi 문서에서 이것을 백만 번 살펴 봤지만 커서에서 줄 끝 명령으로 삭제를 찾을 수없는 것 같습니다.

334
Falmarri

명령 dw 현재 커서 위치에서 다음 Word 문자의 시작 부분까지 삭제합니다. 명령 d$ (이는 'S'가 아닌 달러 기호입니다) 현재 커서 위치에서 현재 줄의 끝까지 삭제됩니다. D 의 동의어입니다 d$.

499
Tok

다른 사람들이 언급했듯이 d$ 또는 D (shift-d)를 눌러 커서 위치에서 줄 끝까지 삭제할 수 있습니다.

내가 더 유용하다고 생각하는 것은 c$ 또는 C (shift-c)는 줄 끝까지 커서 위치에서 삭제되므로 and는 [INSERT] 모드로 전환됩니다.

54
Brad Johnson

Vi에 대한 좋은 점 중 하나는 논리적 명령 구조입니다. d 다음에 모션 명령 d는 해당 모션의 대상으로 들어갑니다. $는 줄의 끝으로 이동합니다 (니모닉 : regexp와 동일). d$ 줄 끝까지 삭제합니다. 마찬가지로 e는 현재 단어의 e nd로 이동하고 w는 다음 w ord의 시작으로 이동합니다. 따라서 de는 현재 Word의 끝을 삭제하고 dw는 다음 공백을 추가로 삭제합니다.

아마도 D를 사용하고 싶을 것입니다. 커서를 삭제하려는 첫 번째 문자로 이동 한 다음 shift-D를 누르십시오. 모든 것이 사라졌습니다. 실제로 기본 컷 버퍼에 있으므로 P 또는 p를 다시 붙여 넣을 수 있습니다.

Dp (줄 끝까지 삭제 한 다음 다시 넣으십시오)를 사용하고 다른 줄의 끝으로 이동 한 다음 p를 다시 사용 하여이 다른 줄의 끝에 동일한 텍스트를 붙여 넣습니다. 복잡한 URL을 두 개 이상의 장소에 배치 해야하는 구성 파일에서 궁금합니다.

21
Bruce Ediger

커서 위치 뒤에서 줄 범위를 삭제하려면 3D 줄 끝까지 커서에서 삭제하고 다음 두 줄을 완전히 삭제합니다 (즉, 커서 위치 다음에 3 줄 삭제).

예 : 다음 텍스트의 경우 (커서는 |),

If there's a cursor |in the line
here
we
go

명령 사용 3D 출력합니다 :

If there's a cursor
go
1
Nick Bull

삽입 모드 바로 가기가 유용 할 수 있다고 생각합니다.

삽입 모드에서 줄 끝까지 변경을 시작하는 것이 좋습니다 (~/.vimrc에 입력하십시오).

inoremap <C-l> <C-o>C

말씀 드린대로 D 정상 모드에서 Ctrl+l 삽입 모드에서. 보시다시피 C 그 줄의 끝까지 변경 시작합니다.

<C-o> ......... insert normal keystroke in insert mode

나는 선택했다 Ctrl-l l가 손가락 아래에 있기 때문입니다. 그만큼 Ctrl-k 이미 digraph를 삽입하는 데 사용됩니다.

무료 키 바인딩을 찾기 위해 :h i_Ctrl를 검색했으며 vim에서 작업을 수행하기위한 새로운 바로 가기를 생성 할 때 실제로 더 큰 문제입니다.

1
SergioAraujo