Maybaygiare.org

Blog Network

美しいデフォルトを取得するために魚の殻のためのBashをドロップ

私はすぐに私のコンピュータの起動後に端末ウィンドウを開くそれらの人々 それはこの時点では必要ではありませんが、習慣はそこにあります。 私はその魔法の呪文を学ぶ私のキャリアのほとんどを費やし、私は端末上で私の毎日のタスクをナビゲートすることは、仕事でより楽しい一日のため それはすべて言った、それはたまに新しい何かを試してみるのはうれしいです。

私は最近、誇らしげに”90年代のコマンドラインシェル”として自分自身を販売するfishの賛成で、デフォルトのコマンドラインインタプリタ、Bashを私はそれを見つけました。

bashrcでは十分ではありません

一年以上前、私はオペレーティングシステムを抽象化するのをやめ、ゼロからそれを学び始めることに決めました。 私は最近、MacからLinuxに切り替えました。 それはさわやかだった; 私は混乱のショートカットや重複のトンを発見し、よくオペレーティングシステム間のポート何かにそれをペア ここにいくつかのお気に入りがあります:

## Nicer shell experience
export GREP_OPTIONS="--color=auto"; # make grep colorful
export LSCOLORS=gxfxbEaEBxxEhEhBaDaCaD; # make ls more colorful as well
export HISTSIZE=32768; # Larger bash history (allow 32³ entries; default is 500)
export HISTFILESIZE=$HISTSIZE;
export HISTCONTROL=ignoredups; # Remove duplicates from history. I use `git status` a lot.
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"; # Make some commands not show up in history
export LANG="en_US.UTF-8"; # Language formatting is still important
export LC_ALL="en_US.UTF-8"; # byte-wise sorting and force language for those pesky apps
export MANPAGER="less -X"; # Less is more
export GPG_TTY=$(tty); # for gpg key management

私は自分の環境の魔法を分かりやすくするための旅に出てきました。

カスタマイズは私を壊します。bashrc

私が再び立ち往生したのは、この時点で明確になっています。 私は私の端末でいくつかの近代的な規則、特に自動提案、構文の強調表示、およびあまりにも多くの依存関係なしのコマンド出力の色付けをしたいと思 (iTerm2はMac上では素晴らしいですが、私はdotfilesでその不可解な設定ファイルを追跡したくありません。)だから私は何をすべきですか?私は答えの後に行った最初の時間は、私はそれを一度に一つのステップを解決しました:

  • 最初に、私は私の~/をカスタマイズしました。前方および後方検索を可能にするinputrcファイル。次に、catをccatのprettified出力に置き換え、myのccatにaliased catを置き換えました。bashrc。 これは後で最終的にstdoutへの書き込みを壊したので、私はそれを使用しなくなりました。
  • 最終的に、私はBashをカスタマイズするための強力なプラグインシステムであるBash-itを使用しました。作品を一つずつ剥がした後、私は自分のシステムがどのように動作しているかについてもう少し理解していると感じました。 私が求めていた現代的な経験を得るために飛び越えなければならないように感じたフープは、私をこの点に導いた基準に戻しました。 私はそれをすべて捨てて全く違うものを試してみることにするまで、私は歴史の囚人だったように感じました。

    fish shellを使用した簡単なデフォルトとカスタマイズ

    Fish shellは、自動提案、タブ補完、および構文の強調表示(他の機能の中でも)を備えた最新のコマン 私は特に、最初にfishと入力して試してみると、美しい経験が得られる方法が好きです。

    最初の行では、pwdが有効なコマンドであるため、コマンドは青 Pdwは有効なコマンドではないため、2行目では赤です。 私はそれが本当であることを示すためにEnterキーを押しましたが、私はすぐにエラーを修正し、私の日に移動した可能性があります。 3番目のコマンドでは、directory(cd)を開発フォルダに変更し、前回と同じようにfishがdotfilesにホップするかどうかを自動的に尋ねます。 私がタブを2回押すと、私が期待しているように、同じディレクトリに他のオプションが表示されます。私は私の魚のシェルの経験をカスタマイズしたい場合は、私はそうするために追加のライブラリやフレームワークをインストールする必要はありません。

    Fishにはfish_configコマンドが付属しており、さまざまな色やプロンプト設定を選択できるグラフィカルユーザーインターフェイス(GUI)が起動します。

    さらに印象的なのは、GUIから利用可能なすべての関数、変数、バインディングなどを確認できることです。

    設定を調整すると、すべてのカスタマイ設定/魚。 上のスクリーンショットは、pyenvを使用してPython環境を簡単にアクティブ化できるカスタム関数を作成したことを示しています。 詳細については、魚の関数のチュートリアルをチェックしてくださ

    警告が表示されます。

    : 魚はBashのようではありません

    他のシェルを試してみると、私は調整するために必要ないくつかの違いが常にあることがわかりましたが、全体的に それは魚の場合ではありません。 関数定義、エイリアシング、および変数は、すべて少し異なる動作をします。 変換するための有用な戦略があります。bashrcと.魚の設定にbash_profileファイルが、それは私がこの記事でカバーする以上のものです。 だから、私は魚を愛するように成長してきたが、私はあなたがそれを好きかどうかを確認するためにスピンのためのインタラクティブなチュート

    美しいデフォルトのシェルのために魚を試してみる

    私は端末を開くことによって私の一日を始めることを楽しみ、私は魚のシェルに切 それは私がBashに何があるのかを心配することから、私が書く予定のコードに焦点を当てることに移行することを可能にしました。 あなたの端末をいじりから離れ、コードにもっと焦点を当てたい場合は、試してみてください。 Chshを使用してデフォルトのシェルとして設定し、コメントにどのように表示されるかを教えてください。

コメントを残す

メールアドレスが公開されることはありません。