Jika Anda mengedit file dalam VIM dan kemudian Anda perlu membuka buffer yang ada (mis. Dari daftar buffer Anda :buffers
), bagaimana Anda bisa membukanya dalam split vertikal?
Saya tahu bahwa Anda sudah dapat membukanya dengan split normal seperti:
:sbuffer N
Wehere N
adalah nomor buffer yang Anda inginkan, namun, di atas membuka N
buffer itu secara horizontal, bukan vertikal.
Saya juga sadar bahwa Anda dapat mengubah penempatan jendela setelah membuka dan memiliki Vertical Split seperti:
Ctrl-W H
Ctrl-W L
Yang secara vertikal akan membagi jendela ke kanan atau ke kiri.
Tampak bagi saya bahwa jika ada sbuffer
harus ada vsbuffer
tetapi itu tidak ada (tidak saya sadari)
Harap perhatikan juga bahwa saya tidak mencari plugin untuk menyelesaikan pertanyaan ini. Saya tahu tentang banyak plugin yang akan memungkinkan Anda melakukan ini.
Saya yakin saya mungkin kehilangan sesuatu yang sudah ada di sana.
EDIT: Dengan semangat kolaborasi terbaik, saya telah membuat Fungsi sederhana dengan Pemetaan jika orang lain menemukan masalah ini dan tidak ingin menginstal plugin:
Fungsi:
" Vertical Split Buffer Function
function VerticalSplitBuffer(buffer)
execute "vert belowright sb" a:buffer
endfunction
Pemetaan:
" Vertical Split Buffer Mapping
command -nargs=1 Vbuffer call VerticalSplitBuffer(<f-args>)
Ini menyelesaikan tugas membuka buffer di split kanan, jadi untuk buffer 1, Anda akan menyebutnya seperti:
:Vbuffer 1
vsbuffer N
? Mengganggu. Jawaban Anda berhasil. Terima kasih!vsbuffer
juga, dan saya juga sering lupaCtrl-w T
membuka buffer di tab baru (atau saya ingin melakukannya dengan buffer yang saat ini tidak aktif atau tidak terlihat). Jadi sebagai alternatif, Anda dapat menggunakan bilah untuk kedua kasus ini, yang menurut saya lebih mudah diingat daripada jawaban valid @ Jeet::vsp | b N
and:tabe | b N
.N
untuk dilengkapi otomatis (yang tampaknya tidak mungkin dengan perintah di jawaban lain). Keduanya dijungkirbalikkan.:vsp | b1
1 menjadi beberapa nomor penyangga. Gunakan
buffers
untuk mendaftar semua buffer.Berikut adalah beberapa info tambahan tentang pemisahan, jika Anda tertarik. Tautan
sumber
:ls
, yang sepertinya menjadi jalan pintas untuk:buffers
.:vsp | b <buffer name>
Anda dapat meredakan rasa sakit dengan menambahkan yang berikut ini ke .vimrc Anda
Sekarang Anda dapat menggunakannya dengan cara berikut.
sumber
Anda juga dapat menggabungkan
:ls
daftar buffer Anda saat ini dan perintah untuk membuka buffer yang diinginkan:b <N/bufname>
:vsp | b <N/bufname>
:sp | b <N/bufname>
Untuk ini, saya telah menambahkan pemetaan berikut ke saya
~/.vimrc
(urutan pemetaan mewakili daftar jendela yang diinginkan)Berdasarkan ini, Anda dapat melihat daftar buffer segera setelah Anda menekan
<leader>b
<leader>v
<leader>s
dan kemudian cukup masukkan nomor buffer yang diinginkan
N
. Ini kemudian akan membuka buffer di jendela yang diinginkan. Anda tentu saja masih dapat menggunakan bagian dari nama bufferbufname
juga.Saya memetakan
<leader>
ke,
berdasarkanBagi sebagian orang (misalnya saya) ini bahkan bisa menggantikan plugin seperti MiniBufExpl dan dengan demikian menghemat ruang di layar.
sumber
Anda dapat menggunakan Neovim, seperti itu:
sumber