Câu hỏi vi phím tắt để xóa "cho đến khi ký tự X tiếp theo"


Tôi hiểu rằng vi có các phím tắt để xóa các ký tự, từ và dòng với các tùy chọn khác nhau.

Tuy nhiên, tôi không thể tìm thấy điều này:

  • xóa từ con trỏ đến ký tự được chỉ định tiếp theo

Ví dụ: tôi có thể nhập du" mong muốn trình chỉnh sửa "xóa cho đến lần tiếp theo " tìm thấy ký tự "

Tôi biết gần nhất là d9w Ở đâu 9 là số từ cần xóa.

Có ai biết nếu điều này là có thể?


154
2017-10-08 15:43


gốc


Nếu bạn quan tâm đến Vi và Vim, họ có trang web SE của riêng họ ngay bây giờ: Vi và Vim - dessert


Các câu trả lời:


Sử dụng dtc, Ở đâu c là bất kỳ ký tự nào, ví dụ: cho bạn, bạn muốn dt"

Điều này sẽ xóa tối đa nhưng không phải kể cả c.

Nếu bạn có:

delete until exclamation point!

Và con trỏ ở không gian đầu tiên và bạn đã nhập dt!, bạn sẽ nhận được:

delete!

Cũng thế dfc.

Điều này sẽ xóa tối đa  kể cả c.

Sử dụng df! trên cùng một ví dụ ở trên sẽ cung cấp cho bạn:

delete

Chỉ là về bất kỳ "chuyển động" nào có thể được sử dụng cho d, c, y và các lệnh tương tự.


249
2017-10-08 16:19



Chính xác những gì tôi đã làm sau! Cảm ơn @Arcege! - kctang
Có lẽ sự ghi nhớ là t cho "cho đến"? Câu trả lời hay. - overthink
Bạn cũng có thể xóa đối tượng trước đó của một ký tự bằng phiên bản được viết hoa của các lệnh di chuyển. Có thể hữu ích hơn cho dấu phẩy - dT, và dF,. - Joel Ostblom
Điều này không hoạt động trên nhiều dòng. - 0xcaff
Điều này có thể được thực hiện trên một loạt các dòng? - Jim


  • Để xóa chuyển tiếp lên tới ký tự 'X' dtX

  • Để xóa chuyển tiếp thông qua loại ký tự 'X' dfX

  • Để xóa lùi về kiểu ký tự 'X' dTX

  • Để xóa lùi thông qua loại ký tự 'X' dFX


38
2018-06-02 18:02





Đầu vào dt # (không phải là: lệnh, sử dụng nó như một chuyển động như G)

sẽ xóa khỏi con trỏ cho đến khi không bao gồm #. Bạn có thể thay thế bất kỳ char nào cho #.


29
2018-06-21 02:44



Đây là câu trả lời đúng! df # cũng sẽ xóa #. - Viet
đang tìm kiếm điều này, điều này thật tuyệt vời - Nadeem Khedr


Có vẻ như @Arcege đã trả lời câu hỏi, nhưng tôi đã d/l xóa cho đến khi ký tự l; các nhân vật khác cũng sẽ làm việc.


15
2017-10-09 11:42



Điều này làm việc cho các công cụ trên dòng mới. - jasonszhao
Lưu ý: điều này phải được theo sau bởi Enter. - Eric Lebigot


w chuyển sang từ sau. l di chuyển đến charactor sau.

Vậy nó là d9l để xóa 9 ký tự tiếp theo.


6
2017-07-10 19:48



Gần, l là phím mũi tên phải của Vim, vì vậy bạn thực sự đang xóa đúng. Ngược lại, d9h sẽ xóa 9 ký tự còn lại. - Walf