Vim kullanırken terminale erişmenin bir yolu var mı ?
Başka bir terminal açmayı veya mevcut terminalden kaydedip çıkmayı sevmiyorum.
Vim kullanırken terminale erişmenin bir yolu var mı ?
Başka bir terminal açmayı veya mevcut terminalden kaydedip çıkmayı sevmiyorum.
Yanıtlar:
SIGTSTP sinyalini vim olarak gönderebilirsiniz. Bunu ctrl+ tuşuna basarak yaparsınız z. Vim arka planda askıya alınacak ve terminali kullanabilirsiniz. Tip fg
vim devam etmek terminali içinde.
Bonus ipucu: Bu hemen hemen tüm terminal uygulamalarında çalışır. bg
Uygulamanın arka planda çalışmaya devam etmesini sağlamak için kullanın .
%
yerine fg
. Veya %1
, %2
vb. Birçok arka plan işiniz varsa. jobs
komut onları listeler. ( bash
Kabuk olarak kabul edilir.)
Vim'de, sadece şunu yazın:
:!sh
:!
harici bir işlem başlattı - bu durumda sh
başka bir kabuk. Kabuktan çıktıktan sonra kontrol vim'e döner. Kabuğu vim ile aynı anda kullanmak istiyorsanız &
, sh komutunun sonuna ekleyin :
:!sh&
:shell
.
http-server
ve görüntülemek istediğim günlükleri basıyor? Dosyalarıma geçmeyi, düzenlemeleri yapmayı ve günlüklerime geri dönmeyi istiyorum.
Sen kullanabilirsiniz :shell
komutu (veya kısa formu :sh
). Kimden :help :shell
:
Bu komut bir kabuk başlatır. Kabuk çıktığında ("exit" komutundan sonra) Vim'e dönersiniz. Kabuk komutunun adı 'kabuk' seçeneğinden gelir.
Varsayılan olarak, Ubuntu'da bu size bash verecektir. exit
İşiniz bittiğinde vim'e dönmek için yazın .
Son vim beri şimdi yapabilirsiniz:
:terminal
Bu başlangıçta Vim 8.0.693'e eklenmiş , ancak çok fazla hata olmuştur. Bakınız :help terminal
:
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
The terminal feature is optional, use this to check if your Vim has it:
echo has('terminal')
If the result is "1" you have it.
[...]
The terminal feature requires the +multi_byte, +job and +channel features.
==============================================================================
1. Basic use terminal-use
This feature is for running a terminal emulator in a Vim window. A job can be
started connected to the terminal emulator. For example, to run a shell:
:term bash
Or to run a debugger:
:term gdb vim
The job runs asynchronously from Vim, the window will be updated to show
output from the job, also while editing in any other window.
Tüm cevaplara ek olarak.
ConqueTerm eklentisini yükleyebilirsin
Bu eklenti vim tamponları içinde etkileşimli programlar çalıştırma yeteneği sağlar.
Yüklemeden sonra, bu 2 satırı aşağıdakilere ekleyebilirsiniz .vimrc
:
:nnoremap <S-w> :q!<CR>
:nnoremap <S-t> :ConqueTermSplit bash<CR>
Ve çalıştırmak mümkün olacak bash
basarak Shift+ Tbasarak ve yakın akım Conque sekme Shift+W
Hızlı açma / kapama işlemine ihtiyacınız varsa, sapıktır bash
.
İşte nasıl göründüğünü gösteren gif
Ekran veya byobu ile başka bir seçenek bu programlar içinde bir sekme açmaktır. Bu programlar terminal oturum cq kabuğunu açık tutmayı ve klavyeyle bu ekranlar arasında geçiş yapmayı oldukça kolaylaştırır.
Vim 8.1'in yeni sürümü ile yapmanız gereken tek şey adil :terminal
ve işte! (bu yerleşiktir)