Xóa một dòng nhanh hơn [0] [d] [$]


18

Có cách nào nhanh hơn để xóa văn bản trên một dòng hơn

  • nhấn 0để nhảy để bắt đầu, sau đó
  • nhấn d$để xóa cho đến hết dòng?

Ngoài ra, nếu tôi muốn xóa mọi thứ trừ vết lõm thì sao? Có cách nào làm được việc này không?

Câu trả lời:


34

Như bạn đã nói, có nhiều cách và bạn cũng có thể tính đến hành động tiếp theo của bạn sẽ là gì sau khi bạn xóa hoặc xóa dòng hiện tại.

  1. dd sẽ xóa dòng hiện tại (không rõ ràng)
  2. 0D sẽ xóa dòng hiện tại bao gồm cả khoảng trắng
  3. ^Dsẽ xóa dòng hiện tại không bao gồm khoảng trắng ( ^dg_tiết kiệm không gian dấu)
  4. 0C sẽ xóa dòng hiện tại bao gồm cả khoảng trắng và đưa bạn vào chế độ chèn
  5. ^Csẽ xóa dòng hiện tại không bao gồm khoảng trắng và đưa bạn vào chế độ chèn ( ^cg_tiết kiệm không gian dấu)

cchoặc Ssẽ hoạt động như 4. hoặc 5. nếu 'autoindent' tắt hoặc bật tương ứng.

Vì vậy, sử dụng bất cứ điều gì phù hợp với hành động trong tầm tay. Tôi tin rằng đó 0Dlà cách nhanh nhất để xóa dòng, nhưng bạn có thể ánh xạ nó tới thứ gì đó nếu bạn muốn, để làm cho nó nhanh hơn nữa.


7
@SuperScript Slà từ đồng nghĩa vớicc
FDinoff

1
Cảm ơn câu trả lời tuyệt vời, @akshay; TYLTK đã sẵn sàng với thứ tốt nhất: vi.stackexchange.com/ Kẻ
Robbie Wxyz

9

Vâng. Nếu có một điều tôi thích về Vim, thì đó là câu trả lời cho "Tôi có thể làm điều đó không?" hầu như luôn luôn là một nhấn mạnh .

0D Nhảy đến đầu, sau đó xóa qua cuối dòng.

^D (không phải Ctrl + D) sẽ nhảy đến ký tự không phải khoảng trắng đầu tiên, sau đó xóa đến hết.

(PS tôi đã tìm ra điều này ngay bây giờ và muốn chia sẻ với bất kỳ noobs nào khác. Xin vui lòng cho tôi biết nếu có một cách tốt hơn.)


6

Xóa dòng bằng một phím (đã dịch) : S.

Điều này cũng giữ cho thụt lề.

Bạn chuyển sang chế độ chèn tại vị trí đầu tiên sau khi thụt lề hoặc ở đầu dòng - chỉ những gì bạn cần để thay thế một dòng - do đó, tên S- giống như thay thế.

:help S

["x]S   Delete [count] lines [into register x] and start
        insert.  Synonym for "cc" |linewise|.

["x]cc  Delete [count] lines [into register x] and start
        insert |linewise|.  If 'autoindent' is on, preserve
        the indent of the first line.

Slà một chìa khóa tuyệt vời.
domi91c

3

Với plugin " vim-textobj-line " của Kana , bạn có thể sử dụng các thao tác trên dòng thụt lề với il(ví dụ dil) hoặc toàn bộ dòng mà không có dòng mới, với al(ví dụ yal). Ưu điểm của phương pháp này là tinh tế: thay vì phải nghĩ cả hai chuyển động (bắt đầu, kết thúc) cho thao tác mong muốn, bạn chỉ định trực tiếp đối tượng văn bản : i n l ine, a l ine.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.