Vim komut satırından nasıl kapatılır?


46

Bunun daha genel bir linux sorusu olduğunu biliyorum ama w / e. Bu yüzden komut isteminde vim gibi bir programa girdiğimde dosyadaki tüm metni görüntülüyor ve düzenleyebiliyorum vs. süreç. Herhangi bir yardım takdir edilmektedir.




Yanıtlar:


70

Vim'de 3 farklı mod vardır:

  • Ekle - normal olarak yazmaya ve düzenlemeye izin verir
  • Görsel - kopyala / yapıştır vs.'yi seçmek için kullanılır
  • Normal - komutlar için kullanılır

Normal moda dönmek için tuşuna her zaman basabilirsiniz esc.

Normal moddayken :Komutunuza başlamak için tuşuna basın (sol alt köşede göründüğünü göreceksiniz). Aşağıdaki komutlar vim'den çıkmakla ilgilidir:

  • :q - değişiklik yapılmazsa, istifa et
  • :q! - yapılan değişiklikleri bırak ve yok et
  • :wq - değişiklikleri yaz (kaydet) ve çık
  • :x- benzer :wq, ancak değişiklik yapıldıysa dosyayı yazın, sonra

4
ve :xkısayol:wq
Ward Muylaert

2
Sen sadece “normal” modunu unuttum. vay. Aslında mode()vim'deki işlev 18 farklı değer verebilir.
Benoit

Benoit tarafından belirtildiği gibi, bu cevap kafa karıştırıcı biçimde "komut modu" terimini kullanarak vim belgelerinin "normal mod" dediği şeye başvurur. Vim docs komutunu :normal modda basarak girdiğiniz şey olarak kabul eder . Eğer vurursanız esc, normal moda dönersiniz. -1 Standart terminolojiyi öğrenmeye çalışan insanlara yanıltıcı olmaları (ve dolayısıyla yardım sistemini anlayabilmeleri için).
sezgi

6
@intuited Herkes, uzun vadede aşağı oylamadan ve yorumlara gömülecek iyi bir tavsiyeden daha uzun bir olasılıkla daha yararlı olacak düzenlemeler önerebilir.
Michael Martin-Smucker

Bilgi için teşekkürler, ayrıca VIM'de bir yerde de gösterilmeli, böylece birileri bilmeli ... internette arama yapmak çok saçma.
shridutt kothari 03:15 '

14

İlk önce, escapetuşa basın. 1

Sonra sadece yazın ZZ(art arda iki büyük Z).
Veya yazın :x. Her iki düzenleme de kaydedilecek ve ayrılacak.
Ayrıca kullanabilirsin:wq

Alternatif olarak, :q (aka, " quit, please ") yazabilirsiniz. Bu, yalnızca düzenleme yapmadıysanız çıkar.

Düzenlemeler yaptıysanız ve bunları atıp bırakmak istiyorsanız, :q!(aka " bırak, kahretsin !") Yazın .

1 : Bu "komut" modunda olmanızı sağlar. Komut yazmak için istediğiniz, çıkmak için gerekenler gibi.


4

Rahatsızlığımızdan ötürü, komut satırı programlarından çıkmak için genel bir yöntem yoktur; bunun gibi grafik programları için "X" düğmesi vardır.

Birçok komut satırı programı , çıkmak için Q(örneğin manve top) veya Ctrl+ C(örneğin pingve watch) kullanma temasını izler , ancak bu, özellikle metin editörleri arasında oldukça değişkendir:

  • Vim özel kullanımların karanlık kombinasyonu :q!daha sonra Enter, genellikle birkaç pres öncesinde Esciyi ölçmek için.
  • Emacs , başka mücevher, tercih Ctrl+ Xtakip Ctrl+ C.

Bunun gibi editörler deneyimsizlerin tuzağıdır. Benim kişisel tercihim ve tavsiyem, komut satırındaki metni düzenlemek zorunda kaldığında bunun yerine kendi kendini açıklayıcı Joe'nun Kendi Editörünü (JOE) kullanmaktır .


4
Aslında nanobunun çok daha evrensel bir kendini açıklayıcı konsol metin editörü olduğunu iddia ediyorum .
jondavidjohn

@jondavidjohn Sizin çekişmeniz tartışmalı. Nano'nun tartışmasız daha evrensel olduğuna katılıyorum ve JOE'den daha az açıklayıcı olduğunu iddia etmiyorum. Benim tercihi JOE için kaynaklanmaktadır genişletilmiş özellik seti ve benim tavsiye deneyimsiz kullanıcılara bu terim kullanımı gibi inceliklerini etkilenir Kaydet arkaik yerine WriteOut .
ændrük

