[vim] 역방향 트릭을 삭제하는 vim

  • 왼쪽에있는 단어를 어떻게 삭제합니까? 즉, 커서가 단어 끝에있을 때 단어를 삭제합니다.
  • 줄 시작 부분의 문자를 어떻게 삭제합니까?
  • 왼쪽의 첫 번째 공백을 어떻게 삭제합니까?

  • 단어 삭제와 관련된 다른 트릭이 있습니까?



답변

일반적으로 d <모션>은 <모션> 이후 현재 위치에서 끝 위치까지 삭제됩니다. 이는 다음을 의미합니다.

  1. d <leftArrow>는 현재 및 왼쪽 문자를 삭제합니다.
  2. d $는 현재 위치에서 줄 끝까지 삭제합니다.
  3. d ^는 현재 뒤로 공백이 아닌 첫 번째 문자로 삭제합니다.
  4. d0은 현재에서 줄의 처음까지 뒤로 삭제합니다.
  5. dw는 현재 단어의 끝에서 현재 단어의 끝까지 삭제합니다 (후행 공백 포함).
  6. db는 현재 단어의 시작부터 현재를 삭제합니다.

‘d’명령과 결합 할 수있는 모든 것을 배우려면 이것을 읽으십시오 .


답변

나는이 시나리오에 여러 번 있었다. 10 행의 모든 ​​공백을 제거하여 쉼표 뒤의 9 행과 연결되도록하고 싶습니다.

여기에 이미지 설명 입력

이것은 기본적으로 VIM에서 간단한 라인 조인입니다.

kJ 트릭을 수행합니다 (아래 참조).

Vim 조인 라인


답변

요점 # 3에 답 diw하고 daw훌륭합니다.


답변

삽입 모드에서 :

  • ^ w
  • ^ u
  • 내 머리에서 대답 할 수 없다 😉

그렇지 않으면:

  • dw
  • v0x
  • 내 머리에서 대답 할 수 없다 😉

답변

명령 모드에서 :

  1. bdw, 뒤로 삭제 단어.
  2. d^(공백이 아닌 첫 번째), d0(첫 번째 문자까지)
  3. BdW (첫 번째 공백으로 이동하여 다음 공백으로 삭제)

(커뮤니티 위키, 자유롭게 해킹하십시오.)


답변

  1. db (커서가 단어 뒤에있는 경우) 또는 bdw
  2. d0(또는 d^공백이 아닌 첫 번째 문자를 삭제하려는 경우)
  3. dE또는 dtSpace첫 번째 공백 d/\sEnter을 삭제 하거나 다음 공백 문자를 삭제합니다.

편집하다

3이 왼쪽의 첫 번째 공백 문자를 삭제하도록 질문이 변경되었으므로 내 대답은 다음과 같이 변경되어야합니다.

  1. dB또는 dShiftTSpace첫 번째 공백으로 다시 삭제하거나 d?\sEnter이전 공백 문자로 삭제합니다.

보다:

:help motion.txt
:help WORD


답변

완전한 답이 없다고 느낍니다.

일반적으로, 당신은 일반적으로 삭제 작업을 사용하지 않고 시작 d<motion>하고 거의 사용 x.

참고 : N지정하지 않으면 마치 N=1(단일 문자 삭제) 처럼 작동합니다.

이산 문자 :

<N>x -오른쪽 N 개의 문자 삭제

d<N><left-arrow> -왼쪽에있는 N 개의 문자 삭제

d<N><right-arrow> -오른쪽 N 개의 문자 삭제

단어 경계 :

참고 : 첫 번째 선행 / 다음 단어는 커서 아래에있는 단어입니다.

d<N>b -이전 N 번째 단어의 시작부터 현재 위치까지 삭제

d<N>e -현재 위치에서 다음 N 번째 단어 끝까지 삭제

d<N>w-동일 d<N>e하지만 후행 공백 포함

diw -커서 아래에있는 전체 단어 삭제

daw-동일 diw하지만 후행 공백 포함

선 경계 :

d0 -줄의 시작부터 현재 위치까지 삭제

d^ -공백이 아닌 첫 번째 문자에서 현재 위치까지 삭제

d$ -현재 위치에서 줄 끝까지 삭제