Bagaimana saya keluar dari Vi?

81

Saya memulai Vi di mesin Ubuntu saya. Namun saya baru mengenal Vi, dan sekarang saya tidak bisa berhenti. Saya melihat editor dan saya bisa menulis teks, di baris paling bawah ada label "rekaman".

Bagaimana saya keluar dari Vi?

Jonas
sumber
1
"Rekaman" omong-omong berarti Anda merekam makro. Bukan berarti itu tidak penting lagi.
frabjous
4
Pertanyaan ini mengembalikan kenangan "menyenangkan" seperti itu. Saya sangat senang bisa melupakan perasaan itu.
frabjous
Bagaimana kita bisa kembali dalam mode penyisipan dari mode hanya baca di Linux (Ubuntu di VMware diinstal) VI Editor?
2
Berhenti Vim telah menjadi meme sekarang.
noɥʇʎԀʎzɐɹƆ
2
Bagi mereka yang belum melihat lelucon itu: twitter.com/iamdevloper/statuses/435555976687923200
Federico Poloni

Jawaban:

91

vim adalah editor modal . Tekan ESCtombol untuk masuk ke mode Normal (perintah) lalu ketik :qdan tekan Enter.

Untuk berhenti tanpa menyimpan perubahan apa pun, ketik :q!dan tekan Enter.

Lihat juga Keluar dalam dokumentasi Vim.

Sinan Ünür
sumber
9
Terima kasih: Aku mencoba itu perintah, tapi setelah berjalan mereka saya diminta dengan: E37: No write since last change (add ! to override). Saya tidak punya apa-apa untuk diselamatkan.
Jonas
12
Gunakan :wqjika Anda ingin menyimpan apa yang telah Anda edit dan kemudian keluar. :q!jika Anda ingin keluar dan tinggalkan perubahan Anda.
Steven D
Atau jika Anda telah menulis sesuatu yang ingin Anda buat salinannya :w newFileName.txt,, lalu pilah masalah baca-saja di luar vi atau vim .
Kevin Cantu
5
berhenti :q; berhenti secara paksa :q!; keluar dan simpan :wqatau:x
fromnaboo
2
@Jonas, lain kali coba :qall!, saya curiga Anda telah membuka lebih banyak file dalam satu buffer tunggal.
Alan Dong
11

Saya menggunakan ctrl+ [untuk menghasilkan escurutan, ini membuat saya tidak harus memindahkan jari-jari saya dari baris rumah (ingat esckuncinya ada di tempat yang berbeda ketika viditemukan. :wqAkan menulis semua file terlepas dari kebutuhan. Saya sarankan menggunakan ZZ(yaitu shift+ zdua kali ) yang hanya akan menulis jika ada perubahan dalam file tersebut. Juga :xasama dengan ZZkecuali jika Anda memiliki lebih dari 1 file yang terbuka dalam instance editor (seperti tab vim). catatan: Saya tidak yakin semua ini 100% kompatibel dengan semua klon vi, tapi saya tahu ini berfungsi dengan vim

xenoterracide
sumber
1
Terima kasih. The ZZperintah tampaknya berguna. Saya dapat mengerti intinya dengan Ctrl+[tetapi saya menggunakan tata letak keyboard Swedia dan saya harus menekan AltGr+8untuk mendapatkan [itu Ctrl+AltGr+8bagi saya :(
Jonas
Catatan ZQjuga secara efektif sama dengan :q!. Namun, ini bukan standar. ZZ, Di sisi lain, adalah ditentukan dalam POSIX .
Wildcard
4

Berhenti dari vi adalah cara lain Esc :x.

Opsi ini digunakan untuk menyimpan dan keluar pada saat yang sama.

loganaayahee
sumber
2
Perhatikan bahwa suka ZZ, :xakan menulis file hanya jika isinya telah berubah, tidak seperti :wq.
jlliagre
2

Seperti yang dikatakan Sinan, vim adalah editor modal. Jika Anda ingin tahu apakah itu cocok untuk Anda, Anda mungkin harus menginvestasikan waktu dan menjalankan vimtutoryang merupakan cara interaktif untuk belajar vim. (Ini juga mencakup cara keluar, apa arti mode dan apa yang dapat Anda lakukan di setiap mode).

tante
sumber
-2

Setelah modifikasi, silakan tekan ESCdan perintah yang diberikan :wq!.

Ini akan dengan paksa menulis modifikasi baru pada file read-only. Sebelumnya itu tidak berfungsi karena file hanya-baca.

Arif A.
sumber
1
Mengapa Anda menjawab pertanyaan dari 4 tahun yang lalu, dengan pada dasarnya pengulangan dari jawaban teratas? Itu salah pula: ini tidak akan memaksa menulis file read-only - itu akan mencoba untuk menulis, mungkin gagal, dan kemudian akan memaksa berhenti tanpa menyimpan.
Chris
Saya mencoba dengan komentar sebelumnya dan tidak berhasil. Saya pikir akan bermanfaat untuk membagikan apa yang telah saya lakukan. Tidak penting ketika pertanyaan diposting, tetapi apakah solusinya berlaku atau tidak.
Arif A.
-2

coba kombinasi dari controldanZ

samsoty
sumber
2
Ini akan menjaga vi di latar belakang;
Archemar