프로젝트 전체 검색 및 바꾸기 작업을 위한 종합 Serpl 터미널 UI 명령어입니다.
| 명령어 | 설명 |
|---|
cargo install serpl | Cargo (Rust)를 통해 설치 |
brew install serpl | Homebrew를 통해 설치 (macOS) |
nix-env -i serpl | Nix를 통해 설치 |
pacman -S serpl | Arch Linux에 설치 |
| Download from GitHub Releases | 사전 빌드된 바이너리 사용 가능 |
serpl --version | Serpl 버전 표시 |
| 명령어 | 설명 |
|---|
serpl | 현재 디렉토리에서 Serpl 실행 |
serpl --search-text "oldFunc" | 사전 채워진 검색 용어로 실행 |
serpl --replace-text "newFunc" | 사전 채워진 교체로 실행 |
serpl --search-path ./src | 특정 디렉토리에서 검색 |
serpl --hidden | 검색에 숨겨진 파일 포함 |
serpl --ignore-case | 대소문자를 구분하지 않는 검색 |
| 단축키 | 설명 |
|---|
j | 결과 목록에서 아래로 이동 |
k | 결과 목록에서 위로 이동 |
g | 첫 번째 결과로 이동 |
G | 마지막 결과로 이동 |
/ | 결과 목록 내에서 검색 |
Enter | 동작 선택/확인 |
Escape | 취소/뒤로 |
q | Serpl 종료 |
| 단축키 | 설명 |
|---|
Tab | 검색과 바꾸기 필드 간 전환 |
Ctrl + N | 검색 및 바꾸기 모드 간 토글 |
Ctrl + B | 도움말 대화 상자 열기 |
Ctrl + C | 애플리케이션 종료 |
| 단축키 | 설명 |
|---|
| Type in search field | 모든 파일에서 라이브 검색 |
Ctrl + N | 검색 모드 토글 |
| Case-sensitive mode | 정확한 대소문자 일치 |
| Case-insensitive mode | 대소문자 차이 무시 |
| Regex mode | 정규식 사용 |
| AST Grep mode | 구조적 코드 검색 |
| 단축키 | 설명 |
|---|
Ctrl + O | 모든 파일에 대해 바꾸기 처리 |
d | 결과에서 선택된 파일 또는 줄 삭제 |
| Simple replace | 직접 모든 발생 바꾸기 |
| Preserve case replace | 원래 대소문자 패턴 유지 |
| AST Grep replace | 구조적 코드 바꾸기 |
| 모드 | 설명 |
|---|
| Simple | 직접 텍스트 바꾸기 |
| Preserve Case | 원본 텍스트의 대소문자 패턴 일치 |
| AST Grep | 구문 트리 인식 바꾸기 |
| 모드 | 설명 |
|---|
| Fixed String | 리터럴 텍스트 일치 |
| Regex | 정규식 일치 |
| AST Grep | 구조적 코드 패턴 일치 |
| 단축키 | 설명 |
|---|
d | 결과에서 파일/줄 제거 (건너뛰기) |
Ctrl + O | 남은 모든 파일에 바꾸기 적용 |
| Review changes per file | 적용하기 전 미리 보기 |
| Undo is not available | 변경 사항은 영구적—Git 사용 |
| 설정 | 설명 |
|---|
~/.config/serpl/config.json | 설정 파일 위치 |
| Custom key bindings | 기본 단축키 재정의 |
| Search mode default | 선호하는 검색 모드 설정 |
| Replace mode default | 선호하는 바꾸기 모드 설정 |
| File pattern filters | 포함할 파일 설정 |
| Ignore patterns | 제외할 파일 설정 |
{
"key_bindings": {
"quit": "q",
"navigate_up": "k",
"navigate_down": "j",
"go_to_top": "g",
"go_to_bottom": "G",
"delete": "d",
"process_replace": "Ctrl+o",
"toggle_help": "Ctrl+b",
"search_in_list": "/"
},
"search_mode": "fixed_string",
"replace_mode": "simple"
}
| 워크플로우 | 설명 |
|---|
| Rename variable | 이전 이름 검색 → 새 이름으로 바꾸기 |
| Update import paths | 이전 경로 검색 → 새 경로로 바꾸기 |
| Migrate API calls | 더 이상 사용되지 않는 것 검색 → 새 API로 바꾸기 |
| Fix typos across project | 철자 오류 검색 → 올바른 것으로 바꾸기 |
| Update config values | 이전 값 검색 → 새 값으로 바꾸기 |
| 워크플로우 | 설명 |
|---|
git diff after serpl | 모든 변경 사항 검토 |
git stash before serpl | 먼저 현재 작업 저장 |
git checkout -- . to undo | 필요하면 모든 변경 사항 되돌리기 |
| Work in a branch | 검색-바꾸기 변경 사항 격리 |
git add -p after serpl | 변경 사항 선택적으로 준비 |
| 기능 | Serpl | sed | VS Code |
|---|
| Interactive preview | 예 | 아니오 | 예 |
| TUI interface | 예 | 아니오 | GUI |
| Preserve case | 예 | 수동 | 예 |
| AST Grep | 예 | 아니오 | 확장 |
| Works over SSH | 예 | 예 | 아니오 |
| Regex support | 예 | 예 | 예 |
| 팁 | 설명 |
|---|
| Always use Git | 바꾸기를 실행하기 전에 커밋 |
| Preview before applying | TUI에서 각 변경 검토 |
| Use AST Grep for code | 구조적 일치는 거짓 양성 방지 |
| Use preserve case | camelCase, PascalCase 등 유지 |
| Remove false positives | d를 사용하여 원치 않는 일치 건너뛰기 |
| Search specific paths | 범위를 좁히려면 --search-path 사용 |
| Check hidden files | 필요할 때 --hidden 플래그 사용 |