Có phím tắt nào để chuyển Tab từ cái này sang cái khác trong MacVim không?
Bất kỳ mẹo nào để tự ràng buộc các phím tắt trong .vimrc như ⌘ + 1 cho Tab 1 và ⌘ + 2 cho Tab 2. Ví dụ: như chuyển đổi tab trình duyệt.
Có phím tắt nào để chuyển Tab từ cái này sang cái khác trong MacVim không?
Bất kỳ mẹo nào để tự ràng buộc các phím tắt trong .vimrc như ⌘ + 1 cho Tab 1 và ⌘ + 2 cho Tab 2. Ví dụ: như chuyển đổi tab trình duyệt.
Câu trả lời:
Vì MacVim là một chương trình thực tế trên Mac OS, bạn có thể ánh xạ tab chuyển đổi giống như cách bạn ánh xạ các lệnh trong bất kỳ chương trình nào (mà cá nhân tôi mới tìm hiểu gần đây).
Mở Tùy chọn hệ thống, chọn "Bàn phím", sau đó "Phím tắt ứng dụng" (trong menu bên trái). Trong menu bên phải, nhấp vào dấu cộng (+) để thêm lệnh mới. Chọn MacVim cho ứng dụng và cho tiêu đề menu, nhập "Chọn Tab tiếp theo" và chọn phím tắt (Tôi đã chọn Cmd + mũi tên phải). Sau đó thực hiện tương tự cho lệnh "Chọn Tab trước".
"Chọn tab tiếp theo" và "Chọn tab trước" được tìm thấy trong MacVim trong menu "Cửa sổ". Bất kỳ tùy chọn nào bạn thấy trong bất kỳ menu nào cho ứng dụng đều có thể được ánh xạ lại bằng phương pháp này.
Tất nhiên bạn có thể thay đổi các phím tắt với tùy chọn hệ thống OSX cho bàn phím của mình như được hiển thị ở đây: Cách ánh xạ lại bất kỳ Phím tắt nào trong Mac OS X
Một số có thể thích làm điều đó thông qua .vimrc
:
if has("gui_macvim")
" Press Ctrl-Tab to switch between open tabs (like browser tabs) to
" the right side. Ctrl-Shift-Tab goes the other way.
noremap <C-Tab> :tabnext<CR>
noremap <C-S-Tab> :tabprev<CR>
" Switch to specific tab numbers with Command-number
noremap <D-1> :tabn 1<CR>
noremap <D-2> :tabn 2<CR>
noremap <D-3> :tabn 3<CR>
noremap <D-4> :tabn 4<CR>
noremap <D-5> :tabn 5<CR>
noremap <D-6> :tabn 6<CR>
noremap <D-7> :tabn 7<CR>
noremap <D-8> :tabn 8<CR>
noremap <D-9> :tabn 9<CR>
" Command-0 goes to the last tab
noremap <D-0> :tablast<CR>
endif
Bạn có thể chọn Tab tiếp theo với ⌘+ }và chọn Tab trước với ⌘+{
Phím shift được yêu cầu không chỉ nhấn a [thay vì }
phím tắt là ⌘+ shift+ ]hoặc ⌘+ shift+ [
Phím tắt này hoạt động trong nhiều ứng dụng, tức là trong Terminal
Tôi có phần sau trong ~ / .vimrc cho Linux. Bạn sẽ có thể thay đổi " <M-
" chuỗi thành " <D-
" để có được những gì bạn muốn:
" Meta+1-0 jumps to tab 1-10, Shift+Meta+1-0 jumps to tab 11-20:
let s:windowmapnr = 0
let s:wins='1234567890!@#$%^&*()'
while (s:windowmapnr < strlen(s:wins))
exe 'noremap <silent> <M-' . s:wins[s:windowmapnr] . '> ' . (s:windowmapnr + 1) . 'gt'
exe 'inoremap <silent> <M-' . s:wins[s:windowmapnr] . '> <C-O>' . (s:windowmapnr + 1) . 'gt'
exe 'cnoremap <silent> <M-' . s:wins[s:windowmapnr] . '> <C-C>' . (s:windowmapnr + 1) . 'gt'
exe 'vnoremap <silent> <M-' . s:wins[s:windowmapnr] . '> <C-C>' . (s:windowmapnr + 1) . 'gt'
let s:windowmapnr += 1
endwhile
unlet s:windowmapnr s:wins
Ngoài việc ánh xạ của riêng bạn, có được tích hợp các phím tắt vim. Hãy thử một số theo sau gt
. Ví dụ: 3gt
đưa bạn đến tab thứ 3. Bạn cũng có thể làm chỉ gt
để đi đến tab tiếp theo hoặc gT
đi đến tab trước.
(Kể từ vim 7. một cái gì đó, các tab đã được đưa vào ngay cả trong phiên bản không phải là chế độ văn bản.)