Apakah ada cara untuk mengakses terminal saat menggunakan Vim ?
Saya tidak suka membuka terminal lain atau menyimpan dan keluar dari terminal saat ini.
Apakah ada cara untuk mengakses terminal saat menggunakan Vim ?
Saya tidak suka membuka terminal lain atau menyimpan dan keluar dari terminal saat ini.
Jawaban:
Anda dapat mengirim sinyal SIGTSTP ke vim. Anda melakukan ini dengan menekan ctrl+ z. Vim akan ditangguhkan di latar belakang, dan Anda dapat menggunakan terminal. Ketik fg
terminal untuk melanjutkan dengan vim.
Kiat bonus: Ini berfungsi pada hampir semua aplikasi terminal. Gunakan bg
untuk mengaktifkan aplikasi untuk terus berjalan di latar belakang.
%
alih-alih fg
. Atau %1
,, %2
dll. Jika Anda memiliki banyak pekerjaan latar belakang. jobs
perintah akan mencantumkannya. (Diasumsikan bash
sebagai cangkang.)
Di vim, ketikkan saja:
:!sh
:!
meluncurkan proses eksternal - dalam hal ini sh
, shell lain. Kontrol akan kembali ke vim setelah Anda keluar dari shell. Jika Anda ingin menggunakan shell bersamaan dengan vim, tambahkan &
ke akhir perintah sh:
:!sh&
:shell
.
http-server
dan itu mencetak log yang ingin saya lihat? Saya ingin dapat beralih ke file saya, mengedit, kemudian beralih kembali ke log.
Anda dapat menggunakan :shell
perintah (atau formulir pendek :sh
). Dari :help :shell
:
Perintah ini memulai sebuah shell. Ketika shell keluar (setelah perintah "keluar") Anda kembali ke Vim. Nama untuk perintah shell berasal dari opsi 'shell'.
Secara default, di Ubuntu, ini akan memberi Anda bash. ketik exit
untuk kembali ke vim ketika Anda selesai.
Sejak vim baru-baru ini Anda sekarang dapat melakukan:
:terminal
Ini awalnya ditambahkan di Vim 8.0.693 , tetapi dengan banyak bug. Lihat :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.
Sebagai tambahan untuk semua jawaban.
Anda dapat menginstal plugin ConqueTerm
Plugin ini memberikan kemampuan untuk menjalankan program interaktif di dalam buffer vim.
Setelah instalasi, Anda dapat menambahkan 2 baris ini ke .vimrc
:
:nnoremap <S-w> :q!<CR>
:nnoremap <S-t> :ConqueTermSplit bash<CR>
Dan Anda akan dapat menjalankan bash
dengan menekan Shift+ T, dan menutup tab Conque saat ini dengan menekan Shift+W
Ini perferct jika Anda perlu buka / tutup cepat bash
.
Berikut adalah gif yang menunjukkan bagaimana tampilannya
Opsi lain dengan layar atau byobu adalah membuka tab di dalam program tersebut. Program-program ini membuatnya cukup mudah untuk membuat cq shell terminal-sesi terbuka dan beralih antara layar dengan keyboard.
Dengan versi baru vim 8.1 yang perlu Anda lakukan adalah adil :terminal
dan voila! (ini dibangun di)