Mengapa pakar Vim lebih suka buffer daripada tab?

243

Saya tidak mengerti buffer. Ketika saya membuka 3 file pada tab yang sama dan menutup jendela saya, saya biasanya kesal untuk mencari tahu lain kali saya membuka salah satu file yang ada file swap aneh yang melekat dan memberi saya pesan sial. Tetapi berkali-kali saya membaca bahwa hal-hal ini adalah nirwana produktivitas yang saya lewatkan dan bahwa tab dibuat untuk digunakan oleh orang-orang Kanada.

Jadi saya bertanya kepada Anda, ahli Vim: apa keuntungan menggunakan buffer daripada tab? Saya tidak melihat bagaimana perbedaannya bisa sangat berbeda, tetapi saya akan menganggap diri saya hanya pada level pemula-menengah di operasi Vim. Apakah :ls :b#benar-benar jauh lebih cepat daripada di gtsekitar? Saya merasa itu harus lebih dalam dari ini.

2c2c
sumber
6
Bagi mereka yang belajar Vim atau datang ke Vim sangat dipengaruhi oleh editor berbasis GUI lainnya, saya sangat merekomendasikan pertama membaca jawaban @Jonathan Brink dan kemudian kembali ke jawaban teratas di sini.
icc97
1
Jangan terlalu khawatir tentang itu. Saya menggunakan tab sebagai cara utama navigasi saya di antara file. Seperti yang Anda katakan, <#> gt mudah diketik. Untuk membuatnya lebih mudah digunakan, saya menyesuaikan data tabline saya untuk memasukkan nomor tab. Jika saya perlu melihat lebih dari satu buffer sekaligus, saya membagi jendela baru di dalam tab. Terlepas dari apa yang @romaini klaim, cara menggunakan Vim ini membuat saya sangat produktif karena cocok dengan metafora pribadi saya. Perhatikan juga bahwa dalam 37 tahun (karier) tahun sebagai programmer, saya belum harus membuka lebih dari lima atau enam file sekaligus - dan itu sangat jarang. Lakukan apa yang berhasil untuk Anda. :)
Tony
Lakukan apa yang berhasil. Beberapa orang menggunakan banyak file dalam satu sesi sehingga buffer lebih penting. Bahkan Bram Moolenaar mengatakan "atur mereka sesuka Anda." Membuka 20 tab bukanlah cara yang tepat, tetapi tab untuk beberapa file bukanlah akhir dunia. Solusi Bram untuk mengelola banyak file adalah membuka beberapa sesi terminal. Dia mengatakan begitulah cara dia melakukannya, tetapi bukan berarti ini yang harus dilakukan semua orang.
kerajinan
Satu-satunya perbedaan yang paling jelas yang tampaknya tidak disorot dengan benar adalah bahwa jika Anda tetap di satu tab Anda dapat melihat beberapa buffer secara bersamaan dengan dengan :splitmasuk ke "windows". Jika Anda memiliki semua buffer (file) di tab terpisah, Anda tidak akan mendapatkan tampilan simultan itu. Saya akan merekomendasikan belajar vim menggunakan 1 tab untuk memulai dan membiasakan diri dengan splits.
NeilG

Jawaban:

500

Seperti yang dikatakan ZyX pada #vim, pertanyaan ini terdengar seperti, "Mengapa para pakar Vim lebih suka enak daripada hangat?" .

"Ahli Vim" tidak lebih suka buffer daripada tab: mereka menggunakan buffer sebagai proksi file mereka dan halaman tab sebagai ruang kerja mereka. Buffer dan halaman tab memiliki tujuan yang berbeda sehingga memilih satu sama lain tidak masuk akal.

