it-swarm-tr.com

Vim editöründen nasıl çıkarım?

Sıkıştım ve kaçamıyorum. Diyor ki:

"type :quit<Enter> to quit VIM"

Ama bunu yazdığımda, sadece nesne gövdesinde görünür.

3294
jclancy

I vur Esc "Normal mod" girmek için Sonra "Komut satırı modu" girmek için : yazabilirsiniz. Ekranın altında bir sütun (:) görünecek ve aşağıdaki komutlardan birini yazabilirsiniz. Bir komutu yürütmek için Enter tuşuna basın.

  • :q çıkmak için (:quit için kısa)
  • :q! kaydetmeden çıkmak için (:quit! için kısa)
  • :wq yazmak ve çıkmak
  • :wq! sadece dosya okuma iznine sahip olsa bile yazmak ve çıkmak için (eğer dosya yazma iznine sahip değilse: zorla yazma)
  • :x yazmak ve çıkmak için (:wq öğesine benzer, ancak yalnızca değişiklik olursa yazın)
  • :exit yazmak ve çıkmak için (:x ile aynı)
  • :qa tamamen çıkmak için (:quitall için kısa)
  • :cq kaydetmeden çıkmak ve Vim'in sıfır olmayan hatayı döndürmesini sağlamak (örneğin, hatayla çıkmak)

Ayrıca kaydetmek ve çıkmak için ZZ yazarak (:x ile aynı) veya ZQ yazıp (:q! ile aynı) doğrudan Vim'den "Normal mod" dan çıkabilirsiniz. (Burada durumun önemli olduğunu unutmayın. ZZ ve zz aynı anlama gelmez.)

Vim'in geniş yardımı vardır - :help komutuyla erişebilirsiniz - tüm sorularınızın yanıtlarını ve yeni başlayanlar için bir öğretici bulabilirsiniz.

4468
dirvine

Komuta girmeden önce,  Esc Anahtar . Girdikten sonra vur Return onaylamak.

Esc Geçerli komutu tamamlar ve Vim'i normal moda olarak değiştirir. Şimdi basarsan :, :, ekranın alt kısmında görünecektir. Bu, aslında bir komut yazdığınızı ve dosyayı düzenlemediğinizi doğrular.

Çoğu komutun kısaltmaları vardır, isteğe bağlı kısım parantez içine alınır: c[ommand].

'*' İle işaretlenen komutlar yalnızca Vim'dir (Vi'de uygulanmamıştır).

Güvenli bırakma (kaydedilmemiş değişiklikler varsa başarısız olur):

  • :q[uit] Geçerli pencereden komutundan çıkın. Bu son pencere ise Vim'den çıkın. Bu, geçerli buffer içerisinde değişiklik yapıldığında başarısız olur.
  • :qa[ll] * Değiştirilen bazı tamponlar mevcut değilse, tüm pencerelerden ve Vim'den çıkın.

İstemi bırak (kaydedilmemiş değişiklikler olup olmadığını sorar)

  • :conf[irm] q[uit] * Çık, ancak değiştirilmiş bazı tamponlar olduğunda sor.
  • :conf[irm] xa[ll] * Değiştirilen tüm tamponları yaz ve Vim'den çık. Bazı tamponların yazılamadığı durumlarda bir bilgi istemi getirin.

Değişiklikleri yazın (kaydedin) ve çıkın:

  • :wq Geçerli dosyayı (değiştirilmediyse bile) yazın ve çıkın. Dosya salt okunur olduğunda veya arabellek bir adı olmadığında yazma başarısız olur. :wqa[ll] * tüm pencereler için.
  • :wq! Aynı, ancak salt okunur dosyaları bile yazar. :wqa[ll]! * tüm pencereler için.
  • :x[it], ZZ ( detayları ile). Dosyayı yalnızca değiştirildiyse yazın ve tüm pencereler için :xa[ll] * 'den çıkın.

Değişiklikleri iptal et ve çık:

  • :q[uit]!ZQ * Görünür arabellekler de olsa, yazmadan çıkın. Gizli tamponlar değiştiğinde çıkış yapmaz.
  • :qa[ll]! *, :quita[ll][!] * Vim'den çıkın, arabelleklerde (gizli dahil) yapılan tüm değişiklikler kaybolur.

Basın Return komutu onaylamak için.

Bu cevap tüm Vim yazma ve çıkma komutlarına ve argümanlarına referans vermez. Gerçekten de, Vim belgelerinde 'de referansta bulunulur.

