xóa dòng trong vi


168

Làm thế nào tôi có thể xóa một dòng trong VI?

Đây là những gì tôi đang làm ngay bây giờ:

  1. Mở terminal alt+ ctrl+t
  2. vi a.txt
  3. Tôi di chuyển con trỏ đến dòng mà tôi muốn xóa, vậy nên sử dụng tổ hợp phím nào để xóa dòng trong trình soạn thảo vi ?

5
Tôi đề nghị bạn đọc washington.edu/computing/unix/vi.html nó cung cấp cho bạn tổng quan về sử dụng cơ bản. Đây là một chiếc áo choàng : tuxfiles.org/linuxhelp/vimcheat.html Luôn luôn là một ý tưởng tốt để xem các trang như thế trước khi đặt câu hỏi tầm thường ...
polemon

2
cũng có S để xóa một dòng và nhập insert
Ben Creasy

Câu trả lời:


289

Nhấn ddsẽ loại bỏ dòng đó (thực sự nó sẽ cắt nó). Vì vậy, bạn có thể dán nó thông qua p.


22

Như những người khác đã nói, đó là ddnếu bạn ở chế độ bình thường (nhấn ESC) để đảm bảo bạn ở chế độ bình thường, nhưng theo mặc định, bạn sẽ làm được. Bạn có thể thấy rằng vi không hành động như bạn mong muốn một biên tập viên hành động. Nó khá độc đáo và những tính năng độc đáo đó làm cho nó cực kỳ mạnh mẽ và nhanh chóng để làm việc. Nếu bạn muốn tìm hiểu thêm, bạn có thể chạy vimtutorở dòng lệnh và bạn sẽ nhận được hướng dẫn nhanh (có thể là một giờ đáng để đọc / thử nghiệm) về những điều cơ bản về cách sử dụng nó.

Bây giờ, bạn có thể sử dụng một trình soạn thảo với giao diện quen thuộc hơn. Hầu hết các hệ thống có nano. Bạn có thể gõ nano a.txtđể mở tập tin của bạn nano. Bạn thậm chí có thể tiến thêm một bước - không có bất kỳ lý do nào bạn phải sử dụng trình chỉnh sửa dựa trên thiết bị đầu cuối. Vì bạn đã đề cập bằng cách sử dụng ( Ctrl+ Alt++ T) và đây là lối tắt mặc định trong Ubuntu và một số bản phân phối Gnome khác, vì vậy tôi rất ngạc nhiên nếu bạn chưa geditcài đặt. Tại dòng lệnh, hãy thử gedit a.txtvà bạn sẽ có một trình soạn thảo đồ họa.


Một vài người cần nó. Nếu bạn chỉnh sửa tệp văn bản thường xuyên, sẽ đáng để bạn học vim. Nếu bạn không, và bạn chỉ đang cố gắng làm theo một số hướng dẫn để làm cho một cái gì đó hoạt động, thì có lẽ nó không có giá trị trừ khi bạn chỉ quan tâm đến việc thử phần mềm khác nhau và học những điều mới.
Shawn J. Goff

Tôi bắn vimtutor vào dòng lệnh, và nó mở ra một vim, với một temp. tập tin. Tôi đã làm bất kỳ sai lầm?
IM-JM

@ im-jm Tôi không nghĩ bạn đã phạm sai lầm, nhưng hệ thống của bạn có thể có cấu hình bất thường. Nó sẽ mở một tài liệu bắt đầu "Chào mừng đến với gia sư VIM". Nếu bạn thích làm việc thông qua đó, bạn nên đăng một câu hỏi khác.
Shawn J. Goff

12

Để xóa dòng dưới con trỏ, sử dụng dd.

Lệnh xóa chấp nhận tất cả các công cụ sửa đổi vị trí thông thường, vì vậy nếu bạn ở đầu dòng bên dưới dòng bạn muốn xóa, bạn có thể dkchuyển sang chế độ xóa và di chuyển lên một dòng, xóa mọi thứ con trỏ đi qua.

Bạn cũng có thể chỉ định sự lặp lại, do đó 5ddsẽ xóa dòng dưới con trỏ năm lần, xóa hiệu quả bốn dòng hiện tại và sau.


8
Hoặc d5d. Tôi không biết tại sao, nhưng tôi thích cái này. (Sự thật thú vị: NdMdxóa các dòng N × M )
Random832

7

Esc dd sau khi đi đến dòng bạn muốn xóa


2
Việc thoát là không cần thiết, nếu bạn có thể đi đến dòng bạn muốn xóa.
Anthon

3
Cần thoát nếu bạn sử dụng các phím mũi tên ở chế độ chèn để đi đúng dòng.
Alexander

1

Trong chế độ trực quan,

shift + v, chọn các dòng, sau đó d

ctrl + v, chọn các cột, sau đó d

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.