it-swarm-id.com

Bagaimana cara saya keluar dari editor Vim?

Saya terjebak dan tidak bisa melarikan diri. Ia mengatakan:

"type :quit<Enter> to quit VIM"

Tetapi ketika saya mengetik itu hanya muncul di objek benda.

3294
jclancy

Memukul Esc untuk memasukkan "mode Normal". Kemudian Anda dapat mengetik : untuk memasukkan "mode baris perintah". Tanda titik dua (:) akan muncul di bagian bawah layar dan Anda dapat mengetikkan salah satu dari perintah berikut. Untuk menjalankan perintah, tekan tombol Enter kunci.

  • :q untuk berhenti (kependekan :quit)
  • :q! untuk keluar tanpa menyimpan (kependekan :quit!)
  • :wq untuk menulis dan berhenti
  • :wq! untuk menulis dan berhenti walaupun file hanya memiliki izin baca (jika file tidak memiliki izin menulis: paksa menulis)
  • :x untuk menulis dan berhenti (mirip dengan :wq, tetapi hanya menulis jika ada perubahan)
  • :exit untuk menulis dan keluar (sama dengan :x)
  • :qa untuk keluar semua (kependekan :quitall)
  • :cq untuk keluar tanpa menyimpan dan membuat Vim mengembalikan kesalahan bukan nol (mis. keluar dengan kesalahan)

Anda juga dapat keluar dari Vim langsung dari "mode Normal" dengan mengetik ZZ untuk menyimpan dan keluar (sama dengan :x) atau ZQ untuk keluar saja (sama seperti :q!). (Perhatikan bahwa case penting di sini. ZZ dan zz tidak berarti hal yang sama.)

Vim memiliki bantuan luas - yang dapat Anda akses dengan perintah :help - di mana Anda dapat menemukan jawaban untuk semua pertanyaan Anda dan tutorial untuk pemula.

4468
dirvine

Sebelum Anda memasukkan perintah, tekan tombol Esc kunci . Setelah Anda memasukkannya, tekan tombol Return untuk mengkonfirmasi.

Esc menyelesaikan perintah saat ini dan beralih Vim ke mode normal . Sekarang jika Anda menekan :, : akan muncul di bawah layar. Ini mengonfirmasi bahwa Anda benar-benar mengetik perintah dan tidak mengedit file.

Sebagian besar perintah memiliki singkatan, dengan bagian opsional terlampir dalam tanda kurung: c[ommand].

Perintah yang ditandai dengan '*' hanya untuk Vim (tidak diterapkan di Vi).

Berhenti-aman (gagal jika ada perubahan yang belum disimpan):

  • :q[uit] Keluar dari arus jendela . Keluar dari Vim jika ini adalah jendela terakhir. Ini gagal ketika perubahan telah dibuat saat ini buffer .
  • :qa[ll] * Tutup semua jendela dan Vim, kecuali ada beberapa buffer yang telah diubah.

Prompt-stops (meminta jika ada perubahan yang belum disimpan)

  • :conf[irm] q[uit] * Keluar, tetapi beri Prompt ketika ada beberapa buffer yang telah diubah.
  • :conf[irm] xa[ll] * Tulis semua buffer yang diubah dan keluar dari Vim. Memunculkan Prompt ketika beberapa buffer tidak dapat ditulis.

Tulis (simpan) perubahan dan keluar:

  • :wq Tulis file saat ini (bahkan jika itu tidak diubah) dan berhenti. Penulisan gagal ketika file hanya-baca atau buffer tidak memiliki nama. :wqa[ll] * untuk semua jendela.
  • :wq! Hal yang sama, tetapi bahkan menulis file read-only. :wqa[ll]! * untuk semua jendela.
  • :x[it], ZZ (dengan detail ). Tulis file saja jika sudah diubah dan keluar, :xa[ll] * untuk semua jendela.

Buang perubahan dan keluar:

  • :q[uit]!ZQ * Berhenti tanpa menulis, juga ketika buffer yang terlihat memiliki perubahan. Tidak keluar ketika ada buffer tersembunyi yang diubah.
  • :qa[ll]! *, :quita[ll][!] * Quit Vim, semua perubahan pada buffer (termasuk tersembunyi) hilang.

Tekan Return untuk mengkonfirmasi perintah.

Jawaban ini tidak merujuk semua Vim menulis dan keluar dari perintah dan argumen. Memang, mereka dirujuk dalam dokumentasi Vim .

