> ## Content Index
> Fetch the complete content index at: https://sanghunkang.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# SSH 접속 시 zsh 탭 완성이 대소문자를 구분하는 문제 해결
- URL: https://sanghunkang.com/ko/fixing-zsh-tab-completion-case-sensitivity-over-ssh-ko/
- Published: 2026-04-02T08:18:24.000Z
- Updated: 2026-04-02T08:18:24.000Z
- Author: Sanghun Kang
- Tags: dev, #ko, #multi, mac, zsh

맥북에서는 `cd d` \+ Tab을 누르면 `D`로 시작하는 폴더도 함께 뜬다. 대소문자를 구분하지 않는다.

그런데 맥미니에 SSH로 접속하면 `cd d` \+ Tab 시 소문자 `d`로 시작하는 폴더만 나온다. 두 머신 모두 APFS(case-insensitive) 파일시스템인데 동작이 다르다.

## 원인

macOS의 zsh는 기본적으로 completion 시스템(`compinit`)이 자동 로드되지 않는다.

맥북은 Oh My Zsh 같은 프레임워크에서 compinit과 대소문자 무시 옵션이 이미 활성화되어 있었다. 맥미니는 최소 설정 상태라 completion 시스템 자체가 초기화되지 않은 것이 원인이다.

completion 시스템이 없으면 `zstyle` 설정을 넣어도 동작하지 않는다.

## 해결

`~/.zshrc`에 아래 두 줄을 추가한다.

```bash
autoload -Uz compinit && compinit
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'

```

- `autoload -Uz compinit && compinit`: zsh completion 시스템 초기화
- `zstyle ... matcher-list ...`: 탭 완성 시 대소문자를 구분하지 않도록 설정

추가 후 `source ~/.zshrc` 또는 새 셸을 열면 적용된다.

## 참고

- `compinit`은 zsh의 고급 탭 완성 기능 전체를 활성화하는 명령이다. 대소문자 외에도 다양한 completion 커스터마이징의 전제 조건이다.
- bash에서는 `~/.inputrc`에 `set completion-ignore-case on`으로 동일하게 해결할 수 있다.