[slack-link]: https://fisherman-wharf.herokuapp.com [slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg [travis-link]: https://travis-ci.org/fisherman/fisherman [travis-badge]: https://img.shields.io/travis/fisherman/fisherman.svg [organization]: https://github.com/fisherman [fish shell]: https://github.com/fish-shell/fish-shell [fisherman]: http://fisherman.sh [online]: http://fisherman.sh/#search [English]: ../../README.md [Español]: ../es-ES [简体中文]: ../zh-CN [日本語]: ../jp-JA [Русский]: ../ru-RU [Català]: ../ca-ES [![Build Status][travis-badge]][travis-link] [![Slack][slack-badge]][slack-link] # [fisherman] - fish shell 플러그인 매니저 fisherman은 [fish shell]을 위한 병렬 처리 플러그인 매니저 입니다. 다른 언어로 읽기: [English], [Español], [日本語], [简体中文], [Русский], [Català]. ## 왜 fisherman을 사용해야 하죠? * 설정 없음 * 의존성 없음 * Shell 시작 시간에 영향 없음 * 설치, 업데이트, 제거, 목록, 도움말의 필수 기능에 집중 * 커멘드라인을 통한 인터렉티브 관리 혹은 플러그인 패키지 파일로 부터 일괄 관리 지원 ## 설치 curl를 통한 설치: ```sh curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman ``` npm을 통한 설치: ``` npm i -g fisherman ``` ## 사용법 플러그인 설치: ``` fisher simple ``` 여러 출처로 부터 한꺼번에 설치: ``` fisher z fzf omf/{grc,thefuck} ``` URL를 통해 설치: ``` fisher https://github.com/edc/bass ``` gist로 부터 설치: ``` fisher https://gist.github.com/username/1f40e1c6e0551b2666b2 ``` 로컬 디렉토리로 부터 설치: ```sh fisher ~/my_aliases ``` 플러그인 패키지 관리 파일로 정의하고 `fisher` 명령어로 변경사항을 적용: > [fishfile이 뭐죠? 어떻게 사용하나요?](#6-fishfile이-뭐죠?-어떻게-사용하나요?) ```sh $EDITOR fishfile # 플러그인 추가 fisher ``` 설치된 플러그인 확인: ``` fisher ls @ my_aliases # 로컬 디렉토리 설치 플러그인 * simple # 현재 사용되고 있는 프롬프트 스타일 플러그인 bass fzf grc thefuck z ``` 모두 업데이트: ``` fisher up ``` 일부 업데이트: ``` fisher up bass z fzf thefuck ``` 플러그인 삭제: ``` fisher rm simple ``` 모든 플러그인 삭제: ``` fisher ls | fisher rm ``` 도움말 보기: ``` fisher help z ``` ## 자주묻는 질문과 답변 ### 1. 필요로하는 fish shell 버전은? fisherman은 fish shell 버전 2.3.0 이상부터 지원합니다. 만약 2.2.0을 사용하고 있다면 [코드조각](#8-플러그인이-뭐죠?) 지원을 위하여 아래의 코드를 `~/.config/fish/config.fish`에 추가해 주세요. ```fish for file in ~/.config/fish/conf.d/*.fish source $file end ``` ### 2. 어떻게 fish를 기본 shell로 지정하나요? `/etc/shells` 파일에 있는 shell 목록에 fish를 추가하고, 기본 shell로 지정합니다. ```sh echo "/usr/local/bin/fish" | sudo tee -a /etc/shells chsh -s /usr/local/bin/fish ``` ### 3. fisherman을 삭제하고 싶어요. ```fish fisher self-uninstall ``` 혹은 ``` npm un -g fisherman ``` ### 4. fisherman은 oh my fish 패키지 관리자의 테마, 플러그인과 호환 되나요? 네. ### 5. fisherman은 어디에 파일을 두나요? fisherman 자체는 `~/.config/fish/functions/fisher.fish` 입니다. 캐쉬와 플러그인 관리 파일은 각각 `~/.cache/fisherman`과 `~/.config/fisherman`을 관례로 사용합니다. fishfile은 `~/.config/fish/fishfile`에 위치합니다. ### 6. fishfile이 뭐죠? 어떻게 사용하나요? fishfile은 `~/.config/fish/fishfile` 위치하며 모든 설치 플러그인의 목록이 담겨있습니다. fisherman 명령어를 통해 플러그인을 설치/제거하면 자동으로 fishfile이 관리됩니다. 혹은, fishfile에 직접 플러그인을 추가하고 `fisher` 명령어를 입력하면 변경사항이 적용됩니다. ``` fisherman/simple fisherman/z omf/thefuck omf/grc ``` 이 방식은 설치나 이가 빠진 의존성에만 작동 합니다. 플러그인을 삭제하려면, `fisher rm`명령어를 사용하세요. ### 7. 어디서 플러그인을 찾을 수 있나요? fisherman의 [organization] 페이지를 살펴보거나 [online] 플러그인 목록에서 찾아보세요. ### 8. 플러그인이 뭐죠? 플러그인은: 1. 최상단 혹은 최상단에 위치한 `functions` 디렉토리에 담긴 `.fish`파일이 기능으로 작동하는 디렉토리 혹은 git 저장소 2. 테마 혹은 프롬프트. 예: `fish_prompt.fish`이거나 `fish_right_prompt.fish` 혹은 두 파일 전부 3. 코드 조각. 예: fish shell 시작시 불러들이게 되는 `conf.d` 디렉토리 안에 위치 한 `.fish` 파일들 ### 9. 플러그인 제작시 의존성을 명시하는 방법이 있나요? 작성하는 플러그인 최상단 디렉토리에 `fishfile`를 만들고 의존성을 나열하세요. ```fish owner/repo https://github.com/dude/sweet https://gist.github.com/bucaran/c256586044fea832e62f02bc6f6daf32 ```