Dulu ada patch shell di luar sana untuk vim tetapi tidak dapat dikompilasi lagi afaik. Cara terdekat untuk mendapatkan shell sebenarnya adalah dengan menggunakan screen atau tmux. Ini adalah hal terbesar yang saya lewatkan di vim.
Ini harus menjadi solusi yang diterima untuk vim> = 8.0.
amath
3
Bagaimana cara membagi terminal secara vertikal?
Kiran Kumar Kotari
2
Coba @KiranKumarKotari vsplit term://bashjika Anda menggunakan Neovim.
prater
4
dengan vim 8.0 atau yang lebih baru, terminalperintah membagi jendela dan memberikan shell perintah dengan warna khusus pada bilah status jendela. Licin.
NoelProf
@KiranKumarKotari vert [ical] ter [minal]
MPA95
46
Tergantung pada OS Anda - sebenarnya saya tidak mengujinya di MS Windows - tetapi Conque adalah salah satu plugin terbaik di luar sana.
Jika Anda menggunakan Vundle untuk mengelola plugin, Anda dapat menambahkan Bundle 'jewes / Conque-Shell' ke file .vimrc Anda, dan jalankan: BundleInstall untuk menginstalnya.
Mingjiang Shi
Satu hal yang harus diperhatikan: Persyaratan + python atau + python3 untuk vi bisa menjadi pembunuh di beberapa lingkungan kerja.
:vspatau :sp- membagi vim menjadi dua, tetapi Anda tidak dapat menggunakan: shell hanya pada salah satunya.
Mengapa tidak menampilkan tab lain dari terminal, bukan tab vim lainnya. Jika Anda menyukai idenya, Anda dapat mencobanya: Ctrl-shift-t.dan beralih di antara ide tersebut dengan Ctrl - pageupdanCtrl - pagedown
Jika Anda hanya menginginkan beberapa perintah shell, Anda dapat membuat perintah shell di vim menggunakan !
Dan untuk menjalankan executable yang saat ini terbuka Anda dapat menggunakan vimsihir jalur seperti ini::!./%
cprn
Mengapa tidak menampilkan tab lain dari terminal - tidak semua orang menggunakan vim di emulator terminal di atas GUI… Dari Ctrl-apa pun saya kira jawaban Anda mengasumsikan gnome-terminal atau emulator serupa.
törzsmókus
8
Anda dapat menggunakan tmuxatau screen(detik hanya dapat melakukan pemisahan horizontal tanpa patch) untuk membagi terminal Anda. Tapi saya tidak tahu cara untuk memiliki satu contoh Vim di kedua panel.
layar dapat melakukan pemisahan vertikal jika Anda membangunnya dari git.
Randy Morris
8
Jika Anda belum mengetahuinya, Anda dapat menggunakan yang menakjubkan plugin layar yang .
Conque juga luar biasa tetapi menurut saya layarnya jauh lebih praktis (misalnya tidak akan "mengotori" buffer Anda dan Anda dapat mengirim perintah yang benar-benar Anda inginkan setelah mengeditnya di buffer Anda)
Saya rasa ini adalah pertanyaan yang cukup lama, tetapi sekarang di tahun 2017. Kami memiliki neovim, yang merupakan cabang dari vim yang menambahkan dukungan terminal.
Jadi memohon :termakan membuka jendela terminal. Keunggulan dari solusi ini dibandingkan dengan menggunakan tmux (terminal multiplexer) adalah Anda akan memiliki window binding yang sama dengan vimpengaturan Anda . neovim kompatibel dengan vim, jadi pada dasarnya Anda dapat menyalin dan menempel .vimrcdan itu akan berfungsi.
Keuntungan lainnya adalah Anda dapat beralih ke mode normal pada terminal yang terbuka dan Anda dapat melakukan penyalinan dan pengeditan dasar. Ini juga sangat berguna untuk git commit saya rasa, karena semua yang ada di buffer Anda dapat Anda gunakan dalam pelengkapan otomatis.
Tidak benar-benar apa yang Anda minta, tetapi Anda mungkin tertarik dengan plugin vim-notebook saya yang memungkinkan pengguna untuk menjaga proses latar belakang tetap hidup dan membuatnya mengevaluasi bagian dari dokumen saat ini (dan untuk menulis output dalam dokumen). Ini dimaksudkan untuk digunakan pada dokumen bergaya notebook yang berisi potongan kode yang akan dievaluasi.
Membatalkan -1 karena tidak ada penjelasan. Selain itu, saya menguji solusi plugin layar vim dan itu tidak jauh berbeda dari solusi mrcybul. @mrcybul: tank untuk mencoba membantu. Untuk menghindari suara negatif, baca jawaban lain dengan cermat dan tambahkan jawaban Anda hanya jika menurut Anda itu membawa sesuatu yang baru. Juga sertakan mengapa solusi Anda mungkin lebih baik dalam kasus tertentu.
Jawaban:
Neovim dan Vim
8.2
mendukung ini secara native melalui:ter[minal]
perintah.Lihat
terminal-window
di dokumen untuk detailnya.sumber
vsplit term://bash
jika Anda menggunakan Neovim.terminal
perintah membagi jendela dan memberikan shell perintah dengan warna khusus pada bilah status jendela. Licin.Tergantung pada OS Anda - sebenarnya saya tidak mengujinya di MS Windows - tetapi Conque adalah salah satu plugin terbaik di luar sana.
Sebenarnya, ini bisa lebih baik, tetapi berhasil.
sumber
:vsp
atau:sp
- membagi vim menjadi dua, tetapi Anda tidak dapat menggunakan: shell hanya pada salah satunya.Mengapa tidak menampilkan tab lain dari terminal, bukan tab vim lainnya. Jika Anda menyukai idenya, Anda dapat mencobanya:
Ctrl-shift-t.
dan beralih di antara ide tersebut denganCtrl - pageup
danCtrl - pagedown
Jika Anda hanya menginginkan beberapa perintah shell, Anda dapat membuat perintah shell di vim menggunakan
!
Misalnya
:!./a.out
.sumber
vim
sihir jalur seperti ini::!./%
Ctrl
-apa pun saya kira jawaban Anda mengasumsikan gnome-terminal atau emulator serupa.Anda dapat menggunakan
tmux
atauscreen
(detik hanya dapat melakukan pemisahan horizontal tanpa patch) untuk membagi terminal Anda. Tapi saya tidak tahu cara untuk memiliki satu contoh Vim di kedua panel.sumber
Jika Anda belum mengetahuinya, Anda dapat menggunakan yang menakjubkan plugin layar yang .
Conque juga luar biasa tetapi menurut saya layarnya jauh lebih praktis (misalnya tidak akan "mengotori" buffer Anda dan Anda dapat mengirim perintah yang benar-benar Anda inginkan setelah mengeditnya di buffer Anda)
sumber
Saya rasa ini adalah pertanyaan yang cukup lama, tetapi sekarang di tahun 2017. Kami memiliki neovim, yang merupakan cabang dari vim yang menambahkan dukungan terminal.
Jadi memohon
:term
akan membuka jendela terminal. Keunggulan dari solusi ini dibandingkan dengan menggunakan tmux (terminal multiplexer) adalah Anda akan memiliki window binding yang sama denganvim
pengaturan Anda . neovim kompatibel dengan vim, jadi pada dasarnya Anda dapat menyalin dan menempel.vimrc
dan itu akan berfungsi.Keuntungan lainnya adalah Anda dapat beralih ke mode normal pada terminal yang terbuka dan Anda dapat melakukan penyalinan dan pengeditan dasar. Ini juga sangat berguna untuk git commit saya rasa, karena semua yang ada di buffer Anda dapat Anda gunakan dalam pelengkapan otomatis.
Saya akan memperbarui jawaban ini karena vim juga berencana untuk merilis dukungan terminal, mungkin di vim 8.1. Anda dapat mengikuti kemajuannya di sini: https://groups.google.com/forum/#!topic/vim_dev/Q9gUWGCeTXM
Setelah dirilis, saya yakin ini adalah pengaturan yang lebih unggul daripada menggunakan tmux.
sumber
VimShell Shougo , yang dapat melengkapi nama file secara otomatis jika digunakan dengan neocomplcache
sumber
Tidak benar-benar apa yang Anda minta, tetapi Anda mungkin tertarik dengan plugin vim-notebook saya yang memungkinkan pengguna untuk menjaga proses latar belakang tetap hidup dan membuatnya mengevaluasi bagian dari dokumen saat ini (dan untuk menulis output dalam dokumen). Ini dimaksudkan untuk digunakan pada dokumen bergaya notebook yang berisi potongan kode yang akan dievaluasi.
sumber
Anda mungkin ingin membuka program "layar", layar terpisah, shell terbuka di satu dan vim di layar lainnya. Bekerja untuk saya.
sumber
Saya saat ini menggunakan tmux.
Instalasi: sudo apt-get install tmux Jalankan: tmux
Ctrl + b diikuti oleh Ctr +%: itu membagi jendela terminal Anda menjadi dua bagian vertikal.
Ctrl + "panah kiri | panah kanan": berpindah antar terminal.
sumber