Masalah dengan buffer dan tab adalah salah satu kebingungan , yang disebabkan oleh kombinasi fakta independen.

  1. Kebanyakan editor dan IDE teks "modern" menggunakan metafora tab untuk mewakili file yang dimuat. Metafora itu bertindak sebagai sistem informasi - ini menunjukkan kepada pengguna file apa yang dibuka dan statusnya - dan sebagai perangkat interaktif - itu memungkinkan pengguna untuk memanipulasi (menyusun ulang, memilih, menutup ...) file-file yang dibuka. Meskipun banyak keterbatasan mereka, tab ada di mana-mana dan orang-orang terbiasa dengan mereka dan mengharapkannya di mana-mana.

  2. Vim memperkenalkan halaman tab di 7.0 sebagai cara bagi penggunanya untuk membuat "ruang kerja" ad-hoc. Tidak ada dalam fitur mereka, opsi spesifik mereka, perintah khusus mereka atau :helpbagian mereka menunjukkan bahwa halaman tab dapat atau harus digunakan sebagai file proxy.

    Tidak ada apa-apa selain nama dan penampilan "halaman tab", tentu saja, yang menyebabkan banyak kebingungan.

  3. Tanpa :set hidden, yang dinonaktifkan secara default dan tidak mudah ditemukan, Vim membuatnya tidak mungkin untuk beralih ke buffer lain tanpa menulis yang sekarang atau mengabaikan perubahannya. Pengguna baru, yang tidak mengetahui pilihan itu, tidak punya pilihan selain beralih ke penggunaan windows yang berat atau ke fitur "mirip-tab" terdekat yang dapat mereka temukan: halaman tab.

"Tab page" adalah pilihan nama yang disayangkan untuk fitur itu, terutama di era yang didominasi oleh gagasan bahwa membaca dokumentasi adalah buang-buang waktu.

Di Vim, halaman tab adalah abstraksi yang dibangun di atas jendela, itu sendiri abstraksi yang dibangun di atas buffer. Setiap level baru menambahkan fitur yang bermanfaat tetapi membatasi alur kerja Anda.

"Cara penyangga"

Dengan alur kerja berbasis penyangga, file yang sedang Anda kerjakan didistribusikan sepanjang dimensi tunggal. Anda dapat menggilir buffer Anda, Anda dapat mengakses buffer tertentu dengan mengetik bagian dari namanya (dengan selesai) atau nomornya, Anda dapat berganti-ganti buffer, Anda dapat menargetkannya dengan mudah. Pada dasarnya tidak ada gesekan.

  1. Delapan buffer terbuka, hanya satu yang terlihat:

    Delapan buffer terbuka

  2. Berpindah dengan nomor:

    Berpindah dengan nomor

  3. Berpindah berdasarkan nama:

    Berpindah berdasarkan nama

Buffer adalah file-proxy Vim. Jika Anda berpikir dalam hal file, Anda berpikir dalam hal buffer.

"Jendela jalan"

Dengan alur kerja berbasis jendela, "file" Anda sama-sama didistribusikan di sepanjang dimensi "virtual" yang sama seperti jika Anda hanya menggunakan buffer dan sepanjang dua dimensi "fisik" lainnya. Tetapi ruang kartesius di mana dimensi-dimensi itu ditemukan hampir sepenuhnya terpisah: pindah ke buffer lain masih berarti "pindah ke file lain" tetapi pindah ke jendela lain tidak. Buffer yang sesuai dengan file yang diinginkan dapat ditampilkan di jendela itu tetapi bisa juga ditampilkan di jendela lain, mungkin di halaman tab lain, atau tidak sama sekali.

Dengan windows, menavigasi antara file yang terbuka menjadi terlalu rumit atau terlalu sederhana, bahkan dengan 'switchbuf'dan :sb. Sebagian besar karena Anda dipaksa untuk menggunakan dua set perintah untuk apa yang pada dasarnya hal yang sama: mengakses buffer.

Windows dapat digunakan, seperti dijelaskan di bawah, tetapi mereka tidak memiliki apa yang diperlukan untuk mengganti buffer dalam alur kerja siapa pun.

