Skip to content

스마트 탭 탐색

VMark의 Tab 및 Shift+Tab 키는 컨텍스트 인식적입니다 — 화살표 키를 누르지 않고도 서식화된 텍스트, 괄호, 링크를 효율적으로 탐색할 수 있습니다.

빠른 개요

컨텍스트Tab 동작Shift+Tab 동작
괄호 안 () [] {}닫는 괄호 건너뛰기여는 괄호 앞으로 이동
따옴표 안 "" ''닫는 따옴표 건너뛰기여는 따옴표 앞으로 이동
CJK 괄호 안 「」 『』닫는 괄호 건너뛰기여는 괄호 앞으로 이동
굵게, 기울임꼴, 코드, 취소선서식 후로 이동서식 전으로 이동
링크 안링크 후로 이동링크 전으로 이동
테이블 셀 안다음 셀로 이동이전 셀로 이동
목록 항목 안항목 들여쓰기항목 내어쓰기

괄호 및 따옴표 탈출

커서가 닫는 괄호나 따옴표 바로 앞에 있을 때 Tab을 누르면 건너뜁니다. 커서가 여는 괄호나 따옴표 바로 뒤에 있을 때 Shift+Tab을 누르면 앞으로 이동합니다.

지원되는 문자

표준 괄호 및 따옴표:

  • 소괄호: ( )
  • 대괄호: [ ]
  • 중괄호: { }
  • 큰따옴표: " "
  • 작은따옴표: ' '
  • 백틱: `

CJK 괄호:

  • 전각 괄호: ( )
  • 렌티큘러 괄호: 【 】
  • 코너 괄호: 「 」
  • 흰색 코너 괄호: 『 』
  • 이중 꺾쇠 괄호: 《 》
  • 꺾쇠 괄호: 〈 〉

곡선 따옴표:

  • 이중 곡선 따옴표: " "
  • 단일 곡선 따옴표: ' '

작동 방식

function hello(world|)
                    ↑ ) 앞에 커서

Tab 누르기:

function hello(world)|
                     ↑ ) 뒤에 커서

이는 중첩된 괄호에서도 작동합니다 — Tab은 바로 인접한 닫는 문자를 건너뜁니다.

Shift+Tab 은 반대 방향으로 작동합니다 — 커서가 여는 문자 바로 뒤에 있는 경우:

function hello(|world)
               ↑ ( 뒤에 커서

Shift+Tab 누르기:

function hello|(world)
              ↑ ( 앞에 커서

CJK 예시

这是「测试|」文字
         ↑ 」 앞에 커서

Tab 누르기:

这是「测试」|文字
          ↑ 」 뒤에 커서

서식 탈출 (WYSIWYG 모드)

WYSIWYG 모드에서 Tab 및 Shift+Tab은 인라인 서식 마크에서 탈출할 수 있습니다.

지원되는 서식

  • 굵게 텍스트
  • 기울임꼴 텍스트
  • 인라인 코드
  • 취소선
  • 링크

작동 방식

커서가 서식화된 텍스트 어디에 있든:

This is **bold te|xt** here
                 ↑ 굵게 안에 커서

Tab 누르기:

This is **bold text**| here
                     ↑ 굵게 후 커서

Shift+Tab은 반대 방향으로 작동합니다 — 서식 시작으로 이동합니다:

This is **bold te|xt** here
                 ↑ 굵게 안에 커서

Shift+Tab 누르기:

This is |**bold text** here
        ↑ 굵게 전 커서

링크 탈출

Tab 및 Shift+Tab은 링크에서도 탈출합니다:

Check out [VMark|](https://vmark.app)
               ↑ 링크 텍스트 안에 커서

Tab 누르기:

Check out [VMark](https://vmark.app)| and...
                                    ↑ 링크 후 커서

링크 안에서 Shift+Tab 을 누르면 시작으로 이동합니다:

Check out |[VMark](https://vmark.app) and...
          ↑ 링크 전 커서

링크 탐색 (소스 모드)

소스 모드에서 Tab은 마크다운 링크 구문 내에서 스마트 탐색을 제공합니다.

중첩된 및 이스케이프된 괄호

VMark는 복잡한 링크 구문을 올바르게 처리합니다:

markdown
[text [with nested] brackets](url)     ✓ 작동
[text \[escaped\] brackets](url)       ✓ 작동
[link](https://example.com/page(1))    ✓ 작동

Tab 탐색은 중첩되거나 이스케이프된 괄호에서도 링크 경계를 올바르게 식별합니다.

표준 링크

markdown
[link text|](url)
          ↑ 텍스트 안에 커서

Tab 누르기 → 커서가 URL로 이동:

markdown
[link text](|url)
            ↑ URL 안에 커서

Tab 다시 누르기 → 커서가 링크를 빠져나감:

markdown
[link text](url)|
                ↑ 링크 후 커서

위키 링크

markdown
[[page name|]]
           ↑ 링크 안에 커서

Tab 누르기:

markdown
[[page name]]|
             ↑ 링크 후 커서

소스 모드: 마크다운 문자 탈출

소스 모드에서 Tab은 마크다운 서식 문자를 건너뜁니다:

문자사용 용도
*굵게/기울임꼴
_굵게/기울임꼴
^위첨자
~~취소선 (단위로 건너뜀)
==하이라이트 (단위로 건너뜀)

예시

markdown
This is **bold|** text
              ↑ ** 앞에 커서

Tab 누르기:

markdown
This is **bold**| text
                ↑ ** 후 커서

INFO

소스 모드는 마크다운 문자에 대한 Shift+Tab 탈출이 없습니다 — Shift+Tab은 내어쓰기 (선행 공백 제거)만 합니다.

소스 모드: 자동 쌍

소스 모드에서 서식 문자를 입력하면 자동으로 닫는 쌍이 삽입됩니다:

문자동작
**|* 또는 **|**지연 기반 — 단일 vs 이중 감지를 위해 150ms 대기
~~|~ 또는 ~~|~~지연 기반
__|_ 또는 __|__지연 기반
===|==항상 이중으로 쌍
``|`단일 백틱은 지연 후 쌍
```코드 펜스줄 시작의 삼중 백틱은 펜스드 코드 블록 생성

자동 쌍은 펜스드 코드 블록 안에서 비활성화 됩니다 — 코드 블록에서 *를 입력하면 쌍 없이 리터럴 *이 삽입됩니다.

쌍 사이에서 백스페이스하면 두 반쪽이 모두 삭제됩니다: *\|* → 백스페이스 → 비어 있음.

테이블 탐색

커서가 테이블 안에 있을 때:

동작
다음 셀Tab
이전 셀Shift + Tab
행 추가 (마지막 셀에서)Tab

마지막 행의 마지막 셀에서 Tab을 누르면 자동으로 새 행이 추가됩니다.

목록 들여쓰기

커서가 목록 항목에 있을 때:

동작
항목 들여쓰기Tab
항목 내어쓰기Shift + Tab

설정

탭 탈출 동작은 설정 → 에디터 에서 사용자 정의할 수 있습니다:

설정효과
괄호 자동 쌍괄호 쌍 및 Tab 탈출 활성화/비활성화
CJK 괄호CJK 괄호 쌍 포함
곡선 따옴표곡선 따옴표 쌍 포함 ("" '')

TIP

Tab 탈출이 워크플로우와 충돌하는 경우 괄호 자동 쌍을 완전히 비활성화할 수 있습니다. 그러면 Tab이 목록/테이블에서 공백을 삽입하거나 들여쓰기를 수행합니다.

비교: WYSIWYG vs 소스 모드

기능Tab (WYSIWYG)Shift+Tab (WYSIWYG)Tab (소스)Shift+Tab (소스)
괄호 탈출
CJK 괄호 탈출
곡선 따옴표 탈출
마크 탈출 (굵게 등)N/AN/A
링크 탈출✓ (필드 탐색)
마크다운 문자 탈출 (*, _, ~~, ==)N/AN/A
마크다운 자동 쌍 (*, ~, _, =)N/AN/A✓ (지연 기반)N/A
테이블 탐색다음 셀이전 셀N/AN/A
목록 들여쓰기들여쓰기내어쓰기들여쓰기내어쓰기
멀티 커서 지원
코드 블록 안에서 건너뜀N/A

멀티 커서 지원

탭 탈출은 여러 커서에서 작동합니다 — 각 커서가 독립적으로 처리됩니다.

작동 방식

여러 커서가 있을 때 Tab 또는 Shift+Tab을 누르면:

  • Tab: 서식 안의 커서는 끝으로 탈출; 닫는 괄호 앞의 커서는 건너뜀
  • Shift+Tab: 서식 안의 커서는 시작으로 탈출; 여는 괄호 뒤의 커서는 앞으로 이동
  • 일반 텍스트의 커서는 그 자리에 유지됨

예시

**bold|** and [link|](url) and plain|
     ^1          ^2            ^3

Tab 누르기:

**bold**| and [link](url)| and plain|
        ^1               ^2         ^3

각 커서가 컨텍스트에 따라 독립적으로 탈출합니다.

TIP

이것은 대량 편집에 특히 강력합니다 — Mod + D로 여러 항목을 선택한 다음 Tab을 사용하여 한 번에 모두 탈출합니다.

우선순위 및 코드 블록 동작

탈출 우선순위

여러 탈출 대상이 겹치는 경우 Tab은 가장 안쪽에서 먼저 처리합니다:

**bold text(|)** here
               ↑ Tab이 먼저 ) 건너뜀 (괄호가 가장 안쪽)

Tab 다시 누르기:

**bold text()**| here
               ↑ Tab이 굵게 마크 탈출

즉, 괄호 건너뛰기가 항상 마크 탈출보다 먼저 실행됩니다 — Tab이 먼저 괄호를 탈출한 다음 서식을 탈출한다는 것을 기억하세요.

코드 블록 가드

Tab 및 Shift+Tab 괄호 건너뛰기는 코드 블록 안에서 비활성화 됩니다 — code_block 노드와 인라인 코드 스팬 모두. 이는 괄호가 리터럴 구문인 코드에서 Tab이 괄호를 건너뛰는 것을 방지합니다:

`array[index|]`
              ↑ Tab이 인라인 코드에서 ] 건너뛰지 않음 — 대신 공백 삽입

자동 쌍 삽입도 WYSIWYG 모드와 소스 모드 모두에서 코드 블록 안에서 비활성화됩니다.

  1. 근육 기억 — Tab 탈출에 익숙해지면 화살표 키 없이 훨씬 빠르게 탐색할 수 있습니다.

  2. 자동 쌍과 함께 작동(를 입력하면 VMark가 자동으로 )를 삽입합니다. 안에서 입력한 후 Tab만 누르면 나갑니다.

  3. 중첩된 구조 — Tab은 한 번에 한 레벨씩 탈출합니다. ((nested))의 경우 완전히 탈출하려면 Tab을 두 번 눌러야 합니다.

  4. Shift + Tab — Tab의 거울 이미지. 마크, 링크, 여는 괄호에서 역방향으로 탈출합니다. 테이블에서는 이전 셀로 이동하고, 목록에서는 항목 내어쓰기입니다.

  5. 멀티 커서 — Tab 탈출은 모든 커서에 동시에 작동하여 대량 편집을 더욱 빠르게 합니다.