Skip to content

명령줄 검색 (slf)

SwiftList는 작은 명령줄 동반 도구인 slf 도 함께 제공합니다 — fzf 스타일의 퍼지 파인더로, 별도의 설정을 다시 구축하는 대신 App 자체가 이미 유지하고 있는 동일한 인덱스를 검색합니다. 터미널에서 생활하며 SwiftList의 검색(퍼지 매칭, 병음 별칭, 네트워크 드라이브 등 모든 것)을 검색 창뿐 아니라 그곳에서도 사용하고 싶은 사람을 위한 도구입니다.

slf는 SwiftList App이 이미 실행 중이어야 합니다 — 스스로 무언가를 다시 스캔하는 대신 로컬의 사용자별 파이프를 통해 App과 통신합니다. App이 실행 중이 아니면 slf는 멈춰서 기다리는 대신 stderr에 오류를 출력하고 즉시 실패합니다.

설정하기

slf.exe는 App과 함께 설치됩니다. 설치 프로그램의 작업 선택 페이지에서 slf 명령줄 검색 도구를 PATH에 추가를 체크하면 어떤 터미널에서든 slf로 실행할 수 있게 됩니다 — 이는 SwiftList 설치 폴더를 시스템 PATH에 추가합니다. 이후 새 터미널 창을 여세요. 설치할 때 이미 열려 있던 터미널은 변경 사항을 인식하지 못합니다.

이 옵션을 건너뛰었더라도, SwiftList가 설치된 위치에서 직접 실행할 수는 있습니다.

기본 사용법

slf

대화형 선택기가 열립니다 — App 자체의 검색과 완전히 동일하게 입력하면 퍼지 필터링됩니다. 중국어 파일명에 대한 병음 별칭 매칭도 포함됩니다(검색 문법 참고).

동작
입력결과 필터링
↑ / ↓강조 표시 이동
Page Up / Page Down한 페이지씩 이동
← / →쿼리 안에서 텍스트 커서 이동
Tab강조된 결과를 선택/해제 토글 (표시된 행은 *로 표시)
Enter선택된 경로를(아무것도 표시되지 않았다면 강조된 것만) 출력하고 종료
Esc / Ctrl+C아무것도 출력하지 않고 종료

쿼리 미리 채우기

slf report

echo report | slf

둘 다 report로 이미 필터링된 상태로 열립니다. 어느 쪽이든 이는 쿼리 상자를 미리 채우고 직접 입력했을 때와 같은 검색을 시작할 뿐입니다 — 결코 스스로 결과를 자동 선택하거나 자동 출력하지 않으므로, 여전히 직접 탐색하고 Enter/Tab을 눌러야 합니다.

여러 결과 선택하기

Tab은 강조된 행을 표시하거나 표시를 해제합니다. 표시된 행은 쿼리를 바꿔도 유지됩니다 — 즉 파일 하나를 검색해서 표시하고, 다른 것을 검색해서 그것도 표시하는 식으로 계속할 수 있습니다. 상태 줄에는 현재 몇 개가 표시되어 있는지 나타납니다. 무언가 표시된 상태에서 Enter를 누르면 현재 무엇이 강조되어 있든 상관없이 표시된 모든 경로를 한 줄에 하나씩 출력합니다.

다른 명령에서 결과 사용하기

slf의 대화형 선택기는 콘솔에 직접 그려지며, 일반적인 입출력 스트림을 거치지 않습니다 — stdout으로 나가는 것은 오직 Enter를 눌렀을 때 출력되는 최종 선택 경로(한 줄에 하나씩)뿐입니다. 이 덕분에 그 출력이 다른 명령의 결과를 캡처하는 일반적인 셸 기법과 조합될 수 있습니다.

PowerShell:

powershell
code (slf)
$path = slf; code $path

cmd.exe(내장 명령 치환이 없으므로 for /f를 사용):

cmd
for /f "delims=" %i in ('slf') do code "%i"

제한 사항

  • 미리보기 패널 없음 — App 자체의 동작 메뉴 및 미리보기가 이미 그 부분을 다루고 있으므로 의도적으로 범위에서 제외했습니다.
  • SwiftList App이 실행 중이어야 합니다. slf는 스스로 아무것도 인덱싱하지 않습니다.