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는 스스로 아무것도 인덱싱하지 않습니다.