Di sini saya sedang mengerjakan skema warna Vim. Dua jendela adalah pandangan berbeda dari buffer yang sama: yang atas berfungsi sebagai referensi, dengan tabel kode warna yang digunakan dalam skema warna, dan yang bawah adalah tempat saya bekerja:

Mengerjakan skema warna

Windows tidak dirancang sebagai proksi file dan tidak dapat dibuat menjadi proksi: mereka adalah "wadah" atau "viewports" yang dirancang untuk menawarkan kepada Anda tampilan ke buffer. Tidak lebih, tidak kurang.

"Cara tab"

Dengan alur kerja berbasis-tab, Anda pada dasarnya mencoba untuk meniru pengalaman pengguna yang biasa Anda gunakan dari editor sebelumnya sambil sepenuhnya mengabaikan sifat halaman tab Vim. Jika kita lupa sejenak bahwa strategi ini umumnya sangat tidak produktif, juga tidak mungkin, seperti halnya windows, untuk memaksa Vim mematuhi paradigma "satu file = satu tab" tanpa kehilangan banyak fleksibilitas.

Masih bekerja dengan file yang sama seperti di atas, tabline mengambil ruang yang signifikan tanpa manfaat. Semua file saya dan semua tab saya dipanggil javascript*.vimjadi saya tidak bisa melakukan 3gtdan yakin saya akan berakhir di tempat yang tepat dan tidak mungkin untuk mencapai tab tertentu dengan nama. Tambahkan ke fakta bahwa labelnya bisa sangat tidak membantu tetapi sangat logis [Quickfix List]... Karena tidak ada cara praktis untuk mengikat file / buffer ke halaman tab, Anda pada dasarnya dibiarkan dengan hanya satu cara praktis untuk menavigasi antara halaman tab / buffer / file: bersepeda.

Dan ya, tabline saya musnah dengan hanya 8 tab, bayangkan jika saya punya 20!

  1. Delapan buffer terbuka di delapan halaman tab (salah)

    Salah

  2. Dua tab untuk dua tugas spesifik (kanan)

    Baik

Halaman tab adalah "wadah" atau "viewports" yang dirancang untuk berisi satu atau lebih jendela, itu sendiri juga "wadah" yang dirancang untuk berisi buffer.

Kesimpulannya

"Ahli Vim" (anggap saja saya dapat berbicara seolah-olah saya adalah salah satunya) tidak lebih suka buffer daripada tab: mereka hanya menggunakan Vim karena dirancang dan sangat nyaman dengan desain itu:

  • "Ahli Vim" memiliki 2, 30 atau 97 buffer yang dimuat dan sangat senang mereka tidak harus berurusan dengan distribusi spasial;

  • ketika mereka perlu membandingkan dua file atau bekerja di satu bagian dari buffer saat ini sambil menyimpan yang lain sebagai referensi, "Ahli Vim" menggunakan windows karena itulah cara mereka dimaksudkan untuk digunakan;

  • ketika mereka perlu bekerja untuk sementara waktu di bagian proyek yang terpisah tanpa mengacaukan pandangan mereka saat ini, "Ahli Vim" memuat halaman tab baru.

