RL RanceLee Tutorials
← 튜토리얼로 돌아가기

Obsidian Canvas: 아이디어를 시각적으로 정리하기

폴더 계획(몇 개의 간단한 폴더로 노트 시스템 운영하기)에 대해 다뤘습니다. 이제 Obsidian에 내장된 또 다른 핵심 플러그인인 Canvas를 살펴보겠습니다.


Canvas란 무엇이며, 어떤 점이 좋고, 어떤 점이 좋지 않은가

간단히 말해, Canvas는 무한 캔버스입니다.

일반 노트는 선형적입니다. 위에서 아래로 작성하며 내용이 순차적으로 이어집니다. Canvas는 다릅니다. 2차원이며 경계가 없습니다. 노트, 이미지, 웹 링크, 텍스트 카드를 끌어다 놓고, 선을 사용하여 관계를 설정할 수 있습니다.

Canvas가 유용한 상황:

  • 복잡한 프로젝트 분해: 큰 목표를 여러 하위 작업으로 나누고, 선으로 의존 관계를 표시
  • 지식 관계도: 한 분야의 개념이 너무 많을 때, Canvas로 연결 관계를 한눈에 파악
  • 시각적 독서 노트: 책의 핵심 주장, 뒷받침 사례, 반론 등을 선형 노트보다 훨씬 직관적으로 배치
  • 순서도 / 아키텍처 다이어그램: 제품 흐름, 기술 아키텍처, 워크플로우 등을 그림으로 그리면 글로 쓰는 것보다 이해하기 쉬움

Canvas가 적합하지 않은 상황:

선형 콘텐츠에는 일반 노트를 사용하세요. Canvas를 사용하기 위해 억지로 사용하지 마세요.

글을 쓰거나, 회의록을 작성하거나, 목록을 정리할 때는 .md 파일을 사용하세요. Canvas를 열면 추가 작업이 발생합니다. Canvas의 가치는 공간적 배치가 필요한 콘텐츠에 있습니다. 콘텐츠 간에 복잡한 관계가 있을 때만 사용하세요.

Canvas 핵심 플러그인 활성화하기

Canvas는 Obsidian에 내장된 핵심 플러그인이므로 설치가 필요 없습니다. 기본적으로 비활성화되어 있으므로 수동으로 활성화해야 합니다.

경로: 설정 → 핵심 플러그인 → “Canvas” 찾기 → 오른쪽 토글 스위치 켜기.

활성화하면 왼쪽 사이드바에 Canvas 아이콘이 나타납니다. 클릭하여 새 Canvas 파일을 만들 수 있습니다.

Canvas 만들기 및 사용하기

새 Canvas를 만드는 방법

세 가지 방법이 있습니다:

  1. 명령어 팔레트: Cmd+P(Mac) 또는 Ctrl+P(Windows), “새 Canvas” 검색 후 Enter
  2. 왼쪽 사이드바: Canvas 플러그인을 활성화하면 왼쪽 사이드바에 Canvas 아이콘이 나타납니다. 클릭하여 새로 만들기

생성 후 .canvas 파일이 생성됩니다(자세한 내용은 아래에서 설명).

일반적인 작업 및 단축키

Canvas의 작동 방식은 일반 그림판과 비슷하므로 쉽게 익힐 수 있습니다:

작업 단축키
새 텍스트 카드 만들기 빈 공간 더블클릭
카드 편집 종료 Esc
캔버스 이동 Space + 드래그, 또는 마우스 가운데 버튼 드래그
캔버스 확대/축소 Ctrl/Cmd + 마우스 휠
모든 콘텐츠를 화면에 맞추기 Shift+1
선택한 콘텐츠를 화면에 맞추기 Shift+2
카드 삭제 선택 후 Backspace 또는 Delete
두 카드 연결 카드 가장자리에 마우스를 올리면 나타나는 점에서 드래그

가장 자주 사용하는 두 가지는: 더블클릭으로 카드 만들기가장자리 점에서 드래그하여 연결하기입니다.

키보드 워크플로우: 키보드에서 손을 떼지 않고 브랜치 만들기

