Closed18
zshカスタム
ピン留めされたアイテム

-
fzf
でhistoryを簡単に検索できるようにした - テーマは
Oh My Zsh
のsteeef
をカスタムした

fzfで履歴を検索できるようにする

fzfをインストール
brew install fzf

使ってたやつから拝借
HISTFILE=~/.zsh_history
HISTSIZE=10000 #メモリ上に保存する履歴の数
SAVEHIST=10000 #履歴ファイルに保存されるイベントの最大数
setopt share_history # ヒストリの読み出しと書き込みを同時に行う
setopt extended_history # ヒストリにコマンド実行時間を含める
setopt hist_expire_dups_first # ヒストリが削られる場合、以前入力した同じものを先に削除する
setopt hist_ignore_dups # 直前のコマンドと同じコマンドはヒストリに保存しない
setopt hist_ignore_all_dups # 以前と同じコマンドはヒストリに保存しない
setopt hist_ignore_space # 行頭がスペースのコマンドはヒストリに保存しない
setopt hist_find_no_dups # ヒストリ検索時に以前見たものを2度は表示しない
setopt hist_save_no_dups # ヒストリファイルに書き出すときに以前のコマンドと同じものを除去する
setopt nobeep # ビープ音を鳴らさない

Ctrl
+ r
で履歴検索できるようにするものを↓から拝借
function fzf-select-history() {
BUFFER=$(history -n -r 1 | fzf --query "$LBUFFER")
CURSOR=$#BUFFER
zle reset-prompt
}
zle -N fzf-select-history
bindkey '^r' fzf-select-history

zshのテーマ

oh-my-zshをお勧めされた

これっぽい
- テーマは150種類ある
- プラグインもたくさんある

入れてみる
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Before you scream Oh My Zsh! look over the `.zshrc` file to select plugins, themes, and options.
.zshrc
にテーマとか入れなきゃっぽい

欲しいテーマは↓こんなかんじ
- シンプル
- gitブランチが表示されている
- 2行になっているのが嬉しい
- 1行目にpathやgitの情報、2行目に入力するかんじ
- gitのaddできるよとかその辺の情報も出してほしい
これくらいかもw
↓で探す

候補
- intheloop
- itchy
- jispwoso
- 色がきつい
- josh
- いい感じだけど、gitの表記がない
- linuxonly
- 惜しい!ごちゃごちゃしてる!!
- maran
- 2行になってたら結構いい感じ
- mortalscumbag
- gitの情報細かく出そう?多分、●●の部分が、addできるのあるよとかのステータス?
- 左の0なんだろ
- でも良さそう
- steeef
- かなり良さそう!!
steeefかなー

.zshrc
のZSH_THEME
をsteeefにする
ZSH_THEME="steeef"
ここで嫌な予感。fzfの設定吹っ飛んでいそう

思ったより、色がどぎつくて萎え
カラーとか変えられるのかな

fzfの設定がちゃんと吹き飛んでいた

テーマのカスタマイズ方法あった

steeef
をコピーしてsteeef-custom
を作った
↓色だけ変えた
if [[ $terminfo[colors] -ge 256 ]]; then
turquoise="%F{39}"
orange="%F{130}"
purple="%F{105}"
hotpink="%F{092}"
limegreen="%F{022}"
else
turquoise="%F{cyan}"
orange="%F{yellow}"
purple="%F{magenta}"
hotpink="%F{red}"
limegreen="%F{green}"
fi
↓正直こんなんでもいいし、なんならもっと色なくても良さそ

色は、↓これをcolor.sh
として保存して確認した
#!/bin/zsh
c=0
for n in 8 16 52 88 124 160 196 232 256; do
while [ $c -lt $n ]; do
printf "\e[38;5;${c}m%03d " $((c++))
done
echo
done
これだけみると、そこまで色キツくみえない
このスクラップは2024/06/26にクローズされました
ログインするとコメントできます