romainl
sumber
10
Untuk beberapa tautan tambahan, lihat buffer Gunakan saya secara efektif memposting
Peter Rincker
7
@ DavidvidEG, memiliki 20 buffer sama sekali tidak bermasalah sehingga benar-benar tidak membutuhkan plugin. Di sisi lain, 20 halaman tab - apakah itu meyakinkan file-proxy atau tidak - tidak bisa muat di sebagian besar layar, plugin atau tidak.
romainl
2
@Kache, ya, itulah inti dari poin saya: Anda dapat menggunakan windows dan halaman tab untuk apa mereka tetapi tidak sebagai file-proxy. Jadi argumennya bukan apakah orang harus menggunakan halaman tab atau buffer tetapi apakah orang harus menggunakan halaman tab sebagai proksi file atau tidak.
romainl
14
Sebagai “ahli Vim” Saya dapat mengatakan bahwa lebih dari 4 ratus buffer “terbuka” (benar-benar “terdaftar, tapi dibongkar, kecuali beberapa orang”) adalah situasi yang biasa ketika saya menangani proyek seperti NeoVim (saya hanya membuka semua *.c, *.h, scripts/*dan test/**/*.luafile). Mengingat bahwa terminal saya hanya 239 kolom lebar "satu file per tab" pendekatan tidak mungkin digunakan.
ZyX
3
Dan mengingat bahwa ada sejumlah plugin (Command-T, ...) yang membuat beralih antara buffer dan / atau file lebih mudah menggunakan tab untuk setiap proyek yang relatif besar tidak masuk akal. Dan neovim dengan ≈500 file "menarik" adalah proyek besar, tetapi bukan yang terbesar. Ketika Anda menghadapi perlunya berurusan dengan proyek-proyek tersebut, Anda selalu menggunakan semacam pencarian untuk menavigasi (pencarian file / tag dengan Command-T dan teman-teman, berbagai cara untuk pergi ke definisi simbol) dan dengan demikian Anda sama sekali tidak punya alasan untuk menggunakan tab dengan cara ini: dalam hal apa pun Anda tidak akan menggunakan fungsi terikat-tab untuk menavigasi proyek.
ZyX
88

Saya biasa menyimpan setiap buffer di tab terpisah, tapi saya bosan terus-menerus gtdan gTberkeliling di mana-mana.

Saya juga merasa bahwa buffer terlalu sulit untuk dikelola.

Berikut adalah beberapa teknik yang benar-benar mengubah pendapat saya sebelumnya:

Berikut ini adalah alur kerja khas saya:

  • Buka Vim, dan gunakan :e(biasanya dengan sejenis regex :e src/**/F*Bar.js) untuk membuka buffer
  • Sadarilah saya perlu membuka file lain. Gunakan :euntuk itu juga. Jika saya ingin beralih antara buffer ini dan buffer yang saat ini terbuka, saya akan menggunakan :spatau :vspmembukanya di jendela yang terpisah.
  • Ulangi sampai saya mendapatkan 3-5 file yang akan saya alihkan di antara menggunakan teknik-teknik dalam daftar berpoin di atas untuk terbang di antara buffer Anda.
  • Jika saya ingin "memulai kembali" dengan buffer saya, tutup saja Vim dan buka kembali.

Saya merasa bahwa setelah kira-kira satu minggu atau lebih memaksakan pola-pola baru ini, menjadi lebih mudah untuk memvisualisasikan buffer mana yang telah saya buka, dan bagaimana mencapai salah satu dari mereka hanya dengan beberapa pukulan otomatis.

Jonathan. Minumlah
sumber
24
Sayang sekali bahwa penjelasan ramah pengguna / pemula yang baik seperti ini mendapatkan sekitar 3% dari upvote dari jawaban yang sangat keras, menghina, jawaban yang terlalu rumit seperti yang teratas di sini. Aku bahkan tidak tahu itu gTadalah perintah untuk mengganti tab, aku sudah mencari penggantinya ctrl+tab. Jadi terima kasih telah benar-benar membantu pengguna baru daripada hanya membuat mereka merasa bodoh.
icc97
11
Saya harus mengatakan bahwa komentar saya tidak adil untuk jawaban @ romainl, dia sangat senang menjawab pertanyaan yang saya miliki tentang itu. Tetapi tentu saja sebagai seseorang yang mencoba mempelajari Vim, jawaban Anda jauh lebih mudah dipahami, tetapi jawabannya lebih lengkap begitu Anda benar-benar tahu lebih banyak.
icc97
3
Saya pikir jawaban @ romainl sangat berguna, dan memberi kita gambaran yang jelas tentang bagaimana buffer, windows, dan tab dirancang, dan bagaimana mereka seharusnya digunakan. Meski begitu, saya pikir pengguna Vim melompat pada kesempatan untuk menjawab pertanyaan dengan cara yang tidak Anda sukai , dan itu bisa membuat frustasi.
keyofnight
3
Tidak dapat mengingat dari mana saya mendapatkannya, tetapi nnoremap <leader>b :ls<CR>:b<space>cukup bagus untuk mengganti buffer dengan cepat, karena menunjukkan daftar buffer yang saat ini terbuka. Juga, sebagian nama diterima (selama hanya ada satu kecocokan).
nucky101
1
Metode ini juga memiliki manfaat lengkap otomatis dari vim (default, tanpa plugin tambahan). Karena Anda menggunakan beberapa buffer, ketika Anda berada dalam mode insert dan melakukan a ctrl Natau ctrl P(P adalah apa yang biasanya saya gunakan), itu akan memberi Anda daftar kata-kata untuk menyelesaikan apa yang Anda ketik ... Cerdas berdasarkan pada saat ini Anda buffer, yang terbagi, yang baru saja Anda lihat, dan setiap file terbuka lainnya!
g19fanatic
12

