Vim cho Windows - Tôi nhập gì để lưu và thoát khỏi tệp?


265

Sử dụng Windows XP, tôi đã vô tình gõ git commit -athay vì git commit -am "My commit message"và bây giờ tôi đang xem dấu nhắc của CMD chứa đầy phiên bản tệp của thông điệp cam kết của tôi ("Vui lòng nhập thông báo cam kết cho ..."). Tôi đã thêm thông điệp của mình lên đầu, nhưng bây giờ tôi không thể tìm ra cách lưu và rời đi. Tôi đã cố nhấn Ctrl+ W+ Q, nhưng nó không làm gì cả, nhưng thêm ^con trỏ ở đâu.

Tôi cũng đã thử Escđầu tiên, và sau đó Ctrl+ W+ Q, nhưng nó nói No write since last change (add ! to override).


13
Ồ, thật nhẹ nhõm khi tôi không phải là người duy nhất bị mắc kẹt ở đó.
Tomáš Zato - Tái lập lại

Câu trả lời:


515

Nhấn ESCđể đảm bảo bạn thoát khỏi chế độ chỉnh sửa và sau đó nhập:

:wq

6
@ User789 cho bất cứ điều gì cụ thể hoặc nói chung? Nếu bạn đang tìm kiếm các lệnh chung, hãy thử trang web này: viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
nunopolonia

1
Họ thực sự có thể đã thêm điều này như một bình luận để hàng ngàn người trong chúng ta không được gửi ra khỏi thiết bị đầu cuối cho ba nhân vật !! Nhưng tôi nghĩ nunopolonia rất vui vì họ đã không =)
Casey Murray

Hãy nhớ rằng nếu bạn có nhiều bố trí bàn phím và bạn quên rằng bạn không có bố cục bàn phím tiếng Anh , bạn có thể bị kẹt và nghĩ rằng điều này không hoạt động. Hy vọng tôi đã giúp ai đó không lãng phí thời gian như tôi đã làm.
Djuka

3
Cảm ơn chúa tôi đã tìm thấy thứ này. Nghiêm túc mà nói, sẽ không hại gì nếu chỉ thêm một phần hướng vào màn hình thông báo cam kết nhập ??
voidzero

52

Thay vì cho bạn biết làm thế nào bạn có thể thực thi một lệnh nhất định ( Esc:wq), tôi có thể cung cấp cho bạn hai liên kết có thể giúp bạn với VIM:

Tuy nhiên, cách tốt nhất để học Vim không chỉ là sử dụng nó cho các cam kết Git, mà như một trình soạn thảo thông thường cho công việc hàng ngày của bạn.

Nếu bạn sẽ không chuyển sang Vim, việc ghi nhớ các lệnh của nó là vô nghĩa. Trong trường hợp đó, hãy đi và thiết lập trình chỉnh sửa yêu thích của bạn để sử dụng với Git .


+1 cho câu trả lời thực sự hữu ích này. Tôi thích Emacs hơn và nhờ vào liên kết của bạn, tôi không phải tìm kiếm giải pháp.
Keks Liều

+1 cho lời giải thích về VIM và cách thiết lập trình soạn thảo của riêng tôi
EdmundYeung99

Dạy cách câu cá tốt hơn là cho nó ăn cá. Cảm ơn.
ma trận

Cách tốt nhất để trả lời câu hỏi nên được hỏi. Thx
moemen.ahmed

Liên kết HTML bị hỏng.
Naxos84

35

Escđể đảm bảo bạn thoát khỏi chế độ chèn, sau đó :wq(dấu hai chấm) hoặc ZZ(shift-Z shift-Z).


2
Bất cứ ai khác nhận thấy điều này dễ dàng Shift-Z Shift-Zhơn nhiều so với người khác? Và nhân tiện, có điều gì trở nên ít trực quan hơn không? Ồ vâng, tôi là công dân của Windows!
Ifedi Okonkwo

30
  • Nhấn ihoặc ađể vào chế độ chèn và nhập thông báo bạn chọn

  • Nhấn ESCnhiều lần để thoát khỏi chế độ chèn hoặc bất kỳ chế độ nào khác mà bạn có thể gặp phải do tai nạn

    • để tiết kiệm :wq, :xhoặcZZ

    • để thoát mà không lưu, :q!hoặcZQ

Để tải lại tệp và hoàn tác tất cả các thay đổi bạn đã thực hiện ...:

Nhấn vài lần ESCrồi nhập :e!.


10

Một cách nhanh hơn để

  • Tiết kiệm
  • và bỏ

sẽ là

:x

Nếu bạn đã mở nhiều tệp, bạn có thể cần phải làm một

:xa

Lưu ý rằng: x sẽ chỉ ghi các tệp đã thay đổi.
Simon Richter

5

:q! sẽ buộc một lối thoát không lưu vô điều kiện


6
Đây nên là một bình luận. Nó rất phù hợp nhưng không trả lời câu hỏi. Trái lại, nó nói về một mệnh lệnh trái ngược với những gì được yêu cầu. Có liên quan nhưng không phải là câu trả lời
Rune FS

0

Sử dụng:

:wq!

Dấu chấm than được sử dụng để ghi đè chế độ chỉ đọc.

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.