shell을 fish로 바꿨다.
소개
이 문서는 Sansan 어드벤트 캘린더 5 일째입니다.
오늘의 이야기
shell 은, 어느 정도 10 년 정도 zsh 를 사용하고 있습니다만, 올해의 여름 정도fish로 해 보았습니다.
3개월 정도로 결국 zsh로 돌아갔습니다만(이유는 후술), 이번은 비망록을 겸해 해 본 것을 정리해 보려고 합니다.
oh-my-fish
갑자기입니다만 oh-my-fish 라고 하는 것이 있으므로 넣어 보겠습니다.
이 글을 넣으면 omf
라는 명령을 사용할 수 있으며 플러그인을 관리 할 수 있습니다.
omf install XXX
에서 플러그인을 설치할 수 있습니다. 테마는 omf theme YYY
.
또한 omf list
로 설치한 플러그인을 확인할 수 있습니다.
나는 다음 플러그인을 설치하려고했습니다.
⋊> ~ omf list
Plugins
brew omf
bundler osx
fish-peco_select_ghq_repository pbcopy
fish-peco_select_zsh_history peco
fish-spec rbenv
gem
Themes
default yimmy
fish_config
그리고 흥미로운 것은 아래의 명령으로 브라우저가 일어나 거기에서 설정이라고 할 수 있다는 것입니다.
⋊> ~ fish_config
이런 화면에서 설정할 수 있습니다.
Theme 의 변경이나 설정하고 있는 function 의 확인등 여러가지 할 수 있습니다.
구부러진 포인트
bash나 zsh와 달리, 예를 들면 다음과 같이 환경 변수를 주어 명령을 실행하는 경우는 env
가 필요합니다.
⋊> ~ env RAILS_ENV=test bin/rake db:create
설정
여기까지 설정하면 그 밖에는 특별히 아무것도 하지 않아도 충분히 사용할 수 있었습니다만, CTRL-j 를 누르었을 때에 ls 와 git status 를 표시하고 싶었으므로, 그것은 이전 이 기사에 정리하고 있다 합니다.
또한 bundle show
를 peco
에 먹여 bundle open
할 수 있게 하고 싶었으므로, 이하의 function 를 정의했습니다.
functions/peco_bundle_open.fishfunction peco_bundle_open
set -l query (commandline)
if test -n $query
set peco_flags --query "$query"
end
bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/' | peco $peco_flags | read line
if test -n $line
echo $line
commandline "bundle open $line"
end
end
config.fish 는 이런 느낌이 들었습니다.
config.fish# Path to Oh My Fish install.
set -q XDG_DATA_HOME
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
or set -gx OMF_PATH "$HOME/.local/share/omf"
# Customize Oh My Fish configuration path.
set -gx OMF_CONFIG "$HOME/.config/omf"
# Load oh-my-fish configuration.
source $OMF_PATH/init.fish
set -Ux GOPATH $HOME/workspace/go
set -U fish_user_paths $fish_user_paths $GOPATH/bin
set -Ux LC_ALL ja_JP.UTF-8
set -Ux EDITOR 'emacsclient -n'
alias mv 'mv -i'
alias cp 'cp -i'
alias rm 'rm -i'
alias g git
eval (hub alias -s)
function fish_user_key_bindings
bind \c] peco_select_ghq_repository
bind \ct peco_select_zsh_history
bind \cr peco_select_history
bind \cj do_enter
bind \co peco_bundle_open
end
사용해보십시오.
3개월 정도 사용해 보았습니다만, zsh라고SAVEHIST
로 이력의 건수를 지정할 수 있었습니다만, fish로 어떻게 할까 잘 모르게 zsh에 돌아 버렸습니다
느낌으로 결국 사용하지 않게 되어 버렸습니다만, fish 는 특별히 설정하지 않아도 보완 기능 등 강력한 기능이 있어, 환승은 상당히 순조롭게 할 수 있지 않을까 생각했습니다
Reference
이 문제에 관하여(shell을 fish로 바꿨다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/marcy_o/items/3a74c8da9dc76208f958
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
shell 은, 어느 정도 10 년 정도 zsh 를 사용하고 있습니다만, 올해의 여름 정도fish로 해 보았습니다.
3개월 정도로 결국 zsh로 돌아갔습니다만(이유는 후술), 이번은 비망록을 겸해 해 본 것을 정리해 보려고 합니다.
oh-my-fish
갑자기입니다만 oh-my-fish 라고 하는 것이 있으므로 넣어 보겠습니다.
이 글을 넣으면 omf
라는 명령을 사용할 수 있으며 플러그인을 관리 할 수 있습니다.
omf install XXX
에서 플러그인을 설치할 수 있습니다. 테마는 omf theme YYY
.
또한 omf list
로 설치한 플러그인을 확인할 수 있습니다.
나는 다음 플러그인을 설치하려고했습니다.
⋊> ~ omf list
Plugins
brew omf
bundler osx
fish-peco_select_ghq_repository pbcopy
fish-peco_select_zsh_history peco
fish-spec rbenv
gem
Themes
default yimmy
fish_config
그리고 흥미로운 것은 아래의 명령으로 브라우저가 일어나 거기에서 설정이라고 할 수 있다는 것입니다.
⋊> ~ fish_config
이런 화면에서 설정할 수 있습니다.
Theme 의 변경이나 설정하고 있는 function 의 확인등 여러가지 할 수 있습니다.
구부러진 포인트
bash나 zsh와 달리, 예를 들면 다음과 같이 환경 변수를 주어 명령을 실행하는 경우는 env
가 필요합니다.
⋊> ~ env RAILS_ENV=test bin/rake db:create
설정
여기까지 설정하면 그 밖에는 특별히 아무것도 하지 않아도 충분히 사용할 수 있었습니다만, CTRL-j 를 누르었을 때에 ls 와 git status 를 표시하고 싶었으므로, 그것은 이전 이 기사에 정리하고 있다 합니다.
또한 bundle show
를 peco
에 먹여 bundle open
할 수 있게 하고 싶었으므로, 이하의 function 를 정의했습니다.
functions/peco_bundle_open.fishfunction peco_bundle_open
set -l query (commandline)
if test -n $query
set peco_flags --query "$query"
end
bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/' | peco $peco_flags | read line
if test -n $line
echo $line
commandline "bundle open $line"
end
end
config.fish 는 이런 느낌이 들었습니다.
config.fish# Path to Oh My Fish install.
set -q XDG_DATA_HOME
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
or set -gx OMF_PATH "$HOME/.local/share/omf"
# Customize Oh My Fish configuration path.
set -gx OMF_CONFIG "$HOME/.config/omf"
# Load oh-my-fish configuration.
source $OMF_PATH/init.fish
set -Ux GOPATH $HOME/workspace/go
set -U fish_user_paths $fish_user_paths $GOPATH/bin
set -Ux LC_ALL ja_JP.UTF-8
set -Ux EDITOR 'emacsclient -n'
alias mv 'mv -i'
alias cp 'cp -i'
alias rm 'rm -i'
alias g git
eval (hub alias -s)
function fish_user_key_bindings
bind \c] peco_select_ghq_repository
bind \ct peco_select_zsh_history
bind \cr peco_select_history
bind \cj do_enter
bind \co peco_bundle_open
end
사용해보십시오.
3개월 정도 사용해 보았습니다만, zsh라고SAVEHIST
로 이력의 건수를 지정할 수 있었습니다만, fish로 어떻게 할까 잘 모르게 zsh에 돌아 버렸습니다
느낌으로 결국 사용하지 않게 되어 버렸습니다만, fish 는 특별히 설정하지 않아도 보완 기능 등 강력한 기능이 있어, 환승은 상당히 순조롭게 할 수 있지 않을까 생각했습니다
Reference
이 문제에 관하여(shell을 fish로 바꿨다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/marcy_o/items/3a74c8da9dc76208f958
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
⋊> ~ omf list
Plugins
brew omf
bundler osx
fish-peco_select_ghq_repository pbcopy
fish-peco_select_zsh_history peco
fish-spec rbenv
gem
Themes
default yimmy
그리고 흥미로운 것은 아래의 명령으로 브라우저가 일어나 거기에서 설정이라고 할 수 있다는 것입니다.
⋊> ~ fish_config
이런 화면에서 설정할 수 있습니다.
Theme 의 변경이나 설정하고 있는 function 의 확인등 여러가지 할 수 있습니다.
구부러진 포인트
bash나 zsh와 달리, 예를 들면 다음과 같이 환경 변수를 주어 명령을 실행하는 경우는 env
가 필요합니다.
⋊> ~ env RAILS_ENV=test bin/rake db:create
설정
여기까지 설정하면 그 밖에는 특별히 아무것도 하지 않아도 충분히 사용할 수 있었습니다만, CTRL-j 를 누르었을 때에 ls 와 git status 를 표시하고 싶었으므로, 그것은 이전 이 기사에 정리하고 있다 합니다.
또한 bundle show
를 peco
에 먹여 bundle open
할 수 있게 하고 싶었으므로, 이하의 function 를 정의했습니다.
functions/peco_bundle_open.fishfunction peco_bundle_open
set -l query (commandline)
if test -n $query
set peco_flags --query "$query"
end
bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/' | peco $peco_flags | read line
if test -n $line
echo $line
commandline "bundle open $line"
end
end
config.fish 는 이런 느낌이 들었습니다.
config.fish# Path to Oh My Fish install.
set -q XDG_DATA_HOME
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
or set -gx OMF_PATH "$HOME/.local/share/omf"
# Customize Oh My Fish configuration path.
set -gx OMF_CONFIG "$HOME/.config/omf"
# Load oh-my-fish configuration.
source $OMF_PATH/init.fish
set -Ux GOPATH $HOME/workspace/go
set -U fish_user_paths $fish_user_paths $GOPATH/bin
set -Ux LC_ALL ja_JP.UTF-8
set -Ux EDITOR 'emacsclient -n'
alias mv 'mv -i'
alias cp 'cp -i'
alias rm 'rm -i'
alias g git
eval (hub alias -s)
function fish_user_key_bindings
bind \c] peco_select_ghq_repository
bind \ct peco_select_zsh_history
bind \cr peco_select_history
bind \cj do_enter
bind \co peco_bundle_open
end
사용해보십시오.
3개월 정도 사용해 보았습니다만, zsh라고SAVEHIST
로 이력의 건수를 지정할 수 있었습니다만, fish로 어떻게 할까 잘 모르게 zsh에 돌아 버렸습니다
느낌으로 결국 사용하지 않게 되어 버렸습니다만, fish 는 특별히 설정하지 않아도 보완 기능 등 강력한 기능이 있어, 환승은 상당히 순조롭게 할 수 있지 않을까 생각했습니다
Reference
이 문제에 관하여(shell을 fish로 바꿨다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/marcy_o/items/3a74c8da9dc76208f958
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
⋊> ~ env RAILS_ENV=test bin/rake db:create
여기까지 설정하면 그 밖에는 특별히 아무것도 하지 않아도 충분히 사용할 수 있었습니다만, CTRL-j 를 누르었을 때에 ls 와 git status 를 표시하고 싶었으므로, 그것은 이전 이 기사에 정리하고 있다 합니다.
또한
bundle show
를 peco
에 먹여 bundle open
할 수 있게 하고 싶었으므로, 이하의 function 를 정의했습니다.functions/peco_bundle_open.fish
function peco_bundle_open
set -l query (commandline)
if test -n $query
set peco_flags --query "$query"
end
bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/' | peco $peco_flags | read line
if test -n $line
echo $line
commandline "bundle open $line"
end
end
config.fish 는 이런 느낌이 들었습니다.
config.fish
# Path to Oh My Fish install.
set -q XDG_DATA_HOME
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
or set -gx OMF_PATH "$HOME/.local/share/omf"
# Customize Oh My Fish configuration path.
set -gx OMF_CONFIG "$HOME/.config/omf"
# Load oh-my-fish configuration.
source $OMF_PATH/init.fish
set -Ux GOPATH $HOME/workspace/go
set -U fish_user_paths $fish_user_paths $GOPATH/bin
set -Ux LC_ALL ja_JP.UTF-8
set -Ux EDITOR 'emacsclient -n'
alias mv 'mv -i'
alias cp 'cp -i'
alias rm 'rm -i'
alias g git
eval (hub alias -s)
function fish_user_key_bindings
bind \c] peco_select_ghq_repository
bind \ct peco_select_zsh_history
bind \cr peco_select_history
bind \cj do_enter
bind \co peco_bundle_open
end
사용해보십시오.
3개월 정도 사용해 보았습니다만, zsh라고SAVEHIST
로 이력의 건수를 지정할 수 있었습니다만, fish로 어떻게 할까 잘 모르게 zsh에 돌아 버렸습니다
느낌으로 결국 사용하지 않게 되어 버렸습니다만, fish 는 특별히 설정하지 않아도 보완 기능 등 강력한 기능이 있어, 환승은 상당히 순조롭게 할 수 있지 않을까 생각했습니다
Reference
이 문제에 관하여(shell을 fish로 바꿨다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/marcy_o/items/3a74c8da9dc76208f958
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(shell을 fish로 바꿨다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/marcy_o/items/3a74c8da9dc76208f958텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)