ハトネコエ Web がくしゅうちょう

プログラミングやサーバー・Web制作、チームマネジメントなど得た技術のまとめ

prezto の rm や mv で確認プロンプトを出さないようにする

prezto を使っているんですが、
デフォルト設定だと rmmv はそれぞれ rm -imv -i になっていて、
安全なのですがやや面倒に感じることもあります。

この機能をオフにするには、

vi ~/.zpreztorc

G でファイル末尾に移動したのち、

zstyle ':prezto:module:utility' safe-ops 'no'

の1行を足してあげて、以下のようにします。

# Enabled safe options. This aliases cp, ln, mv and rm so that they prompt
# before deleting or overwriting files. Set to 'no' to disable this safer
# behavior.
# zstyle ':prezto:module:utility' safe-ops 'yes'
zstyle ':prezto:module:utility' safe-ops 'no'

これだけです。

何が起きているかと言うと、
~/.zprezto/modules/utility/init.zsh に以下のような記述があり、
safe-ops 'yes' (デフォルト)の場合には、
rmrm -iエイリアスとなるなどの設定がおこなわれています。

# Safe ops. Ask the user before doing anything destructive.
alias rmi="${aliases[rm]:-rm} -i"
alias mvi="${aliases[mv]:-mv} -i"
alias cpi="${aliases[cp]:-cp} -i"
alias lni="${aliases[ln]:-ln} -i"
if zstyle -T ':prezto:module:utility' safe-ops; then
  alias rm="${aliases[rm]:-rm} -i"
  alias mv="${aliases[mv]:-mv} -i"
  alias cp="${aliases[cp]:-cp} -i"
  alias ln="${aliases[ln]:-ln} -i"
fi

逆に no にすることで、ここのエイリアス設定をスキップすることが出来るわけですね。