Vim memiliki bantuan bawaan yang luas, ketik Esc:helpReturn untuk membukanya.

Jawaban ini diinspirasi oleh pengguna yang lain , awalnya ditulis oleh @dirvine dan diedit oleh pengguna SO lainnya. Saya telah memasukkan lebih banyak informasi dari referensi Vim, SO komentar dan beberapa sumber lainnya. Perbedaan untuk Vi dan Vim juga tercermin.

159
Nick Volynkin

Gambar bernilai seribu perintah dan opsi Unix:

Enter image description here

Saya menggambar ini untuk siswa saya setiap semester dan mereka tampaknya memahami vi setelahnya.

vi adalah mesin keadaan terbatas dengan hanya tiga status.

Saat memulai, vi masuk ke mode PERINTAH, di mana Anda dapat mengetik perintah karakter yang pendek, sedikit, secara membabi buta . Anda tahu apa yang Anda lakukan; ini bukan untuk amatir.

Ketika Anda benar-benar ingin mengedit teks, Anda harus pergi ke mode INSERT dengan beberapa perintah satu karakter:

  • i: buka INSERT menggantikan kursor
  • I: masuk ke mode INSERT di awal baris
  • a: tambahkan setelah kursor
  • A: tambahkan di akhir baris
  • o: open baris baru di bawah baris saat ini
  • O: open baris baru menggantikan baris saat ini

Sekarang, jawab pertanyaannya: keluar.

Anda dapat keluar dari mode EX:

  • q: jika Anda belum melakukan modifikasi, atau menyimpannya sebelumnya
  • q !: mengabaikan modifikasi apa pun dan berhenti
  • wq: simpan dan keluar
  • x: ini sama dengan wq

w dan x menerima parameter nama file. Jika Anda mulai vi dengan nama file, Anda tidak perlu memberikannya lagi di sini.

Akhirnya, yang paling penting: bagaimana Anda bisa mencapai mode EX?

Mode EX untuk perintah panjang yang bisa Anda lihat mengetik di bagian bawah layar. Dari mode PERINTAH, Anda menekan titik dua, :, dan titik dua akan muncul di bagian bawah, di mana Anda dapat mengetik perintah di atas.

Dari mode INSERT, Anda perlu menekan ESC, mis. Tombol Escape, pergi ke mode PERINTAH, dan kemudian: untuk pergi ke mode EX.

Jika Anda tidak yakin, Tekan ESC dan itu akan membawa Anda ke mode perintah.

Jadi, metode yang kuat adalah ESC -: - x-Enter yang menyimpan file Anda dan berhenti.

135
Gergely

Jika Anda ingin berhenti tanpa menyimpan Vim dan minta Vim mengembalikan kode keluar yang tidak nol, Anda dapat menggunakan :cq.

Saya menggunakan ini sepanjang waktu karena saya tidak bisa diganggu untuk beralih ke !. Saya sering mengirim pipa ke Vim yang tidak perlu disimpan dalam file. Kami juga memiliki pembungkus SVN ganjil di tempat kerja yang harus dikeluarkan dengan nilai tidak nol untuk membatalkan checkin.

71
Sue Spence

Ini untuk skenario terburuk keluar dari Vim jika Anda hanya ingin keluar, tidak tahu apa yang telah Anda lakukan dan Anda tidak peduli apa yang akan terjadi pada file yang Anda buka.

Ctrl-cEnterEnterviEnterCtrl-\Ctrl-n:qa!Enter

Ini akan membuat Anda keluar sebagian besar waktu.

Beberapa kasus menarik di mana Anda memerlukan sesuatu seperti ini:

  • iCtrl-ovg (Anda memasukkan mode penyisipan, lalu mode visual dan kemudian mode pending operator)

  • QappendEnter

  • iCtrl-ogQCtrl-r=Ctrl-k (terima kasih kepada porges untuk kasus ini)

  • :set insertmode (ini adalah kasus ketika Ctrl-\Ctrl-n mengembalikan Anda ke mode normal)


Sunting: Jawaban ini diperbaiki karena kasus di atas. Dulu:

EscEscEsc:qa!Enter

Namun, itu tidak berfungsi jika Anda telah memasuki mode Ex. Dalam hal ini yang perlu Anda lakukan:

viEnter:qa!Enter

Jadi perintah lengkap untuk "Saya tidak ingin tahu apa yang telah saya lakukan dan saya tidak ingin menyelamatkan apa pun, saya hanya ingin keluar sekarang!" akan menjadi

