Geçici olarak Vim'den çıkma ve geri dönme


303

Vim'den nasıl çıkabilirim, değil :qve düzenlemeye devam etmek için nasıl geri dönebilirim?

Yanıtlar:


571

* Nix çeşidinde terminal Vim varsayarsak:

Koşu Vim'inizi askıya almak için

Ctrl + Z

süreci askıya alacak ve kabuğunuza geri dönecek

fg

(getirmek devam edecektir f cevheri g askıya alınmış Vim yuvarlak).

Yeni bir kabuk başlatmak için

Aşağıdakileri kullanarak bir alt kabuk başlatın:

:sh

(tarafından yapılandırıldığı gibi)

:set shell?

veya

:!bash

bunu takiben:

Ctrl+ D(veya exitneden bu kadar çok yazıyorsunuz?)

mermiyi öldürüp Vim'e geri dönmek için.


5
psplan işlemlerini görüntülemek için unix.stackexchange.com/questions/6115/…
Vlad

1
Dosyamı düzenlerken sunucumu çalıştırmaya devam etmek istersem ne olur? Örneğin, diyelim ki nodemon app.js(nodemon sizin için dosya düzenlemelerinde sunucuyu yeniler) ve sonra vim düzenlememe geri dönmek istiyorum. Bunu iki ayrı terminal penceresi olmadan yapabilir miyim?
Costa

5
ya da jobs(bana göre) daha okunabilir bir başlık ile ön plan süreçlerini ziyaret etmek. Sonra örneğin ikinciyi fg %2seçmek için.
isomorphismes

Bu sizin için işe yaramıyorsa ve control-z'geri al' gibi davranıyorsa, vimrc'nizi kontrol edin behave mswin. Kaldırır ve control-zçalışırsa
schuess

3
pencerelerde exit
yazdığınızda vim'e

107

:shVarsayılan kabuğunuza çıkmak için kullanabilirsiniz , ardından $ exitkabuk istemine yazdığınızda Vim'e dönersiniz.


1
Keşke bu kadar zorlanabilseydim. İşte tam da bu yüzden: kabuk var.
Randy Morris

8
Adil olmak gerekirse, bazen bir alt kabuk ortamı değil, aynı ortamı istersiniz. Dolayısıyla, Vim'den tamamen çıktığınızda ortam değişkenlerinde değişiklik arıyorsanız, CTRL-z /: sus komutunu kullanmak istersiniz.
Tango Bravo

Terminali yanlışlıkla kapatmamak için $ psaramadan önce bir vim alt kabuğunda olup olmadığımızı bulmak için kullanabilirsiniz $ exit. Bunu burada buldum (Web sitesinde belirtilen istem göstergesi denemedim).
Daniel

34

Kabuk moduna geçici olarak şu şekilde geçebilirsiniz:

:! <command>

gibi

:! ls

14

Unix sistemindeyseniz, Ctrl+Z , Vim'i askıya alır ve size bir kabuk verir.

Tip fggeri dönmek için. Vim'in düzenleme sırasında bir takas dosyası oluşturduğunu ve Vim'in askıya alınmasının o dosyayı silmeyeceğini (sonuçta Vim'den çıkmayacağınızı) unutmayın. Aptal terminallerde, bu yöntem vi kullanarak düzenleme-derleme-düzenleme döngüleri için oldukça standarttı . Az önce öğrendim ki, gVim yazarken en aza indirir Z.


13

Bunu :suskabuğa düşmek ve geri dönmek için de yapabilirsiniz fg.


5

Vim'den çıkmanın ve geri döndüğünüzde her şeye sahip olmanın birkaç yolu vardır. Vim'in içinde bunun yapılabileceği çeşitli yolları açıklayan çok iyi belgeler var. İlgili yardım sayfasına erişmek için vim içinde aşağıdaki komutu kullanabilirsiniz::help usr_21

Size kısa bir özet vermek için, oturumunuz olduğu gibi bırakma ve geri dönmenin farklı yöntemleri şunlardır:

  1. Askıya al ve devam et - Vim'i bundan vazgeçmiyorsun; oturumunuzu ihtiyacınız olana kadar arka planda gizleyebilirsiniz. Bilgisayarınızı Vim'e sıfırlar veya bir kill komutu verirseniz, oturumunuzu kaybedersiniz. Bu, geçici olarak başka bir göreve geçmek istediğinizde yararlıdır, ancak durum buysa, bunun yerine GNU Ekran yardımcı programını kullanarak bakmak isteyebilirsiniz .

  2. Oturumlar - Bu, oturumunuzu Vim örnekleri arasında kaydetmenin gerçek yoludur. Vim'den gerçekten çıksanız bile, döndüğünüzde seansınız orada olacaktır. Muhtemelen aradığınız şey budur.



3

Sadece fgen son askıya alınmış programınıza girin ve geri dönün.


3

Neovim kullanıyorsanız , aşağıdakileri yapabilirsiniz:

  • :terminal terminal penceresini açma komutu.
  • Terminal eşyalarınızı yapın
  • Tip exitTerminal süreci öldürmek
  • Neovim'e dönmek için herhangi bir tuşa basın

0

Farenizi biraz kullanmanın bir sakıncası yoksa:

  • Terminalinizi başlatın,
  • Bir dosya seçin,
  • Sekmeyi Aç'ı seçin .

Bu, terminalde Vim'i çalıştırabileceğiniz yeni bir sekme oluşturur. Şimdi terminale geçmek / terminalden geçmek için farenizi kullanın. Her zaman yazmak ( :shellve çıkmak) yerine bunu tercih ederim .

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.