Saya dapat membuka shell dengan menggunakan perintah: shell di Vim, namun saya tidak dapat mengedit file dan pada saat yang sama menggunakan shell.
Apakah ada cara untuk membagi Vim di banyak Windows (atau tab), dan membuka shell di salah satunya?
Saya dapat membuka shell dengan menggunakan perintah: shell di Vim, namun saya tidak dapat mengedit file dan pada saat yang sama menggunakan shell.
Apakah ada cara untuk membagi Vim di banyak Windows (atau tab), dan membuka shell di salah satunya?
Jawaban:
Neovim dan Vim 8.2mendukung ini secara native melalui :ter[minal]perintah.
Lihat terminal-window di dokumen untuk detailnya.
vsplit term://bashjika Anda menggunakan Neovim.
terminalperintah 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.
: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 !
Misalnya :!./a.out.
vimsihir jalur seperti ini::!./%
Ctrl-apa pun saya kira jawaban Anda mengasumsikan gnome-terminal atau emulator serupa.
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.
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.
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.
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.
Anda mungkin ingin membuka program "layar", layar terpisah, shell terbuka di satu dan vim di layar lainnya. Bekerja untuk saya.
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.