viEnterEscEscEsc:qa!Enter

40
Heikki Naski

Jika Anda perlu keluar dari Vim di mode mudah (saat menggunakan opsi -y) Anda dapat memasuki mode Vim normal dengan menekan Ctrl + L dan kemudian salah satu opsi keluar yang normal akan berfungsi.

36
wsams

Vim memiliki tiga mode operasi: Mode input, mode Perintah & Mode Ex.

mode Input - semua yang Anda ketikkan, semua penekanan tombol akan ditampilkan di layar.

mode Perintah atau mode Escape - semua yang Anda ketik dalam mode ini ditafsirkan sebagai perintah.

Ex mode - ini adalah editor lain, mis. Itu adalah editor baris. Ini bekerja per baris atau berdasarkan berbagai garis. Dalam mode ini, a : muncul di bagian bawah layar. Ini adalah mantan editor.

Untuk keluar dari Vim, Anda dapat keluar saat berada dalam mode ex atau dalam mode perintah. Anda tidak dapat keluar dari Vim saat berada dalam mode input.

Keluar dari mode ex

  1. Anda harus yakin bahwa Anda berada dalam mode Perintah. Untuk melakukan itu, cukup tekan tombol Esc kunci.

  2. Buka mode ex dengan menekan tombol : kunci

  3. Gunakan salah satu dari kombinasi berikut dalam mode ex untuk keluar:

    :q - berhenti :q! - berhenti tanpa menyimpan :wq - simpan & keluar atau tulis & keluar :wq! - sama seperti wq, tetapi paksakan penulisan izin file dalam kasus hanya dapat dibaca :x - tulis & keluar :qa - berhenti semua. berguna ketika beberapa file dibuka seperti: vim abc.txt xyz.txt

Keluar dari mode perintah

  1. Tekan tombol keluar. Anda mungkin sudah melakukan ini jika Anda berada dalam mode perintah.

  2. Tekan modal ZZ (shift zz) - simpan & keluar

  3. Tekan modal ZQ (shift zq) - keluar tanpa menyimpan.

27
tovishalck

Setelah memukul ESC (atau cmd + C di komputer saya) Anda harus menekan : untuk perintah Prompt muncul. Kemudian, Anda dapat memasukkan quit.

Anda mungkin menemukan bahwa mesin tidak akan memungkinkan Anda untuk berhenti karena informasi Anda belum disimpan. Jika Anda tetap ingin berhenti, masukkan ! langsung setelah berhenti (mis. :quit!).

25
deleteMe

Sebenarnya sangat mudah untuk keluar dari vim.

Tekan Escape, putar balik dua kali, tendang kucing, buat secangkir teh yang sempurna, jalankan empat menit mil , panjat everest, buat Kessel Run di bawah 12 ( parsecs , selamatkan Kobayashi Mar , klaim tahta besi , dapatkan perdamaian dunia , tekan :qEnter

18
Caltor

Saya mendapat Vim dengan menginstal klien Git di Windows. :q tidak akan keluar dari Vim untuk saya. Namun :exit tidak ...

16

Saya ingin menambahkan dua sen pada ini. Pertanyaannya telah ditanyakan di sini .

Perintah q dengan nomor menutup pembagian yang diberikan pada posisi itu.

:q<split position> atau :<split position>q akan menutup pemisahan di posisi itu.

Katakanlah tata letak jendela Vim Anda adalah sebagai berikut:

-------------------------------------------------
|               |               |               |
-------------------------------------------------
|               |               |               |
|               |               |               |
|    Split 1    |    Split 2    |     Split 3   |
|               |               |               |
-------------------------------------------------

Jika Anda menjalankan perintah q1, itu akan menutup pemisahan pertama. q2 akan menutup pemisahan kedua dan sebaliknya.

Urutan posisi split dalam perintah berhenti tidak masalah. :2q atau :q2 akan menutup pemisahan kedua.

Jika posisi split yang Anda lewati untuk perintah lebih besar dari jumlah split saat ini, itu hanya akan menutup split terakhir.

Misalnya, jika Anda menjalankan q100 pada pengaturan jendela di atas di mana hanya ada tiga pemisahan, itu akan menutup pemisahan terakhir (Split 3).

5
Subash

Inilah cara Anda dapat keluar dari Vim. Tekan Ctrl dan 'Z' lalu 'X' dan 'C'.

Ctrl -> +Z -> +X -> +C
5
Alimov Shohrukh