Canvas는 순수 키보드 워크플로우도 지원하므로, 빠르게 브레인스토밍하고 연속적으로 브랜치를 만들기에 이상적입니다.

기본 탐색(편집 모드가 아닐 때):

작업 단축키
다음/이전 카드로 선택 전환 Tab / Shift+Tab
인접한 연결된 카드로 이동 ← → ↑ ↓
선택한 카드 편집 모드로 전환 Enter
편집 모드 종료, 카드 선택으로 돌아가기 Esc
모든 카드 선택 Ctrl/Cmd + A
선택한 카드 삭제 Backspace 또는 Delete

브랜치 만들기: 카드를 선택한 후(편집 모드 아님), 마우스를 카드 가장자리로 이동합니다. 네 면 모두 원형 연결점이 있습니다. 하나를 빈 영역으로 드래그합니다. 기존 카드 위가 아니라 빈 공간으로 드래그한 후 놓으면 메뉴가 나타납니다. “새 텍스트 카드"를 선택하면 새 카드가 자동으로 생성되어 현재 카드와 연결됩니다.

여러 병렬 브랜치를 만드는 키보드+마우스 워크플로우:

  1. 빈 공간을 더블클릭하여 부모 카드를 만들고, 내용을 입력한 후 Esc를 눌러 편집 종료
  2. 카드가 선택된 상태에서 오른쪽 가장자리 점을 드래그 → 자식 카드 1 생성, 내용 입력 후 Esc
  3. 화살표 키 ←를 사용하여 부모 카드로 돌아가기
  4. 다시 오른쪽 가장자리 점을 드래그 → 자식 카드 2 생성, 내용 입력 후 Esc
  5. 3~4단계를 반복하여 병렬 자식 브랜치 세트를 빠르게 생성

이 워크플로우의 핵심은: 마우스로 카드를 만들고, 키보드로 입력 및 전환하며, 둘 사이의 전환 비용이 낮다는 점입니다. 마우스를 완전히 사용하지 않으려면 Canvas로는 현재 불가능합니다. Obsidian은 아직 순수 키보드로 연결된 카드 생성을 지원하지 않습니다. 순수 키보드 마인드맵을 원한다면 다음 장의 Excalidraw를 기다리거나, 전용 마인드맵 도구를 사용하세요.

Canvas에 추가할 수 있는 것들

Canvas에는 텍스트 카드 외에도 다양한 것을 추가할 수 있습니다:

텍스트 카드: 빈 공간을 더블클릭하고 직접 입력합니다. Markdown 형식을 지원합니다. 제목, 목록, 굵게 등 일반 노트와 동일합니다.

기존 노트 파일: 파일 트리에서 Canvas로 직접 드래그하거나, Canvas 빈 공간에서 마우스 오른쪽 버튼 → “보관소에서 파일 추가”. 드래그한 후 노트 내용이 카드에 미리보기로 표시되며, 직접 편집할 수 있습니다.

노트의 특정 단락: 노트에서 원하는 단락을 선택한 후 Canvas로 드래그하면 전체 파일이 아닌 해당 내용만 추가됩니다. 책 노트를 분해할 때 유용합니다.

이미지: 파일 트리나 시스템 폴더에서 이미지 파일을 Canvas로 드래그하면 직접 표시됩니다.

웹 링크: 링크를 Canvas에 붙여넣고 마우스 오른쪽 버튼을 클릭한 후 “링크 카드로 변환"을 선택하면 페이지 제목과 미리보기가 표시됩니다.

핵심 포인트! AI를 사용하여 Canvas 그리기

Canvas는 수동으로 그릴 수 있지만, 더 쉬운 방법이 있습니다. AI가 대신 생성하도록 하는 것입니다.

배경

먼저 Claude Code를 간략히 소개합니다. Anthropic의 AI 프로그래밍 CLI 도구입니다. Skills로 확장할 수 있습니다(자세한 사용법은 이 책의 5부 AI 협업에서 다룹니다). Obsidian 개발자 kepano가 Claude Code 전용 obsidian-skills 세트를 만들었는데, 여기에는 json-canvas라는 Skill이 포함되어 있어 Claude Code가 .canvas 파일을 만들고 편집할 수 있도록 가르칩니다.

