atu4403 / zenn-hub

0 stars 0 forks source link

fish再入門 #12

Open atu4403 opened 2 years ago

atu4403 commented 2 years ago

aliasは設定ファイルに書くんじゃなくてコマンドで実行する。すると関数として設定される。 funcsaveで~/.config/fish/functionsに書き込まれる

~ ❯❯❯ alias zshrc 'code ~/.zsh'
~ ❯❯❯ funcsave zshrc
~ ❯❯❯ cat ~/.config/fish/functions/zshrc.fish
function zshrc --wraps='code ~/.zsh' --description 'alias zshrc code ~/.zsh'
  code ~/.zsh $argv;
end

zsh or bashからpathをimportする方法

echo $PATH|awk -v 'RS=:' '{printf("set PATH %s $PATH\n", $1)}'|tac
echo $PATH|awk -v 'RS=:' '{printf("set PATH %s $PATH\n", $1)}'|tac >> fishtest.fish

出力されたテキストを~/.config/fish/config.fishにコピペ

atu4403 commented 2 years ago

そもそも .zshrcとか.bashrcって何書いてる?

atu4403 commented 2 years ago

pecoの関数

zshの場合

history -n 1 | tail -r  | awk '!a[$0]++' | peco

fishの場合

atu4403 commented 2 years ago

alias

git logからhashをclipboradにcopy

alias -s githash "git log --oneline | peco | cut -d' ' -f1| pbcopy"

pecoでhistory検索

alias -s his "history|peco|read foo&&commandline $foo"
atu4403 commented 2 years ago

colors

atu4403 commented 2 years ago

abbr

aliasじゃなくて短縮名設定

設定方法

abbr -a his peco_select_history
abbr -a s "git status"

使い方

atu4403 commented 2 years ago

completions

補完の追加

何もしてないのにめっちゃあった

 la /usr/local/share/fish/completions

cliコマンドによっては補完ファイルを出力できるコマンドがある。voltaの場合はvolta completions fishで出力できる。-oオプションでfile作成までできる。

volta completions fish -o ~/.config/fish/completions/volta.fish

volta list -まで打ってtabを押すと補完候補が出てくる

image

atu4403 commented 2 years ago

function

atu4403 commented 2 years ago

fzf

> fzf_configure_bindings --help
USAGE:
    fzf_configure_bindings [--FEATURE[=KEY_SEQUENCE]...]

DESCRIPTION
    By default, fzf_configure_bindings installs mnemonic key bindings for fzf.fish's features. Each
    feature's binding can be customized through a corresponding namesake option:
        FEATURE            |  MNEMONIC KEY SEQUENCE        |  CORRESPONDING OPTION
        Search directory   |  Ctrl+Alt+F (F for file)      |  --directory
        Search git log     |  Ctrl+Alt+L (L for log)       |  --git_log
        Search git status  |  Ctrl+Alt+S (S for status)    |  --git_status
        Search history     |  Ctrl+R     (R for reverse)   |  --history
        Search variables   |  Ctrl+V     (V for variable)  |  --variables

PatrickF1/fzf.fish: Augment your fish command line with fzf key bindings.

atu4403 commented 2 years ago

prompt

fish_configでwebから設定。