주요 내용으로 이동하기

Raycast: Spotlight을 대체할 검색 앱

macOS에서 Spotlight을 떠나 Raycast를 선택한 이유

Spotlight을 떠난 이유

macOS의 Spotlight은 많은 사람들이 맥을 사랑하는 이유 중 하나라고 생각한다. command + 스페이스 바 단축키로 런치패드보다 훨씬 빠르게 원하는 앱을 열 수 있고, 파인더를 켜지 않고도 원하는 파일을 바로 찾을 수 있다. Microsoft도 PowerToys Run을 통해 Windows에서 Spotlight과 비슷한 기능을 제공한다는 점을 생각해볼 때, 키보드 단축키로 어디서나 바로 띄울 수 있는 검색 창이라는 컨셉 자체가 좋은 아이디어로서 인정받은 것 같다. 🔍

Spotlight으로 충분하다고 생각하다고 생각하는 사람도 많지만, 나는 몇 가지 이유 때문에 이 기능을 대신할 다른 프로그램을 찾게 되었다. 먼저, 위 스크린샷처럼 Google 검색어 자동 완성 같은 불필요한 결과를 파일이나 앱보다 위에 표시하는 경우가 있다. 이 때문에 비교적 정확한 검색어를 입력했음에도 불구하고 원하는 검색 결과를 열기 위해 키를 연타하거나 마우스를 조작해야 하는 경우가 많았다. 별 일 아닌 것 같지만 하루에 수십 번 사용하는 기능이라는 점에서 문제가 되는 지점이라고 생각했다.

또한, 검색 키워드(alias) 같은 기능을 통한 커스터마이징이 불가능했다. 검색 키워드는 Firefox나 Google Chrome 같은 웹 브라우저에서 주소창을 통해 검색할 때, 검색어 앞에 키워드를 붙여 원하는 검색 엔진을 사용할 수 있도록 하는 기능이다. 예를 들어, 뉴진스 하입보이를 입력한 후 엔터를 누르면 기본 검색 엔진인 Google에서 검색되지만, na 뉴진스 하입보이를 입력하면 뉴진스 하입보이의 네이버 검색 결과로 이동시켜주는 것이다. 나는 이 기능을 Firefox에서 네이버, 유튜브 및 각종 온라인 사전을 검색할 때 쓰고 있었기에 Spotlight에서도 지원해주기를 바랐지만, macOS Ventura에서도 업데이트 소식이 없었다.

이러한 이유 때문에 알아본 Spotlight의 대체재 중 Alfred도 괜찮아 보였고 인기도 많았지만, 유료 버전에만 제공되는 기능이 존재한다는 점과 디자인이 약간 올드해보인다는 점(개인적인 취향) 때문에 사용하지 않게 되었다.

Raycast의 장점

Raycast는 Spotlight의 검색 기능을 포함하여 창 관리, 이모지 선택기 등의 각종 유틸리티를 내장하고 있는 프로그램이다. 무엇보다 무료이며(유료 팀 플랜 제외), 디자인이 예쁘고, 최근에도 활발히 업데이트되고 있다. 또한, 커뮤니티 플러그인을 통해 기능을 확장할 수 있다. 오픈소스는 아니며, 한글 검색은 가능하지만 UI는 아직 한국어 번역이 되어 있지 않다.

공식 홈페이지를 통해서 설치 파일을 다운로드받거나, Homebrew로 설치할 수 있다.

brew install --cask raycast

설치 후 Raycast와 Spotlight이 함께 작동하지 않도록 하려면, 시스템 설정 - 키보드 - 키보드 단축키... - Spotlight 메뉴에서 Spotlight 검색 보기를 체크 해제하거나 Raycast 실행 단축키와 겹치지 않는 것으로 바꿔야 한다.

첫 실행 후 온보딩 과정에서 다양한 튜토리얼과 직접 따라해볼 수 있는 과제를 제공하므로 익숙해지는 데에 많은 시간이 걸리지는 않을 것이다.

다양한 익스텐션

Raycast는 Extension이라는 이름으로 다양한 다른 서비스와 연동 가능한 플러그인을 제공한다. 익스텐션은 Raycast에서 Store를 실행하여 앱 안에서 익스텐션을 둘러볼 수도 있고, 스토어 웹 사이트에서도 찾을 수 있다.