Kelemahan dari tab adalah Anda hanya dapat melihat konten satu per satu. Jadi, jika Anda menggunakannya seperti di browser, Anda kehilangan melihat beberapa buffer secara berdampingan, atau bahkan melihat bagian terpisah dari file yang sama secara terpisah. Oleh karena itu, banyak yang merekomendasikan untuk menggunakan tab hanya untuk memisahkan ruang kerja yang berbeda (mis. Memiliki satu untuk proyek Java, yang lain untuk daftar agenda, yang ketiga untuk meretas skrip di samping).

Masalah yang Anda uraikan membuatnya tampak bahwa Anda menggunakan Vim salah. Entah memiliki (kebanyakan) satu contoh, berdedikasi. Kemudian, buffer yang menjadi tersembunyi hanya akan "muncul kembali" jika Anda mengeditnya kembali (dan sekarang Anda dapat menggunakan daftar buffer untuk memanggil mereka kembali), dan tidak akan ada pesan file swap. Atau, gunakan instance Vim terpisah per proyek / file / edit sesi, tetapi biasakan untuk sepenuhnya :quitsetiap contoh ketika Anda selesai dengan file.

Ingo Karkat
sumber
Saya menggunakan split sesekali. Saya tidak sadar mereka dianggap 'menggunakan buffer'. Ini benar-benar konsep yang misterius bagi saya.
2c2c
1
Sebagai penemuan kembali tab yang menarik, tabman dapat menghasilkan panel samping seperti NerdTree, yang merinci semua buffer saat ditampilkan di setiap tab.
llinfeng
7

Kiat lain, saat menggunakan nama buffer sebagai argumen untuk: buffer, Anda tidak harus menentukan seluruh nama. Namun, jika lebih dari satu buffer cocok dengan argumen yang diberikan, buffer tidak akan diaktifkan.

Setiap fragmen nama buffer dapat digunakan untuk mencocokkan. Misalnya, jika Anda memiliki buffer request_manager.javadan queue_manager.javakemudian :buffer queatau :b quecocok dengan keduanya, tetapi akan beralih ke queue_manager.java karena cocok di awal.

Julius Martin
sumber
3

