MacVim에서 탭을 전환하는 단축키


16

MacVim에서 탭을 다른 탭으로 전환 할 수있는 단축키가 있습니까?

MacVim 탭

탭 1의 경우 ⌘ + 1 및 탭 2의 경우 ⌘ + 2와 같이 .vimrc에서 바로 가기를 직접 바인딩하는 팁은 예를 들어 브라우저 탭 전환과 같습니다.

답변:


17

MacVim은 Mac OS의 실제 프로그램이므로 모든 프로그램에서 명령을 매핑하는 것과 같은 방식으로 탭 전환을 매핑 할 수 있습니다 (최근에 개인적으로 배운 것).

시스템 환경 설정을 열고 "키보드"를 선택한 다음 "응용 프로그램 바로 가기"(왼쪽 메뉴)를 선택하십시오. 오른쪽 메뉴에서 더하기 (+)를 클릭하여 새 명령을 추가하십시오. 응용 프로그램으로 MacVim을 선택하고 메뉴 제목으로 "다음 탭 선택"을 입력 한 다음 바로 가기를 선택하십시오 (Cmd + 오른쪽 화살표를 선택했습니다). 그런 다음 "이전 탭 선택"명령에 대해 동일한 작업을 수행하십시오.

"다음 탭 선택"및 "이전 탭 선택"은 MacVim의 "창"메뉴에 있습니다. 이 방법을 사용하여 앱의 메뉴에 표시되는 모든 옵션을 다시 매핑 할 수 있습니다.


1
질문은 Macvim에 관한 것이 었으므로이 솔루션이 더 좋습니다. 유일한 것은 .vimrc를 다른 컴퓨터로 이식하려고 할 때 이것이 작동하지 않을 수 있지만 여전히 이것을 선호한다는 것입니다. 감사.
sabertooth

Windows / Linux에서는 Alt + 1 ... 10을 탭 순서로 매핑합니다. mac의 다른 모든 응용 프로그램에 대한 것이므로 command + 1을 첫 번째 탭으로 이동하는 것이 좋습니다. 어쨌든 그렇게 하시겠습니까? 메뉴는 "Buffer >> <filename> (1)"
gcb

20

다음과 같이 키보드의 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

1
고맙게도, 선의 끝 / 시작으로 이동하기 위해 command-right | left-arrow를 사용하기 때문에 선택된 솔루션보다이 솔루션을 선호합니다!
Brian Underwood

1
삽입 모드에서 어떻게 작동합니까?
Oliver Joseph Ash

이것은 아름다운 넘어! 감사! 🙏
Nik

12

당신은 할 수 있습니다 다음 탭을 선택 하여 + }이전 탭을 선택 하여 +{

Shift 키는 a [대신에 a 를 누르지 않아야 합니다. }
따라서 단축키는 + shift+ ]또는 + shift+입니다. [
이 단축키는 많은 앱, 즉 터미널에서 작동합니다.


이것은 OP가 요구하는 것이 아닙니다 ... 문제는 터미널이 아닌 MacVim에서 탭을 전환하는 것이 었습니다.
JESii

2
그러나 이것은 MacVim 키보드 단축키입니다. 명령 키는 터미널 vim으로 변환되지 않습니다.
spoulson

MacVim을 사용하고 있으며이 솔루션에서 언급했듯이 이미 탭을 전환하는 키보드 명령이 있습니다. <kbd> ⌘ </ kbd> + <kbd>} </ kbd>를 수행 할 때 <kbd> Shift </ kbd> 키가 누락되었습니다.
brettlyman

5

~ / .vimrc for 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

3

자신의 매핑을뿐만 아니라, 존재 하는 내장 정력 바로 가기. 뒤에 숫자를 입력하십시오 gt. 예를 들어 : 3gt세 번째 탭으로 이동합니다. 당신은 또한 단지 할 수있는 gt다음 탭으로 이동하거나 gT이전으로 이동합니다.

(vim 7.something 이후로, 텍스트 모드 비 gvim 버전에서도 탭이 구워졌습니다.)


완전한! 이 작업을 수행하는 기본 vim 방법; 감사.
JESii
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.