Làm thế nào để tôi rời khỏi Vi?


81

Tôi đã khởi động Vi trên máy Ubuntu của mình. Tuy nhiên tôi mới biết về Vi và bây giờ tôi không thể bỏ được. Tôi thấy biên tập viên và tôi có thể viết văn bản, ở dòng dưới cùng có một nhãn "ghi âm".

Làm thế nào để tôi bỏ Vi?


1
Nhân tiện, "ghi âm" có nghĩa là bạn đang ghi một macro. Không còn là vấn đề nữa.
frabjous

4
Câu hỏi này mang lại những kỷ niệm "vui vẻ" như vậy. Tôi rất vui vì tôi đã vượt qua cảm giác đó, tuy nhiên.
frabjous

Làm cách nào chúng tôi có thể quay lại chế độ chèn từ chế độ chỉ đọc trong Linux (Ubuntu đã cài đặt VMware) VI Editor?

2
Từ bỏ Vim đã trở thành một meme bây giờ.
noɥʇʎԀʎzɐɹƆ

2
Dành cho những ai chưa xem trò đùa đó: twitter.com/iamdevloper/statuses/435555976687923200
Federico Poloni

Câu trả lời:


91

vim là một biên tập viên phương thức . Nhấn ESCphím để vào chế độ Bình thường (lệnh), sau đó nhập :qvà nhấn Enter.

Để thoát mà không lưu bất kỳ thay đổi, gõ :q!và nhấn Enter.

Xem thêm Nhận ra trong tài liệu Vim.


9
Cảm ơn: Tôi đã thử các lệnh đó, nhưng sau khi chạy chúng, tôi được nhắc với : E37: No write since last change (add ! to override). Tôi không có gì để tiết kiệm.
Jonas

12
Sử dụng :wqnếu bạn muốn lưu những gì bạn đã chỉnh sửa và sau đó thoát. :q!nếu bạn muốn thoát ra và để lại những thay đổi của bạn
Steven D

Hoặc nếu bạn đã viết một cái gì đó bạn muốn tạo một bản sao :w newFileName.txt, thì hãy phân loại vấn đề chỉ đọc bên ngoài vi hoặc vim .
Kevin Cantu

5
bỏ việc :q; lực lượng bỏ việc :q!; thoát và lưu :wqhoặc:x
từnaboo

2
@Jonas, lần sau hãy thử :qall!, tôi nghi ngờ bạn đã mở thêm tệp trong một bộ đệm.
Alan Dong

11

Tôi sử dụng ctrl+ [để tạo escchuỗi, điều này giúp tôi không phải di chuyển các ngón tay từ hàng chủ (nhớ rằng esckhóa ở một nơi khác khi viđược phát minh. :wqSẽ ghi tất cả các tệp không cần thiết. Tôi đề nghị sử dụng ZZ(đó là shift+ zhai lần ) sẽ chỉ ghi nếu một thay đổi đã được thực hiện trong tệp. Cũng :xagiống như ZZngoại trừ nếu bạn có nhiều hơn 1 tệp được mở trong phiên bản trình soạn thảo (chẳng hạn như các tab vim). Lưu ý: Tôi không chắc chắn tất cả điều này là 100% compat với tất cả các bản sao vi, nhưng tôi biết nó hoạt động với vim


1
Cảm ơn. Các ZZlệnh có vẻ là hữu ích. Tôi có thể thấy vấn đề với Ctrl+[nhưng tôi đang sử dụng bố cục bàn phím của Thụy Điển và tôi phải nhấn AltGr+8để có được [điều đó sẽ phù Ctrl+AltGr+8hợp với tôi :(
Jonas

Cũng lưu ý ZQlà có hiệu quả tương tự như :q!. Tuy nhiên, đây không phải là tiêu chuẩn. ZZmặt khác, được chỉ định trong POSIX .
tự đại diện

4

Việc thoát khỏi vi là một cách khác Esc :x.

Tùy chọn này được sử dụng để lưu và thoát cùng một lúc.


2
Lưu ý rằng thích ZZ, :xsẽ chỉ ghi tệp nếu nội dung của nó đã thay đổi, không giống như :wq.
jlliagre

2

Như Sinan đã nói, vim là một biên tập viên phương thức. Nếu bạn muốn biết liệu điều đó có hiệu quả với bạn không, bạn có thể nên đầu tư một chút thời gian và chạy vimtutor, đó là một cách tương tác để học vim. (Nó cũng bao gồm cách thoát, ý nghĩa của các chế độ và những gì bạn có thể làm trong mỗi chế độ).


-2

Sau khi sửa đổi, xin vui lòng nhấn ESCvà lệnh đã cho :wq!.

Điều này sẽ mạnh mẽ viết sửa đổi mới trên tệp chỉ đọc. Trước đó nó không hoạt động vì tệp chỉ đọc.


1
Tại sao bạn trả lời một câu hỏi từ 4 năm trước, về cơ bản là một câu trả lời lại câu trả lời hàng đầu? Dù sao thì nó cũng sai: điều này sẽ không bắt buộc viết một tệp chỉ đọc - nó sẽ cố viết, có thể thất bại, và sau đó sẽ buộc bỏ mà không lưu.
Chris

Tôi đã thử với các ý kiến ​​trước đó và nó không hoạt động. Tôi nghĩ rằng nó sẽ hữu ích để chia sẻ những gì tôi đã làm. Nó không quan trọng khi câu hỏi được đăng, nhưng liệu các giải pháp có được áp dụng hay không.
Arif A.

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.