Saya menggunakan tab, Ctrl- Pdan sesi Vim dalam alur kerja saya dan sudah lebih dari satu tahun sekarang:

  • Saya telah )dan (memetakan masing-masing untuk "pergi ke tab berikutnya" dan "pergi ke tab sebelumnya". tnmembuka tab baru. Saya juga menggunakan tabm untuk membantu menjaga segalanya tetap teratur.

  • Saya menggunakan sesi Vim untuk grup file yang berkaitan dengan cerita / bug saat ini yang sedang saya kerjakan, biasanya dilakukan berdasarkan kategori. Sesi-sesi ini ditimpa selama proses berlangsung.

  • Saya belum menemukan sesuatu yang lebih baik dari Ctrl- P, tetapi butuh sedikit untuk memproses semua file untuk menemukan.

ShangoThrax
sumber
1

Tosses 2c ke dalam tumpukan.

TLDR; :b *part-of-filename*adalah cara terbaik untuk menemukan file yang Anda butuhkan dalam daftar buffer, yaitu file LEBIH CEPAT dan memiliki beban kognitif KURANG daripada nomor buffer, tab, atau jendela untuk melacak file.

Tidak ada artinya bagi saya untuk memiliki 30 buffer terbuka (Yaitu saya belum housekeeping), dan keindahan buffer digunakan dengan baik adalah bahwa itu tidak memperlambat saya sama sekali. Bahkan, hal itu mempercepat ketika empat hari setelah saya membuka file yang saya butuhkan, menelepon :b *part-of-filename*dan itu muncul secara ajaib, mengesankan rekan kerja dan kolektivis toady sama.

Buffer untuk file.

Agar efektif:

  • Buka file pertama yang penting dari direktori root yang dipilih dengan buruk
  • Buka file selanjutnya dengan :e
  • Gunakan lsSEMUA waktu ketika Anda pertama kali mulai mendapatkan model mental yang baik (Anda tidak bisa mengerti apa yang tidak dapat Anda lihat, secara mental atau harfiah)
  • Tidak pernah :q, itu meledak
  • Masukkan :bke dalam memori otot Anda
  • :b1 bagus untuk file pertama yang Anda tahu Anda buka, jika tidak, angka dan huruf akan cepat canggung
  • :b# baik untuk beralih ke file terakhir Anda, yang merupakan kebutuhan umum
  • :bd#baik untuk ketika Anda telah beralih ke file temp, melakukan apa yang perlu Anda lakukan, beralih kembali dengan :b#, dan sekarang ingin menutup file temp
  • :b *part-of-filename* sebaliknya cara terbaik untuk menemukan file yang Anda butuhkan dalam daftar yaitu itu LEBIH CEPAT dan memiliki beban kognitif KURANG dari nomor buffer, tab, atau jendela untuk melacak file.

Satu-satunya gangguan :b *part-of-filename*adalah bahwa kadang-kadang Anda belum membuka file, dan Anda harus kembali dan :e path/to/full-filenamepertama.

Tab adalah untuk membedakan file yang benar-benar tidak terkait.

Atau menjaga tata letak windows tertentu agar mudah (disclaimer: Saya sendiri tidak pernah menggunakannya untuk ini).

Atau untuk file yang jarang digunakan, tetapi diprediksi dibutuhkan. Bagi saya, itu biasanya commitMessagefile yang saya anotasi saat saya bekerja sehingga saya tidak perlu terlalu banyak berpikir ketika tiba saatnya untuk membuat komit. gtlebih cepat dari :b com<enter>(jika Anda merasa beruntung, jika tidak :b com<tab><enter>)

  • :tabe commitMessage
  • gtatau gTjuga favorit memori otot

Window split adalah untuk membandingkan informasi secara visual

Atau memiliki akses langsung ke informasi penting (jujur, kecuali jika info itu adalah sesuatu yang saya perlu perbarui dengan :efile log, saya biasanya hanya menarik konten ke file saat ini dan menanganinya di sana).

  • :vspatau C-w vmembuka split vertikal yaitu kiri | benar, lalu gunakan :batau :euntuk mendapatkan file yang Anda inginkan
  • :spatau C-w sbuka split horizontal yaitu atas / bawah
  • C-w C-w yaitu double Ctrl-w, memutar Anda di sekitar jendela yang tersedia
  • C-w c tutup jendela saat ini
  • C-w o tutup semua jendela lain, pertahankan HANYA saat ini
Paul Parker
sumber
Jawaban yang sangat berguna, seharusnya memiliki lebih banyak upvotes. Terima kasih atas kiatnya, terutama wawasan tentang alur kerja Anda dengan :b#dan :bd#!
Alacritas
0

Tambahkan ini ke .vimrcbuffer Anda dan mulailah mencintai:

:nnoremap <Tab> :n<cr>
:nnoremap <S-Tab> :N<cr>

Dengan begitu Anda dapat bersepeda maju / mundur melalui mereka dalam mode normal melalui Tab/ ShiftTab.

sja
sumber
5
Jangan lakukan itu. Anda akan kehilangan pemetaan untuk <C-I>. Peta <C-Tab>sebaliknya jika Anda benar-benar ingin.
6
Juga, :ndan :Nhubungkan dengan daftar argumen, bukan buffer terbuka. Anda ingin :bndan :bp( :bnextdan :bprev). tpope yang tidak terganggu memberikan pemetaan ]bdan [buntuk ini (dan hal-hal baik lainnya) jika Anda mau. (dan ), atau <left>dan <right>panah, bisa dibilang menjadi kunci yang kurang bermanfaat untuk ditimpa daripada tab, jika Anda benar-benar menginginkan pemetaan pendek.
Vaz
1
@jeyoung setuju - itu juga jauh lebih masuk akal untuk digunakan Ctrl + Tabkarena itulah yang digunakan oleh kebanyakan editor dan browser GUI lainnya.
icc97
0

Saya ingin menyarankan implementasi cemerlang dari sejumlah tahun yang lalu: kien / tabman.vim . Ini menjelaskan hal-hal berikut:

  • Seseorang dapat memiliki banyak buffer yang tersembunyi dengan cermat, di suatu tempat;
  • Secara desain, tab dimaksudkan untuk menampilkan buffer dengan cara yang kreatif.
    • Dengan beberapa plugin tabline yang tepat, seseorang dapat menampilkan semua buffer tersembunyi di baris atas (tabline);
    • Per pengalaman saya dengan vim-airline , tabline akan menunjukkan sedikit informasi yang relevan ketika saya membuat tab baru.
    • Dua tag akan menempati slot tabline, berdampingan, menyia-nyiakan sisa ruang horizontal
    • Lebih buruk lagi, saya tidak lagi tahu apa saja buffer yang disembunyikan.

Itu telah menemukan kembali yang luar biasa dari plugin ajaib ini, yang seharusnya tetap dalam konfigurasi Vim saya selama beberapa tahun juga. Sementara saya akan terus mencari sesuatu yang juga menampilkan semua buffer tersembunyi, TabMan adalah superman saya ketika datang untuk memiliki pandangan mata burung tentang bagaimana buffer diatur di berbagai tab.

Lingfeng
sumber
0

Saya memuat buffer "terpilih" sebagai tab untuk cepat (TAB / S-TAB) beralih di antara mereka. Kerangka kerja cocok di sini karena bagi saya buffer tab VS sebagian besar adalah hal visibilitas. Saya dapat memunculkan file-file penting / kerja di windows dan tab dan menyembunyikan yang saat ini tidak perlu saya manfaatkan di latar belakang dengan cepat tanpa harus mengingat jalur atau meluangkan waktu untuk mencari dan memuatnya kembali begitu diperlukan. Ini memungkinkan untuk menangani beberapa tugas atau proyek dalam satu sesi VIM, saya kira ini dulunya penting di mesin memori rendah tetapi juga baik untuk memusatkan semua tugas pengeditan di bawah satu bingkai aplikasi. Saya juga mengatur pintasan pemindahan buffer ke Ctrl-Tepat / Kiri sehingga saya dapat dengan cepat menggeser berbagai buffer juga.

Intinya, seseorang hanya dapat membagi beberapa jendela untuk penggunaannya sebanyak screen estate berjalan, tetapi seseorang dapat menyimpan beberapa pengaturan windows di beberapa tab sehingga memperluas ruang kerja seseorang dan meningkatkan alur kerja memungkinkan pembagian tugas yang mudah dengan tugas rumit berputar lebih dari satu file .

Untuk file swap, Anda dapat memberi tahu VIM untuk menyimpan semuanya dalam satu folder tujuan Anda. Untuk penggunaan ini :set directory.

memenuhi syarat
sumber