개인적으로 추천하는 익스텐션은 다음과 같다.

  • Google Search
    • Google 검색을 할 수 있다. 자동완성 기능을 제공한다.
  • Google Translate
    • 입력한 텍스트로 즉시 Google 번역을 돌릴 수 있다.
  • Wikipedia
    • 위키백과를 검색할 수 있다. 자동완성을 제공하며 이미지와 간단한 요약을 함께 볼 수 있다.
  • GitHub Stars
    • star를 남긴 GitHub 레포지토리를 검색하여 브라우저에서 열 수 있다.
    • github.dev나 CodeSandbox에서 레포지토리를 열 수 있다.
    • git clone 명령어를 바로 복사할 수 있는 기능이 있다.
    • Raycast 창 안에서 readme.md를 읽을 수 있지만… 항상 잘 되지는 않는다.
  • Apple Notes
    • 메모 앱에 저장한 메모를 검색하여 열 수 있도록 해 준다.
  • HazeOver Controls
    • HazeOver 앱의 옵션을 Raycast 안에서 변경하도록 해 준다.
  • Passphrase Generator
    • 랜덤 비밀번호 혹은 패스프레이즈를 생성하여 바로 복사할 수 있도록 해 준다.
  • SF Symbols Search
    • SF Symbol을 검색하여 아이콘 이름을 복사하거나 아이콘 폰트를 그대로 복사할 수 있다.
    • 자주 사용하는 심볼이라면 고정할 수 있는 기능도 있다.
  • (기본 설치) Reminders
    • 미리 알림 앱에 저장된 미리 알림을 검색, 수정할 수 있고 새로운 미리 알림을 등록할 수 있다.
  • (기본 설치) Dictionary
    • macOS 내장 기능인 사전을 앱을 켜지 않고도 Raycast 안에서 검색할 수 있다.
  • (기본 설치) Navigation
    • Search Menu Items: macOS의 메뉴 막대를 통해 접근해야 하는 메뉴를 검색하여 실행할 수 있다. 메뉴 막대 - 도움말에 있는 검색 기능과 비슷하다.
    • Switch Windows: 열린 창을 검색하여 열 수 있다. command + tab과 비슷한 기능이다.
  • (기본 설치) Search Emoji
    • 이모지를 검색하여 복사하거나, Raycast를 열기 직전 사용했던 앱에 바로 붙여넣을 수 있다.
    • 이모지 검색만 하기에는 맥 내장 기능보다 편리하지만, 맥 내장 기능을 통해서는 기타 유니코드 기호도 검색이 되는 반면, 여기에서는 되지 않는다.

이 밖에도 Notion, Obsidian, Slack, OpenAI GPT3, Bitwarden, 1Password, Apple Music, Spotify, Homebrew 등 수많은 커뮤니티 익스텐션이 많으니 한 번쯤 직접 둘러보는 것을 추천한다.

설치한 익스텐션은 Raycast 설정 창에서 관리할 수 있다. 설정은 macOS 메뉴 바의 Raycast 아이콘을 클릭한 뒤 Settings... 메뉴를 열거나 Raycast 검색 창을 열고 command + ,를 눌러 열 수 있다.

이 창에서 익스텐션의 세부 옵션(예: 구글 번역 익스텐션이 사용할 기본 언어)을 설정하거나 익스텐션의 단축키나 alias(후술)를 등록할 수 있다. Enabled를 체크 해제하여 사용하지 않는 익스텐션이나 앱이 검색되지 않도록 할 수도 있다.

검색 엔진 직접 등록 가능

Raycast에 내장된 익스텐션 중 하나인 Quicklinks를 사용하면 원하는 검색 엔진을 통한 검색 결과를 브라우저에서 바로 열 수 있다. 익스텐션이 따로 개발되지 않은 검색 엔진에서 검색을 자주 한다면 유용한 기능이다. 퀵링크는 자동 완성 기능을 제공하지 않기 때문에 Google이나 위키백과와 같은 경우에는 퀵링크를 만드는 것보다 익스텐션을 설치하여 사용하는 편이 더 좋은 경험을 제공했다.

예를 들어, 네이버 검색을 위해 등록하면 되는 퀵링크는 다음과 같다.

https://search.naver.com/search.naver?query={Query}

Create Quicklink 명령을 실행하여 브라우저에서 커스텀 검색 엔진을 등록하는 것처럼 Raycast에 퀵링크를 등록할 수 있다. 등록한 퀵링크를 수정하고 싶다면 Manage Quicklinks 명령을 사용하면 된다. 나는 네이버, DuckDuckGo, YouTube, Google 이미지, 네이버 사전, Can I use, Downdetector 등을 등록하여 사용하고 있다.

단축키와 alias

Raycast 익스텐션의 모든 명령, 퀵링크와 Raycast에서 검색되는 앱에는 글로벌 단축키와 검색 키워드(alias)를 부여할 수 있다. 이 기능이 내가 Spotlight 대신 Raycast를 사용하게 된 가장 큰 이유이다.

단축키의 경우 Raycast 설정 창에서 Record Hotkey를 클릭한 뒤 원하는 단축키를 입력하여 설정할 수 있다. 앱에 단축키를 등록하면 맥에서 어떤 창을 열고 있든 등록한 그 단축키를 입력하면 해당 앱이 실행되거나 실행된 해당 앱의 창으로 포커스를 이동한다.