Genellikle işlemi askıya almak için ^ Z kullanabilirsiniz. Sonra onu öldürebilir, görmezden gelebilir, arka plana koyabilir veya geri getirebilirsiniz. (% 1 öldür veya% x, bg, fg öldür). Zaten bazı iş kontrol birliği var.
belacqua

3

Jondavidjohn'ın cevabının yanı sıra, işte vim kullanımı hakkında vazgeçilmez bilgiler içeren iki bağlantı.

  1. Bu, düzenleme modunda, komut modunda veya görsel modda olmanıza bağlı olarak her bir tuşun ne yaptığını gösteren bir klavye grafiğidir:

    http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

  2. Bu, şimdiye kadar çalıştığım en iyi vim öğreticisi. IRC / anlık mesajlaşma formatından dolayı konuşması ve anlaşılması kolaydır.

    http://www.vi-improved.org/tutorial.php

Son olarak, sadece gelişmiş komut satırı metin editörlerini kullanmak istemeyen aendruk gibi bazı var. Özellikle Vim'in dik bir öğrenme eğrisi var ve alışmak için gerçekten biraz çaba sarfediyor. Ama çok hızlı ve çok güçlü. Temel masaüstü kullanımının ötesinde linux ile ilgileniyorsanız, Vim veya Emacs gibi iyi bir komut satırı metin düzenleyicisi öğrenmeye zaman ayırmaya değer. Yalnızca bir metni düzenlemeniz ve bunun ötesinde bir önemi yoksa, gedit filename.txtbunun yerine yazmayı deneyin . Windows'taki Not Defteri gibi tanıdık bir grafik programı başlatacak.


@djeikyb: Temel masaüstü kullanımı ile gelişmiş komut satırı metin düzenleme arasında ayrım yaptığınız için teşekkür ederim. Ubuntu'nun diğer Linux dağıtımları üzerindeki gücü, Linux masaüstünü, günümüzde giderek artan bir şekilde Vim gibi editörlerin bile ne olduğunu bilmeye ihtiyaç duymayacak eşsiz lüksüyle sınırlandırılan günlük bilgisayar kullanıcıları tarafından erişilebilir kılma yeteneğindedir.
ændrük

... Bu özel özgürlük sayesinde, günlük bilgisayar kullanımı sırasında sabrım olduğu gibi, geleneksel Linux komut satırı yöntemlerinin üzerinde çalışma kararını verdim. Yalnızca basit ve erişilebilir araçları kullanmaya gayret ediyorum çünkü büyük ölçüde gücüm yetiyor . Komut satırı metin editörlerini sevmediğimi söylemek yanlış olur. Aksine, VimOutliner eklentisiyle Vim'e düşkünüm ve Vimperator / Pentadactyl projesi üzerindeki etkisinden dolayı kendisine borçluyum.
ændrük

... Ancak, bu araçları kişisel kullanımımı tipik bilgisayar kullanımından sapma olarak görüyorum. Ubuntu topluluğunun, ileri düzey araçlara dik öğrenme eğrileri ile gündelik kullanımının gündelik kullanıcılar arasındaki norm olduğunu daha az kolay önerebileceğini düşünmenin sağlıklı bir gelişme olacağını düşünüyorum.
ændrük

@Letseatlunch, eğer amacınız Vim'de yetkin olmaksa, o zaman elbette ki peşinden gitmeye devam etmenizi teşvik ediyorum. Sadece, Ubuntu'nun diğer işletim sistemlerinin tamamen yoksun olduğu birçok gelişmiş araç sunarken, onları kullanmayı öğrenmenin asla Ubuntu kullanmak için bir gereklilik olmaması gerektiğini bildirmek istiyorum .
ændrük

Harika bir açıklama! Bunu daha iyi yansıtmak için cevabımı düzenleyeceğim. Ayrıca, özellikle nano üzerinde gedit önerdim çünkü gedit tanıdık bir gui ile daha yüksek seviyedeydi ve nano ilk başta saçma saplantılı bir şekilde kafa karıştırıcıydı çünkü (şapka sembolü ne anlama geliyor? . Şimdi komik olan vim'i düşünmek, benim seçim editörüm.
djeikyb

2

eğer Esc :q!çalışmıyor,

İlk deneyin Ctrl+ q(ile kilitli ekran kilidini açmak için Ctrl+ s)

daha sonra tekrar deneyin Esc :q!( Esc :wqkaydetmeden çıkmak için ) veya (kaydetmek ve çıkmak için)


0

Kaydetmeden çıkış yapmak istiyorum:

  1. hit ESC
  2. hit ZQ

Tasarrufla çık:

  1. hit ESC
  2. hit ZZ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.