Apakah mungkin dalam vim untuk membuat tampilan split untuk penggunaan baris perintah?
12
Saya tahu tentang opsi :!ls, tetapi saya ingin menggunakan salah satu antarmuka yang terpecah (setelah digunakan :sp) sebagai jendela baris perintah. Apakah ini mungkin? Jika ya, bagaimana saya melakukannya?
Ada plugin dan / atau tambalan untuk melakukannya. Tetapi Anda cepat atau lambat akan mengalami beberapa keanehan. Saran saya adalah menggunakan terminal ringan berfitur lengkap, atau layar / tmux.
Tidak seperti Emacs, Vim mencoba menjadi sedikit lebih minim ketika harus bekerja dengan shell. Ia tidak memiliki opsi untuk menyertakan shell interaktif di dalam salah satu tab atau buffernya.
Meskipun ada solusi untuk ini. Sama seperti Anda, saya sangat suka memiliki bashjendela di sesi terminal yang sama dengan Vim yang sedang saya jalankan. Ini sangat berguna saat mengedit file sumber. Dalam kasus saya, saya benar-benar ingin lingkungan Ruby REPL berjalan sehingga saya dapat menguji pernyataan sebelum saya meletakkannya di file sumber.
Saya menggunakan Tmux untuk menyelesaikan jendela split. Di Tmux saya membuat jendela split (kunci default adalah ctrl + b, "). Ini akan membuka 2 sesi shell interaktif seperti jendela split di Vim. Kemudian saya menjalankan Vim di salah satu sesi dan saya siap.
Anda dapat melihat dari gambar di bawah ini bahwa saya telah membagi jendela secara horizontal dengan bashdi atas dan Vim di bawah.
Tidak yakin apakah Anda mencari solusi layar GNU, atau solusi menggunakan pemisahan bawaan Vim, tetapi jika Anda mencari yang terakhir, ini bekerja untuk saya:
vim -O file_a.js file_b.js
Itu membuka kedua file dengan split vertikal. Untuk regular (split horizontal), gunakan saja huruf kecil -o.
PS Ctrl+ w, wuntuk beralih di antara keduanya (saya menemukan cara yang bagus untuk membedakan pemisahan layar dan pemisahan vim).
Saya mencari ini untuk waktu yang lama dan sebanyak yang saya bisa katakan tidak ada yang baik benar-benar mungkin. Saya telah mencoba banyak plugin / addon untuk vim tetapi tidak ada yang berfungsi seperti yang saya inginkan.
Anda dapat menggunakan NeoVim, ia memiliki mode terminal bawaan yang mirip dengan emacs (walaupun sangat baru) - ini memungkinkan Anda memilikinya di jendela seperti buffer vim lainnya
Jawaban:
Tidak seperti Emacs, Vim mencoba menjadi sedikit lebih minim ketika harus bekerja dengan shell. Ia tidak memiliki opsi untuk menyertakan shell interaktif di dalam salah satu tab atau buffernya.
Meskipun ada solusi untuk ini. Sama seperti Anda, saya sangat suka memiliki
bash
jendela di sesi terminal yang sama dengan Vim yang sedang saya jalankan. Ini sangat berguna saat mengedit file sumber. Dalam kasus saya, saya benar-benar ingin lingkungan Ruby REPL berjalan sehingga saya dapat menguji pernyataan sebelum saya meletakkannya di file sumber.Saya menggunakan Tmux untuk menyelesaikan jendela split. Di Tmux saya membuat jendela split (kunci default adalah ctrl + b, "). Ini akan membuka 2 sesi shell interaktif seperti jendela split di Vim. Kemudian saya menjalankan Vim di salah satu sesi dan saya siap.
Anda dapat melihat dari gambar di bawah ini bahwa saya telah membagi jendela secara horizontal dengan
bash
di atas dan Vim di bawah.Saya juga menggunakan Tmux untuk mendukung pemrograman pasangan dengan yang lain. Anda dapat membaca lebih lanjut tentang pengaturan saya di blog saya di http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac .
sumber
Tidak yakin apakah Anda mencari solusi layar GNU, atau solusi menggunakan pemisahan bawaan Vim, tetapi jika Anda mencari yang terakhir, ini bekerja untuk saya:
Itu membuka kedua file dengan split vertikal. Untuk regular (split horizontal), gunakan saja huruf kecil
-o
.PS Ctrl+ w, wuntuk beralih di antara keduanya (saya menemukan cara yang bagus untuk membedakan pemisahan layar dan pemisahan vim).
sumber
Vim 8 memiliki mode terminal bawaan.
Anda dapat mengetik
:ter
untuk mendapatkan akses ke terminal.Untuk menavigasi melalui perintah dalam penggunaan shell default Anda
j,k
.Anda dapat memperoleh informasi lebih lanjut dengan mengetikkan
:h ter
VIM8.Catatan : VIM8 Anda harus memiliki
+terminal
agar ini berfungsi.sumber
Sudahkah Anda mencoba layar ? Adakah alasan yang tidak sesuai untuk Anda?
sumber
Saya mencari ini untuk waktu yang lama dan sebanyak yang saya bisa katakan tidak ada yang baik benar-benar mungkin. Saya telah mencoba banyak plugin / addon untuk vim tetapi tidak ada yang berfungsi seperti yang saya inginkan.
Yang ini bagus: ConqueTerm
Namun memiliki beberapa ketidakkonsistenan dengan warna. Cobalah mungkin berhasil untuk Anda.
sumber
Anda dapat menggunakan NeoVim, ia memiliki mode terminal bawaan yang mirip dengan emacs (walaupun sangat baru) - ini memungkinkan Anda memilikinya di jendela seperti buffer vim lainnya
sumber