퀵링크나 익스텐션에 단축키를 부여할 경우 해당 단축키를 입력하면 바로 명령을 열 수 있다. Raycast 실행 단축키를 입력한 뒤 명령을 찾을 필요가 없는 것이다. 예를 들어, File Search 명령에 command + option + 스페이스 바 단축어를 등록했다고 하면, 단축어 입력 시 바로 Raycast 파일 검색 창이 표시된다.

뿐만 아니라 블루투스 토글, 휴지통 비우기 등 기존에 글로벌 단축키를 할당하기 어려웠던 명령에도 단축키를 등록할 수 있으므로 원한다면 무궁무진하게 활용해볼 수 있다.

Karabiner-Elements를 이용한다면 키보드에서 잘 안 쓰는 키 하나에 command + control + option + shift를 할당하고(보통 Hyper Key라고 부르는 것 같다.) 이 키 조합으로 단축키를 등록하면 좋다. 다른 프로그램에 이미 등록된 단축키와 겹칠 염려가 적고 입력하기에도 편리하다. Hyper Key와 관련된 내용은 다음에 따로 글로 작성해보려고 한다.

Alias는 브라우저의 검색 키워드 기능과 동일하게 작동한다. 설정에서 Add Alias를 클릭하고 원하는 키워드를 입력하면 된다. Raycast 검색 창을 연 뒤 등록한 alias를 입력하고 tab 키나 스페이스 바를 누르면 바로 원하는 익스텐션이나 퀵링크로 검색할 수 있다. 예를 들어, note 여행을 입력하면 메모 앱에서 여행 메모를 검색하고, na 날씨를 입력하면 네이버에서 날씨를 검색하도록 할 수 있다.

익스텐션은 불가능하지만, 퀵링크의 경우 Manage Quicklinks 명령을 실행한 뒤 command + D를 누르면 선택한 퀵링크를 복제할 수 있다. 같은 퀵링크에 두 개의 다른 alias를 등록하면 한영 전환과 관계없이 원하는 퀵링크를 바로 실행할 수 있다.

예를 들면, YouTube 검색 퀵링크를 두 개 만든 뒤 하나는 yt로, 하나는 ㅛㅅ로 alias를 등록하면 한영 전환을 신경쓸 필요가 없어서 편리하다는 이야기이다.

캘린더 앱과의 연동

Raycast 앱은 맥의 캘린더 앱과 연동하여 사용할 수 있도록 만들어져 있다. 근데 이게 그냥 연동이 된다의 느낌보다는 누구보다 캘린더에 진심인 사람이 만든 것 같다는 감상을 받았다.

먼저, 내장된 My Schedule 명령을 통해 등록된 일정을 검색하고 둘러볼 수 있다.

다가오는 캘린더 이벤트에 Zoom이나 Webex 링크가 첨부되어 있는 경우 My Schedule 명령을 실행할 필요도 없이, Raycast를 열고 엔터만 누르면 바로 회의에 참여할 수 있다. FaceTime 링크는 아직 지원하지 않는 것 같다.

또, 다가오는 이벤트를 메뉴 바에 표시하는 기능도 있다. 어떤 캘린더의 이벤트를 표시할지, 몇 시간 안의 이벤트를 표시할지는 Raycast 설정 창의 Calendar 명령 옵션에서 변경할 수 있다.

마지막으로 Create Quick Event를 통해 자연어 입력으로 원하는 시간에 이벤트를 등록할 수 있는 기능도 내장되어 있다. 편리한 기능이지만 아직 자연스러운 한국어 입력을 지원하지 않는다는 점은 아쉽다.

기타 유용한 기능

훌륭한 계산 기능

3 in to cm 같은 단위 변환, now in sf 같은 시간대 변환, 9 usd 같은 통화 변환뿐만 아니라 days until 1 january 와 같은 날짜 계산도 수행할 수 있다. 개인적인 경험으로는 Spotlight을 쓸 땐 단위 변환이 될 때가 있고 안 될 때가 있어서 시도조차 해보지 않고 구글을 열게 되었었는데, Raycast는 항상 검색어에 대한 정확한 결과를 제공했다.

Fallback Commands

검색어를 입력하였으나 원하는 결과가 없을 때, 이미 입력한 검색어를 원하는 익스텐션이나 퀵링크로 넘겨주도록 미리 지정할 수 있다.

Manage Fallback Commands 명령을 통해 폴백 명령어를 등록, 제거하거나 순서를 변경할 수 있다.

