2010-04-29 28 views
30

Làm cách nào để xóa một từ khi con trỏ ở đâu đó ở giữa từ đó (không phải ở cuối hoặc đầu của một từ) trong Vim?Làm cách nào để xóa một từ khi con trỏ ở giữa từ?

+1

đây là chương trình liên quan như thế nào? –

+11

Ai khác sẽ sử dụng vim? –

+0

@Adam - một nhà toán học, một nhà vật lý, người viết giấy tờ trong LaTeX trên một hệ thống unix theo cách cũ. – tvanfosson

Trả lời

20

tôi thấy rằng "DIW" (xóa từ bên trong) là con đường phía trước thẳng để xóa một chữ!

7

bdw nên làm điều đó.

b ack đến đầu của từ, d elete đến w ord tiếp theo

+0

Điều này có vẻ rất hiệu quả, tôi muốn làm điều này cụ thể hơn – abubacker

+0

+1 này, đây là câu trả lời ngắn nhất mà tôi biết. Nếu nó vẫn còn quá dài, @abubacker, hãy xem 'map' về cách gán cho một tổ hợp phím (http://how-to.wikia.com/wiki/How_to_map_keys_in_vim). – paxdiablo

+2

Điều này không hoạt động trên các từ đơn lẻ. –

52

gì bạn cần là các phím bấm sau trong chế độ bình thường (sau khi nhấn Esc):

diw (có nghĩa là: xóa từ bên trong)

-hoặc-

dmộtw (có nghĩa là: xóa một từ)

Lệnh thứ hai cũng xóa tất cả các không gian sau chữ, hoặc tất cả các không gian trước khi từ nếu không có dấu cách sau từ.

Đối với các lệnh hơn liên quan:

:help diw 
:help daw 
+3

Không giống như diw, giải pháp này cũng xóa tất cả dấu cách sau từ hiện tại. –

+1

Đồng ý, 'daw' là cách tốt nhất để xóa một từ (Xóa tất cả từ).Chuyển động 'iw' phù hợp hơn nếu bạn muốn gõ một từ khác vào vị trí của nó, sử dụng' ciw' (Thay đổi từ bên trong). – nelstrom

+0

@nelstrom cảm ơn bạn vì 'ciw', không biết về nó. – hsribei

0

Sau khi nhập chế độ bình thường (bằng cách nhấn Esc)

fgiandb sẽ xóa từ.

Các vấn đề liên quan