Vim'in geniş dahili yardım türü vardır. Esc:helpReturn açmak için.

Bu cevap, diğerinden 'dan esinlenerek, ilk olarak @dirvine tarafından yazılmıştır ve diğer SO kullanıcıları tarafından düzenlenmiştir. Vim referansı, SO yorumu ve diğer bazı kaynaklardan daha fazla bilgi ekledim. Vi ve Vim için farklılıklar da yansıtılmaktadır.

159
Nick Volynkin

Resimler bin Unix komut ve seçeneklerine değer:

 Enter image description here

Bunu her dönem öğrencilerime çiziyorum ve daha sonra vi'yi kavrayacaklar gibi görünüyor.

vi, bir sonlu durumlu bir makinedir yalnızca üç durumludur.

Başladıktan sonra, vi COMMAND moduna girer, burada kısa, az sayıda karakter komutu yazabilirsiniz, blindly . Ne yaptığını biliyorsun; Bu amatörler için değil.

Metni gerçekten düzenlemek istediğinizde, bir karakterlik bir komutla INSERT moduna geçmelisiniz:

  • i: imlecin yerine INSERT konumuna git
  • I: satır başında INSERT moduna git
  • a: append after imleç
  • A: satırın sonuna ekle
  • o: open geçerli satırın altındaki yeni satır
  • O: open geçerli satırın yerine yeni bir satır

Şimdi soruyu cevaplayarak: çıkmak.

EX modundan vi'den çıkabilirsiniz:

  • q: herhangi bir değişiklik yapmadıysanız veya önceden kaydetmediyseniz
  • q !: herhangi bir değişikliği yok sayar ve quit
  • wq: kaydet ve çık
  • x: bu wq'ye eşittir

w ve x bir dosya adı parametresini kabul eder. Vi'yi bir dosya adıyla başlattıysanız, burada tekrar vermenize gerek yoktur.

Sonunda, en önemlisi: EX moduna nasıl ulaşabilirsiniz?

EX modu, ekranın alt satırında yazarak görebileceğiniz uzun komutlar içindir. COMMAND modunda, siz kolonu, : tuşunu bastığınızda, yukarıdaki komutları yazabileceğiniz alt satırda bir kolon belirir.

INSERT modunda, ESC'ye, yani Escape düğmesine basıp COMMAND moduna gidip sonra: EX moduna geçmelisiniz.

Emin değilseniz ESC tuşuna basın, bu sizi komut moduna getirecektir.

Bu nedenle, sağlam yöntem ESC -: - x-Enter, dosyanızı kaydeder ve çıkar.

135
Gergely

Vim ve 'de kaydetmeden çıkmak istiyorsanız, Vim'in sıfır olmayan bir çıkış kodu döndürmesini istiyorsanız, :cq öğesini kullanabilirsiniz.

Bunu her zaman kullanıyorum çünkü ! için pinky vardiyası için rahatsız olamıyorum. Sık sık Vim'e bir dosyaya kaydedilmesi gerekmeyen şeyler aktarırım. Ayrıca, bir check-in işlemini iptal etmek için sıfır olmayan bir değerden çıkması gereken işyerinde tuhaf bir SVN ambalajına sahibiz.

71
Sue Spence

Bu sadece dışarı çıkmak istiyorsan, ne yaptığını bilmiyorsan ve açtığın dosyalara ne olacağını umursamıyorsan, Vim'den çıkmanın en kötü senaryosu.

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

Bu seni çoğu zaman dışarı çıkarmalı.

Bunun gibi bir şeye ihtiyaç duyduğunuz bazı ilginç durumlar:

  • iname__Ctrl-ovg(ekleme moduna, ardından görsel moda ve ardından operatör beklemede moduna girersiniz)

  • Qappendname__Enter

  • iname__Ctrl-ogQname__Ctrl-r=Ctrl-k (bu dava için gözenekler sayesinde)

  • :set insertmode (bu ne zaman böyle Ctrl-\Ctrl-n Sizi normal moda döndürür)


Düzenleme: Yukarıdaki cevap nedeniyle bu cevap düzeltildi. Öyleydi:

EscEscEsc:qa!Enter

Ancak, Ex moduna girdiyseniz bu işe yaramaz. Bu durumda yapmanız gerekenler:

viname__Enter:qa!Enter

Bu yüzden "Ne yaptığımı bilmek istemiyorum ve hiçbir şeyi kurtarmak istemiyorum, sadece şimdi istiyorum!" olabilir

