tcshが1行の「which -> vim」コマンドを実行できないのはなぜですか?

tcshが1行の「which -> vim」コマンドを実行できないのはなぜですか?

実際に内容を確認するには、whichコマンドを実行してからvimで開く必要があることがよくあります。タブ補完機能を使用してこれを行うエイリアスまたは関数が必要です。私が試したことは次のとおりです。

superwhich() {
    which "$1" | vim
}

superwhich2() {
    vim $(which $1)
}

これらのどれも機能しません。私が逃したものはありますか?

ベストアンサー1

cshそしてtcsh機能がありません。

唯一の方法は、エイリアスを使用し、!履歴置換を介してパラメータを渡すことです。

alias superwhich 'vim "`which \!:1`"'

superwhich bzgrep

またはより良い方法(エラーチェックを含む):

alias superwhich 'set q = `which \!:1`; if(-r "$q") vim "$q"'

おすすめ記事