IT Share you

vim에서 공백이 아닐 때까지 어떻게 삭제합니까?

shareyou 2020. 12. 14. 21:08
반응형

vim에서 공백이 아닐 때까지 어떻게 삭제합니까?


커서에서 같은 줄의 첫 번째 공백이 아닌 문자까지 삭제할 명령을 찾고 있습니다. 나는 잠시 동안 구글 검색을했고 몇 가지 가능성을 시도했다. 기쁨이 없습니다. 누군가가 이것을하는 방법을 알고 있습니까?


시퀀스 dw는 커서에서 다음 단어까지 모든 문자를 삭제합니다. 즉, 단어 중간에 서서 명령을 실행하면 해당 단어의 나머지 부분과 후속 공백이 삭제됩니다. 당신이 찾고있는 것일 수도 있고 아닐 수도 있습니다.


시도해 볼 수 있습니다 dW. 질문에 더 적합한 "WORD"(WORD 및 단어 도움말 참조) 단위로 이동합니다.

dw예를 들어, 귀하의 요구를 충족하지 않습니다

array[1] = 5

dw포지셔닝 된 상태에서 치면 a다음과 같은 결과가 발생합니다.

[1] = 5

그러나 사용 dW하면 다음과 같은 결과가 발생합니다.

= 5

여기에있는 많은 답변은 실제로 질문을 직접적으로 다루지 않습니다. 질문자는 공백이 아닌 첫 번째 문자 까지 삭제하는 방법을 알고 싶어합니다 . 일부 답변 기술적으로 작동하지만이를 명시 적으로 수행하는 방법을 살펴 보겠습니다.

다음 예제 는 커서의 시작 위치를 설명하는 변형을 사용 하여 일반 모드 에서이를 수행하는 방법을 보여줍니다 . u̲nderlined c̲haracters는 커서 위치를 나타냅니다.


     dw: foo_ bar → foob̲ar

delete wORD의 다른 답변에 설명 된 명령은, 우리의 커서가 위치 할 때 다음 공백이 아닌 문자까지 삭제 잘 작동 하기 전에 대상.


     db: foo b̲ar → b̲ar

당연히 커서 공백이 아닌 첫 번째 문자 뒤로dw 삭제하려면 의 역을 시도하고 싶습니다 . 그러나 위에 표시된대로 elete ack-word 명령은 예상보다 더 많이 삭제합니다. 이전 단어도 삭제됩니다. 이 경우 다음을 사용해야합니다.db

     dT<?>: foo b̲ar → foob̲ar

... 여기서는 <?>커서 앞의 공백이 아닌 첫 번째 문자입니다. delete 백 유엔 T위원장의 명령은 모든 것을 지워집니다 뿐만 포함하지 않는 최대 문자 <?>이 경우, 문자, o"foo는"의 끝을.


     dt<?>: foo_ bar → foob̲ar

이전 명령과 유사하게 delete un til (소문자 "t"사용)을 사용 하여 다음 문자 ( 이 예에서는 "bar") 까지 앞으로 문자를 삭제할 수 있습니다. 이것은 이 질문의 목적과 동일한 결과를 얻습니다 .<?>bdw


     diw: foo _ bar → foob̲ar

커서가 공백의 중앙에 d있으면 ielete nner word 명령을 사용하여 양쪽에서 공백을 제거 할 수 있습니다 .


     d/<?>: foo_    \n   bar → foob̲ar

우리가 제거 할 공백 행 구분이 포함되어있는 경우, 우리는 할 위에 표시된 명령을 사용할 수 d있는 일치하는 패턴까지 elete<?> 1, 패턴 이 경우 그냥 공백이 아닌 첫 번째 문자입니다. 표시된대로이 Enter명령을 완료하려면을 누르십시오 .

줄 바꿈 후 줄의 시작 부분에 공백이 아닌 첫 번째 문자가 발생하면 Vim은 공백을 제거하지만 대상은 다음 줄에 남겨 둡니다. 우리는 추가 할 필요가 J에 위의 명령에 JOIN 라인 (대문자 "J").

     d/<?>J: foo_      \nbar → foob̲ar


커서가있는 문자에 관계없이 단어를 삭제하려면 daw"단어 변경"과 같은 다른 명령과 함께 작동 합니다 (니모닉 "단어 삭제") caw. ft함께 사용할 수있는 다른 훌륭한 명령입니다 d. 예를 들어 커서에서 문자 "t"의 첫 번째 항목까지 삭제하려면를 사용하십시오 dft. "t"를 그대로 두려면 dtt대신 사용하십시오.


dw 작동해야합니다.

참고 URL : https://stackoverflow.com/questions/6975440/how-do-i-delete-till-non-whitespace-in-vim

반응형