viname__EnterEscEscEsc:qa!Enter

40
Heikki Naski

Vim'den easy mode (-y seçeneğini kullanırken) çıkmanız gerekirse, tuşuna basarak normal Vim moduna girebilirsiniz. Ctrl + L ve sonra normal çıkış seçeneklerinden herhangi biri işe yarayacaktır.

36
wsams

Vim'in üç çalışma modu vardır: Giriş modu, Komut modu ve Ex modu.

Giriş mod - yazdığınız her şey, tüm tuş vuruşları ekranda yankılanır.

Komut modu veya Kaçış mod - Bu modda yazdığınız her şey bir komut olarak yorumlanır.

Ex mode - bu başka bir editör, örn. Bu bir çizgi editörüdür. Satır başına çalışır veya bir dizi satıra göre çalışır. Bu modda, bir : Ekranın altında belirir. Bu eski editör.

Vim'den çıkmak için, ex modunda veya komut modundayken çıkabilirsiniz. Giriş modundayken Vim'den çıkamazsınız.

ex modundan çıkmak

  1. Komut modunda olduğunuzdan emin olmanız gerekir. Bunu yapmak için, sadece Esc tuşuna basın.

  2. Tuşuna basarak eski moda gidin. : anahtar

  3. Çıkmak için ex modda aşağıdaki kombinasyonlardan birini kullanın:

    :q - çıkın :q! - kaydetmeden çıkın :wq - kaydedin ve çıkın ya da çıkın ve çıkın :wq! - wq ile aynı, ancak dosya izinlerinin salt okunur olması durumunda yazmaya zorlayın :x - yazma ve çıkın :qa - çıkın. gibi birden fazla dosya açıldığında kullanışlıdır: vim abc.txt xyz.txt

komut modundan çıkma

  1. Escape tuşuna basın. Komut modundaysanız muhtemelen bunu zaten yaptınız.

  2. ZZ tuşuna basın (shift zz) - kaydet ve çık

  3. ZQ tuşuna basın (shift zq) - kaydetmeden çıkın.

27
tovishalck

Vurulduktan sonra ESC (veya cmd + C benim bilgisayarımda) vurmalısınız : İstemi komutunun görünmesi için. Sonra quit girebilirsiniz.

Bilgileriniz kaydedilmediğinden, makinenin çıkmanıza izin vermeyeceğini görebilirsiniz. Yine de çıkmak istiyorsanız, girin ! Çıktıktan hemen sonra (örneğin, :quit!).

25
deleteMe

vim öğesinden çıkmak gerçekten inanılmaz derecede kolay.

Basın Escape, iki kez dönün, kediyi tekmeleyin, mükemmel bir bardak çay yapın, bir dört dakika mili çalıştırın , hiç tırmanın, Kessel Koşusu 12 yaşın altında parsekler , Kobayashi'yi kurtarın Maru , demir tahtı iddia edin, dünya barışı elde edin , :q tuşuna basınEnter

18
Caltor

Windows'a Git istemcisi kurarak Vim'e sahibim. :q benim için Vim'den çıkmadı. Ancak :exit yaptı ...

16

Bunun üzerine iki kuruş eklemek istiyorum. Soru soruldu here .

Numaralı q komutu verilen bölmeyi o konumda kapatır.

:q<split position> veya :<split position>q, bölmeyi bu konumda kapatır.

Diyelim ki Vim pencere düzeniniz şöyle:

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

q1 komutunu çalıştırırsanız, ilk bölünmeyi kapatacaktır. q2 ikinci bölmeyi kapatır ve bunun tersi de geçerlidir.

Quit komutundaki ayrık konum sırası önemli değildir. :2q veya :q2 ikinci bölmeyi kapatır.

Komuta verdiğiniz bölme konumu geçerli bölmelerin sayısından büyükse, son bölmeyi basitçe kapatır.

Örneğin, yalnızca üç bölmenin olduğu yukarıdaki pencere kurulumunda q100 dosyasını çalıştırırsanız, son bölmeyi (Bölme 3) kapatacaktır.

5
Subash

İşte Vim'den nasıl çıkabilirsiniz. Ctrl & 'Z' ve ardından 'X' ve 'C' tuşlarına basın.

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

Basın Esc ekleme modundan çıkmak ve sonra kaydetmek ve çıkmak için :wq yapabilirsiniz veya normalde çıkmak için sadece :q yapabilirsiniz. :)

1
Connie