폴백 커맨드와 비슷한 기능으로는, 검색 결과에서 command + shift + F를 입력하여 앱이나 익스텐션을 Favorites에 고정하는 기능이 있다. Favorites는 Raycast를 열었을 때 맨 위에 표시된다.

나는 사용하지 않지만 유용한 기능

  • Clipboard History 기능을 통해 복사한 텍스트의 기록을 볼 수 있다. 익스텐션 옵션에서 비밀번호 관리자 등 민감한 개인정보를 다루는 앱에서 복사한 내용은 기록하지 않도록 따로 설정할 수 있다.
  • Floating Notes 기능으로 별도 프로그램 없이 Windows의 스티커 메모처럼 메모를 작성할 수 있다. 데스크톱에 창이 많이 열려 있는 걸 별로 안 좋아해서 사용하지 않고 있다.
  • Snippets는 macOS 내장 텍스트 대치 기능의 개선판 느낌이다. 자주 사용하는 문구를 미리 등록한 뒤, 필요할 때 검색하여 바로 붙여넣거나 OS 어디서나 키워드를 입력했을 때 바로 대치되도록 설정할 수 있다. 리치 포맷팅이 가능하고 {cursor} 키워드로 텍스트 대치 후 커서가 위치할 곳을 미리 지정할 수도 있어서 텍스트 대치 기능이 아쉬웠다면 사용해볼 만하다.

왜 되는지 모르겠는 것

좀 웃기지만 UI 한국어 번역도 되어 있지 않으면서 알파벳으로 된 앱 이름을 한글로 검색할 수는 있게 되어 있다… 한글로 된 검색어를 모종의 방법으로 로마자화하여 종합적인 검색 결과를 제공하는 것 같다. 항상 정확한 결과를 제공하지는 않는다.

아쉬운 점

정말 잘 쓰고 있고 활용도도 높은 앱이지만 아쉬운 부분도 있다. 다양한 측면을 고려하여 여러 앱을 비교해본 뒤 Raycast의 사용을 고려해보면 좋을 것 같다.

파일 검색을 위한 단계

파일 검색 기능 자체는 Spotlight처럼 훌륭하지만, Spotlight과 달리 파일 검색을 하기 위해 File Search 명령을 실행하는 한 단계를 더 거쳐야 한다는 점이 있다. 즐겨찾기에 고정하거나, 폴백 커맨드에 등록하거나, alias 혹은 단축키를 부여하여 그 과정을 간소화할 수 있지만, depth가 하나 더 생긴다는 점은 동일하다.

입력한 검색어에 대한 검색 결과가 없거나 그 수가 적으면 자동으로 파일 검색 결과를 보여주는 기능이 생기면 좋을 것 같다.

한 번에 한 곳만 검색

Spotlight의 경우 키워드를 입력하면 맥의 다양한 곳에 존재하는 키워드에 대한 결과를 제공한다. 예를 들면, 디자인이라고 검색하면 디자인과 관련된 메일, 메모, 미리 알림, 파일, 사진, 위키백과 검색 결과를 한 번에 보여준다.

반면 Raycast는 어디서 검색할지를 따로 지정해야 한다. 어떤 정보를 어디에 저장했는지 기억하고 있다면 Raycast의 검색 매커니즘이 더 정확한 결과를 제공하겠지만, 특정 내용을 이메일로 받았는지, 메모에 썼는지, 사진으로 찍었는지 기억하지 못한다면 Spotlight에서 더 만족스러운 검색 결과를 얻을 것이다.

정리

Raycast는 macOS에서 무료로 사용할 수 있어서 정말 감사한 앱 중 하나이다. Raycast의 한국어 자료가 Alfred에 비해 아직 적어서 언젠가 글을 써 보고 싶다는 생각을 했었는데, 드디어 작성해서 기분이 좋다. 팀과 조직을 위한 기능만 유료화되어 있고 그 외 기능이 전부 무료이기에, 부담 없이 Raycast를 한번 써보았으면 좋겠다.

또한, 최근 업데이트로 Spotify Wrapped와 비슷한 Raycast Wrapped 2022를 제공한다. 이미 Raycast를 사용하고 있었던 사람이라면 wrapped를 검색하여 자신의 2022년 기록을 살펴봐도 재미있을 것 같다.

기능을 직접 추가하고 싶다면 React, TypeScript와 Raycast API를 사용하여 익스텐션을 직접 만들어볼 수 있다. 익스텐션까지 필요하지 않다면 Script Commands 자료를 참고하여 Alfred의 Workflow 비슷한 것을 직접 구현해볼 수도 있겠다.

전반적인 사용법에 대한 더 자세한 내용이 궁금하다면 Raycast Manual을 참고하면 좋을 것 같다.

다음에 기회가 되면 Karabiner-Elements와 Raycast를 함께 사용하고 있는 후기를 작성하고 싶다.