URL: https://github.com/kepano/obsidian-skills/tree/main/skills/json-canvas

설치 방법

터미널에서 실행:

git clone https://github.com/kepano/obsidian-skills.git ~/.claude/skills/obsidian-skills

또는 웹사이트를 열어 직접 다운로드한 후, 이 폴더를 만들어 skills 디렉토리에 배치할 수 있습니다.

사용 방법

Claude Code에서 /json-canvas를 입력하고, 이 Skill을 선택한 후 Tab을 누르고, 그리고 그리고 싶은 내용을 자연어로 설명합니다. Claude Code가 Obsidian 보관소에 직접 .canvas 파일을 생성합니다.

실제 데모

폴더 계획 장의 폴더 구조를 데모로 사용했습니다. Claude Code에게 “폴더 계획 장의 폴더 구조를 Canvas로 그려 주세요. 각 폴더의 기능과 흐름 관계를 보여 주세요.“라고 말했습니다.

Claude Code가 글을 읽은 후 직접 .canvas 파일을 생성하여 00 Inbox에 배치했습니다. 파일 내용은 표준 JSON Canvas 형식입니다. 각 폴더가 카드에 해당하며, 색상 코딩과 화살표로 흐름 관계를 나타냅니다:

00 Inbox가 진입점 역할을 하고, 정리된 콘텐츠가 01 Notes와 04 Output으로 흐르며, 01 Notes의 콘텐츠는 다시 04 Output으로 흐르는 등 전체 흐름이 한눈에 보입니다. 이 관계를 글로 설명하려면 여러 번의 설명이 필요하지만, 다이어그램에서는 3초 만에 이해됩니다.

이것이 AI + Canvas의 실용적인 조합입니다. 노트나 글을 Claude Code에 바로 던져주면, 자동으로 구조를 추출하고 관계도를 그려줍니다. 수동으로 카드를 만들고 연결을 드래그하는 것보다 훨씬 빠릅니다.

.canvas 형식에 대해, 한 가지 분명히 할 점

Canvas 파일은 .md 형식이 아니라 .canvas 형식입니다.

.canvas 파일은 JSON 형식의 일반 텍스트 파일로, 각 카드의 위치, 크기, 내용 및 카드 간의 연결을 저장합니다. .md 파일과 병렬로 존재합니다. 파일 트리에서 .canvas 파일은 별도로 표시되며, 노트 파일과 분리되어 저장됩니다.

즉, Canvas는 별도로 관리해야 합니다. 하나의 .md 파일에 텍스트를 쓰면서 Canvas를 포함시킬 수 없습니다. Canvas는 별도 파일이고, 텍스트는 또 다른 파일이며, 독립적으로 존재합니다.

참고로 JSON Canvas는 Obsidian 전용 독점 형식이 아니라 오픈 표준(MIT 라이선스)이며, 이미 많은 도구에서 지원합니다. 하지만 “별도로 관리해야 한다"는 문제는 여전히 남아 있습니다.

요약

오늘 배운 내용:

  1. Canvas = 무한 캔버스: 공간적 배치와 관계 구축이 필요한 콘텐츠에 적합. 선형 콘텐츠에는 억지로 사용하지 말 것
  2. 활성화 방법: 설정 → 핵심 플러그인 → Canvas → 스위치 켜기
  3. 핵심 작업: 더블클릭으로 카드 만들기, 가장자리 점에서 드래그하여 연결, Space+드래그로 캔버스 이동
  4. 키보드 워크플로우: Tab/Shift+Tab으로 카드 전환, ↑↓←→로 이동, Enter로 편집, Esc로 종료. 연결된 카드 만들기는 점을 빈 공간으로 드래그해야 함. 순수 키보드 생성은 아직 지원되지 않음
  5. Canvas에 추가할 수 있는 것: 텍스트 카드, 기존 노트, 노트 단락, 이미지, 웹 링크
  6. json-canvas Skill: Claude Code가 노트를 읽고 자동으로 .canvas 파일을 생성, 수동 그리기보다 훨씬 빠름
  7. 형식 참고: Canvas는 .canvas(JSON)로 저장되며, .md가 아님. 별도로 관리 필요