Apakah ada cara untuk mengambil jendela yang sudah ada (split) dan memasukkannya ke tab baru?
Apakah ada cara untuk mengambil jendela yang sudah ada (split) dan memasukkannya ke tab baru?
Jawaban:
Selain :tabeditpendekatan yang disarankan sebelumnya , cara yang lebih cepat untuk melakukannya adalah (dalam mode normal) untuk menekan Ctrl- W Shift- T. Ctrl-W adalah awalan umum untuk berbagai macam perintah manipulasi jendela.
Lihat:
:help Ctrl-W_T
:help Ctrl-W
help Ctrl-W_Takan membawa Anda ke entri bantuan Ctrl-W_t(huruf kecil), namun, lebih jauh ke bawah adalah Ctrl-W_Tentri (dengan huruf kapital T), mengatakan "Pindahkan jendela saat ini ke halaman tab baru ...."
:echo bufnr("")dan menggunakan nomor ini Anda dapat membagi jendela dengan :sp #3atau :sb 3(dengan asumsi angka itu 3). Anda mungkin dapat membuat beberapa pemetaan atau fungsi untuk menyederhanakan ini.
:sbakan bekerja, tetapi dengan versi terbaru Vim (> = 7.3) Anda juga dapat menggunakan undo persisten dengan menyetel di set undodir=/path/to/dirmana / path / ke / dir adalah direktori yang sudah Anda miliki. dibuat untuk tujuan dan kemudian set undofile. Ini akan memungkinkan Anda keluar dari vim dan kemudian memulai kembali dan masih mempertahankan kondisi undo / redo.
Mencoba
:tabedit %<CR>
C-w Tadalah cara tercepat untuk melakukan hal yang sama
Ini memindahkan buffer terbaru di tab baru dan mengembalikan buffer sebelumnya di tab saat ini. Saya menggunakan ini setelah menyeret file baru ke Gvim saya
:sbp |wincmd p| wincmd T
Anda dapat memetakannya seperti itu ke Ctrl-Backspace
:nnoremap <C-BS> :sbp<bar>wincmd p<bar>wincmd T<CR>
kinerjanya sangat baik dengan
:set switchbuf=usetab
Saya telah menggunakan ini yang memberi Anda dua fungsi yang dapat terikat pada sepasang hotkey atau perintah, dan yang berfungsi cukup intuitif. Saya cukup yakin ini menawarkan perilaku yang bahkan lebih ramah daripada misalnya Ctrl-W_T.
Misalnya, ketika beberapa jendela terbuka di banyak tab, menggunakan fungsi ini memungkinkan Anda untuk secara khusus memindahkan jendela saat ini ke tab berikutnya atau sebelumnya, dan jika Anda memindahkan sesuatu ke sebelum tab pertama atau ke setelah tab terakhir, maka itu berubah ke dalam tab yang sama sekali baru.
Ini berarti jika Anda memiliki 2 tab, masing-masing memiliki satu jendela, kemudian memindahkan jendela tab pertama ke kanan akan menggabungkannya dengan tab kedua untuk menghasilkan satu tab tunggal dengan dua jendela. Saya tidak tahu seberapa berbelit-belit operasi ini untuk mencapai menggunakan perintah tradisional.
Artinya, sepasang perintah bergerak memungkinkan untuk menggeser jendela di sekitar tab, memisahkan jendela menjadi tab (dengan mendorong jendela ke ujung) dan menggabungkan tab terpisah ke jendela di dalam tab tunggal, hampir semuanya Anda mungkin ingin, singkat dari pengaturan posisi (yang merupakan topik terpisah dan perintah Ctrl-W+ built in Shift-HJKLberfungsi dengan baik untuk).