มีทางลัดใด ๆ ในการสลับแท็บจากที่หนึ่งไปอีกที่หนึ่งใน MacVim หรือไม่?
เคล็ดลับใด ๆ ในการผูกทางลัดด้วยตนเองใน. vimrc เช่น⌘ + 1 สำหรับแท็บ 1 และ⌘ + 2 สำหรับแท็บ 2 ตัวอย่างเช่นสลับแท็บเบราว์เซอร์
มีทางลัดใด ๆ ในการสลับแท็บจากที่หนึ่งไปอีกที่หนึ่งใน MacVim หรือไม่?
เคล็ดลับใด ๆ ในการผูกทางลัดด้วยตนเองใน. vimrc เช่น⌘ + 1 สำหรับแท็บ 1 และ⌘ + 2 สำหรับแท็บ 2 ตัวอย่างเช่นสลับแท็บเบราว์เซอร์
คำตอบ:
เนื่องจาก MacVim เป็นโปรแกรมจริงบน Mac OS คุณสามารถแท็บแผนที่สลับแบบเดียวกับที่คุณจับคู่คำสั่งในโปรแกรมใด ๆ (ซึ่งฉันเพิ่งเรียนรู้เมื่อไม่นานมานี้)
เปิดการตั้งค่าระบบเลือก "แป้นพิมพ์" จากนั้นเลือก "ทางลัดแอปพลิเคชัน" (ในเมนูด้านซ้าย) ใต้เมนูด้านขวาให้คลิกที่เครื่องหมายบวก (+) เพื่อเพิ่มคำสั่งใหม่ เลือก MacVim สำหรับแอปพลิเคชันและสำหรับชื่อเมนูพิมพ์ "เลือกแท็บถัดไป" และเลือกทางลัด (ฉันเลือก Cmd + ลูกศรขวา) จากนั้นทำสิ่งเดียวกันสำหรับคำสั่ง "เลือกแท็บก่อนหน้า"
"เลือกแท็บถัดไป" และ "เลือกแท็บก่อนหน้า" ใน MacVim ภายใต้เมนู "หน้าต่าง" ตัวเลือกใด ๆ ที่คุณเห็นในเมนูใด ๆ สำหรับแอปสามารถแมปใหม่ได้โดยใช้วิธีนี้
แน่นอนคุณสามารถเปลี่ยนทางลัดด้วยการตั้งค่าระบบ OSX สำหรับแป้นพิมพ์ของคุณได้ตามที่แสดงไว้ที่นี่: วิธีตั้งค่าแป้นพิมพ์ลัดใหม่ใน Mac OS X ได้อย่างไร
บางคนอาจต้องการทำผ่าน.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
คุณสามารถเลือกแท็บถัดไปด้วย⌘+}และเลือกแท็บก่อนหน้าด้วย⌘+{
ต้องกดปุ่ม Shift ไม่เพียง แต่กด[แทน a }
ดังนั้นทางลัดคือ⌘+ shift+ ]หรือ⌘+ shift+ [
ทางลัดนี้ทำงานได้ในหลาย ๆ แอพเช่นในเทอร์มินัล
ฉันมีสิ่งต่อไปนี้ใน ~ / .vimrc สำหรับ Linux คุณควรจะสามารถเปลี่ยน<M-
ลำดับ " <D-
" เป็น "" เพื่อให้ได้สิ่งที่คุณต้องการ:
" 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
นอกจากจะทำให้แมปของคุณเองมีกำลังในตัวเป็นกลุ่มทางลัด gt
ลองจำนวนตามด้วย ตัวอย่างเช่น3gt
นำคุณไปที่แท็บที่ 3 คุณสามารถทำได้เพียงgt
ไปที่แท็บถัดไปหรือไปที่แท็บgT
ก่อนหน้า
(ตั้งแต่กลุ่ม 7. บางอย่างแท็บได้รับการอบแม้ในโหมดข้อความไม่ใช่โหมด gvim)