Pertanyaan Bagaimana cara keluar dari editor Vim?


Saya terjebak dan tidak bisa melarikan diri. Ia mengatakan:

"type :quit<Enter> to quit VIM"

Tapi ketika saya mengetik itu hanya muncul di tubuh objek.


2704
2017-08-06 12:25


asal


Jawaban:


Hit the ESC untuk memasukkan "Normal mode". Kemudian Anda bisa mengetik : untuk memasukkan "mode Command-line". Tanda titik dua (:) akan muncul di bagian bawah layar dan Anda dapat mengetik salah satu dari perintah berikut. Untuk menjalankan perintah, tekan Memasukkan kunci.

  • :q  untuk berhenti (singkat untuk :quit)
  • :q! berhenti tanpa menyimpan (singkat untuk :quit!)
  • :wq untuk menulis dan berhenti
  • :wq! untuk menulis dan berhenti bahkan jika file hanya membaca izin (jika file tidak memiliki izin menulis: memaksa menulis)
  • :x  untuk menulis dan berhenti (mirip dengan :wq, tetapi hanya menulis jika ada perubahan)
  • :exit untuk menulis dan keluar (sama seperti :x)
  • :qa untuk berhenti semua (kependekan dari :quitall)
  • :cq untuk berhenti tanpa menyimpan dan membuat Vim mengembalikan kesalahan non-nol (yakni keluar dengan kesalahan)

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

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


3742
2017-08-06 12:46



Sebelum Anda memasukkan perintah, tekan tombol ESC kunci. Setelah Anda memasukkannya, tekan Kembali untuk mengkonfirmasi.

ESC selesai perintah saat ini dan beralih Vim ke mode normal. Sekarang jika Anda menekan :, yang : akan muncul di bawah dari layar. Ini menegaskan bahwa Anda benar-benar mengetikkan perintah dan tidak mengedit file.

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

Perintah yang ditandai dengan '*' adalah Vim-only (tidak diimplementasikan dalam Vi).

Aman-berhenti (gagal jika ada perubahan yang belum disimpan):

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

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

  • :conf[irm] q[uit]* Keluar, tetapi berikan prompt ketika ada beberapa buffer yang telah diubah.
  • :conf[irm] xa[ll]* Tulis semua buffer yang diubah dan keluar dari Vim. Muncul prompt ketika beberapa buffer tidak bisa ditulis.

Menulis (menyimpan) perubahan dan berhenti:

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

Buang perubahan dan berhenti:

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

tekan Kembali untuk mengkonfirmasi perintah.

Jawaban ini tidak mereferensikan semua tulisan Vim dan keluar dari perintah dan argumen. Memang, mereka direferensikan di Dokumentasi Vim.

Vim memiliki bantuan built-in yang luas, ketik ESC:helpKembali untuk membukanya.

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


138
2018-06-08 13:34



Gambar bernilai seribu perintah dan opsi Unix:

Enter image description here

Saya menggambar ini untuk murid-murid saya setiap semester dan mereka tampaknya memahami vi setelah itu.

vi adalah a mesin negara yang terbatas dengan hanya tiga negara bagian.

Setelah memulai, vi masuk ke mode COMMAND, di mana Anda dapat mengetikkan beberapa karakter perintah pendek, secara membabi buta. Anda tahu apa yang Anda lakukan; ini bukan untuk amatir.

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

  • i: masuk ke INSERT di tempat kursor
  • I: masuk ke mode INSERT di awal baris
  • a: tambahkan setelah kursor
  • A: tambahkan di akhir baris
  • Hai: Buka baris baru di bawah garis saat ini
  • HAI: Buka baris baru di tempat garis saat ini

Sekarang, jawab pertanyaan: keluar.

Anda dapat keluar dari vi dari mode EX:

  • q: jika Anda belum membuat modifikasi, atau menyimpannya terlebih dahulu
  • q !: mengabaikan semua modifikasi dan berhenti
  • wq: simpan dan keluar
  • x: ini sama dengan wq

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

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

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

Dari mode INSERT, Anda perlu mendorong ESC, yaitu tombol Escape, pergi ke mode COMMAND, 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.


69
2018-05-26 12:24



Jika Anda ingin berhenti tanpa menyimpan di Vim dan minta Vim mengembalikan kode keluar non-nol, yang bisa Anda gunakan :cq.

Saya menggunakan ini sepanjang waktu karena saya tidak bisa repot untuk mengganti pinky !. Saya sering mem-pipe hal-hal ke Vim yang tidak perlu disimpan dalam file. Kami juga memiliki pembungkus SVN aneh di tempat kerja yang harus dikeluarkan dengan nilai bukan nol untuk membatalkan suatu check-in.


65
2018-01-28 10:59



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-cMemasukkanMemasukkanviMemasukkanCtrl- \Ctrl-n:qa!Memasukkan

Ini harus mengeluarkan Anda sebagian besar waktu.

Beberapa kasus menarik di mana Anda memerlukan sesuatu seperti ini:

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

  • QappendMemasukkan

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

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


Edit: Jawaban ini dikoreksi karena kasus di atas. Dulu:

ESCESCESC:qa!Memasukkan

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

viMemasukkan:qa!Memasukkan

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

viMemasukkanESCESCESC:qa!Memasukkan


37
2018-06-24 13:38



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


32
2017-07-18 13:48



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

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


23
2017-11-28 15:25



Vim memiliki tiga mode operasi: Mode masukan, mode Command & mode Ex.

Mode masukan - semua yang Anda ketikkan, semua penekanan tombol digemakan di layar.

Mode perintah atau mode Escape - semua yang Anda ketikkan dalam mode ini ditafsirkan sebagai perintah.

Ex mode - ini editor lain, mis. Ini adalah editor baris. Ia 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 Anda berada dalam mode input.

Keluar dari mode ex

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

  2. Pergi ke mode ex dengan menekan tombol : kunci

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

    :q - berhenti :q! - keluar tanpa menyimpan :wq - simpan & berhenti atau menulis & berhenti :wq! - Sama seperti wq, tetapi memaksa menulis dalam perizinan file kasus hanya bisa dibaca :x - tulis & berhenti :qa - berhenti semua. berguna ketika beberapa file dibuka seperti: vim abc.txt xyz.txt

Keluar dari mode perintah

  1. Tekan tombol escape. 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.


22
2018-05-24 02:46