Bagaimana saya bisa menyimpan daftar buffer per jendela di Vim?


15

Saya terkejut bahwa saya belum dapat menemukan jawaban untuk ini, tetapi mungkin saya kehilangan sesuatu yang jelas: apakah mungkin untuk menyimpan daftar buffer per jendela ? Saya sering memiliki sekitar 4 pemisahan, dan masing-masing biasanya melayani tujuan tertentu: CSS dalam satu, JS dalam yang lain, HTML dalam beberapa lainnya, dll.

Yang mungkin saya cari adalah plugin yang menyelesaikan ini. Akhir-akhir ini saya telah menggunakan BufExplorer, yang memang memiliki pengaturan yang memungkinkan Anda untuk menyimpan daftar buffer per tab, tetapi tidak per jendela.

Saya sangat suka daftar MRU yang dimiliki BufExplorer, tetapi saya merasa terganggu karena didasarkan pada daftar buffer global saya - yang saya inginkan adalah riwayat MRU per jendela.


Anda tidak dapat menemukannya karena belum dibangun. Tetangga terdekat diidentifikasi dalam Q & A ini
New Alexandria

Jawaban:


1

IMHO, Yang benar-benar Anda butuhkan adalah manajer Ruang Kerja.

Anda dapat menemukan satu untuk vim @ http://www.vim.org/scripts/script.php?script_id=1410

Ini akan memberi Anda perintah berikut:

:WsAddFile              Add a new file to the workspace.                  
:WsAddGroup             Add a new group to the workspace.                 
:WsClose                Close the workspace window.                       
:WsInsertFile           Insert a file.                                    
:WsInsertGroup  Insert a group.                                           
:WsOpen         Open a workspace and display it in a window.              
:WsRun          Run a command using the selected unquoted file names.     
:WsRunq         Run a command using the selected quoted file names.       
:WsSave         Save the workspace.                                       
:WsSessionOpen  Open the workspace and Vim session.                       
:WsSessionSave  Save the workspace and the Vim session.                   
:WsToggle               Open or Close the workspace window. 

Saya memiliki cuplikan layar bekerja dengan manajer Workspace dengan 4+ windows yang diposting di fb saya , Anda dapat melihatnya di sana (yang bersifat publik).

Ini bukan daftar buffer seperti yang Anda inginkan, tetapi Anda dapat membuka file di jendela yang berbeda, dan di beberapa buffer di jendela yang sama.

Dalam kasus selanjutnya, manajer ruang kerja akan berfungsi sebagai daftar buffer. Seperti yang dapat Anda lihat di tangkapan layar, saya telah mengelompokkan file ke dalam beberapa grup.

Ini sedekat yang Anda bisa dapatkan, AFIK.

Selamat siang.


0

Mengapa menyortir level manajemen jendela menjadi vim? Saya kadang-kadang menggunakan split windows - Saya memiliki Ctrl-F yang dipetakan ke perintah grep gaya find-in-file yang muncul di jendela split, dan saya juga menggunakan vimdiff pada kesempatan.

Tetapi apakah Anda benar-benar ingin manajemen jendela permanen di vim? Manajer koneksi Putty dan segala macam emulator terminal membiarkan Anda membagi terminal seperti yang Anda inginkan, dan kemudian menjalankan sesi vim terpisah di masing-masing.


Bisakah Anda berbagi register antara instance vim? Ini selalu menjadi alasan utama saya untuk tidak ingin banyak instance menjalankan vim: Saya tidak bisa yankdari satu dan putyang lain.
brianmearns

0

memiliki NERDTree terbuka di sebelah kiri. >

Saya memiliki beberapa buffer terbuka (hanya satu yang terlihat di tampilan utama ... sebut saja "buffer 1")

Saya sekarang pergi ke NERDTree dan memilih file lain yang ingin saya lihat dengan sangat cepat atau menyalin sesuatu. Jadi saya membuka file itu dari NERDTree dan buffer1 disembunyikan dengan benar dan saya sekarang melihat buffer yang baru saja saya buka (sebut saja buffer 2)

Saya sekarang ingin benar-benar keluar dari buffer 2 ini dan kembali ke mengedit buffer 1, tetapi ketika saya melakukannya: q pada buffer 2 Saya akhirnya melihat hanya satu NERDTree besar dan saya harus menampilkan kembali buffer1. ... [tampilkan sisa kutipan]

Saya tidak menggunakan Nerdtree, tapi sepertinya Anda harus mengetikkan Ctrl- ^ (mungkin Ctrl + 6 kunci) untuk beralih kembali ke buffer1.


0

Saya tidak mengetahui plugin semacam itu.

Salah satu cara cepat untuk membuka buffer file tertentu adalah dengan menggunakan perintah FuzzyFinder: FufBuffer. Ini akan membuka daftar semua buffer yang terbuka (tidak termasuk yang ada di jendela Anda saat ini) untuk akses mudah. Saya punya milik saya terikat, fn. Itu akan memungkinkan saya untuk, misalnya, dengan cepat melihat semua file css dengan, fncss atau semua file js dengan, fnjs. FuzzyFinder sangat bagus untuk mendapatkan file / buffer / direktori / etc yang Anda inginkan dengan sedikit usaha (bukan hanya kasus penggunaan khusus ini).

Namun, saya curiga Anda sedang mencari sesuatu yang akan memungkinkan Anda untuk menggunakan: bn dan: bN (atau apa pun yang Anda punya dipetakan, tidak dapat mengingat apakah ctrl-n / p adalah default atau kebiasaan saya) untuk beralih di antara buffer dari jenis file tertentu.

Mungkin, Anda bisa membuat plugin yang memberi Anda perintah untuk memungkinkan peralihan ke buffer sebelumnya / berikutnya dengan jenis yang sama dengan file buffer saat ini di jendela saat ini.


BTW, saya pikir mengelola daftar buffer terpisah ini akan lebih menyebalkan daripada lega.
Hannes

-1

Ini bukan jawaban total, tetapi tampaknya vim menyimpan buffer # dan% yang terpisah untuk setiap jendela. Jadi Anda dapat bergantian antara dua file dengan cepat dalam satu jendela (menggunakan CTRL- ^) dan dua file berbeda di jendela lainnya. Daftar buffer masih semua buffer yang telah Anda tambahkan.


Ini benar-benar komentar tetapi saya belum bisa berkomentar jadi saya memposting jawaban yang ditolak karena tidak menjawab pertanyaan. Sosok pergi.
mondaugen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.