コマンドラインインターフェースは大歓迎ですが…。 マウスを使うのが嫌いなんです! このため、CLIでのユーザーエクスペリエンスを向上させる素晴らしいツールを探す気になりました。 私はインターンシップ中にOh-My-Zshに出会いました。 何人かの友人が、そのシンプルさと調整可能性から、このシェルを使うように説得してくれました。 ボーナスとして、CLIは多くのプラグインで拡張可能です。
これは、その機能のリストです。
- コマンドの検証
- スペルチェック
- 実行中のすべてのシェル間でコマンド履歴を共有
- テーマ別のプロンプト (Agnoster, RobbyRussell, …)..)
- ディレクトリ履歴
- 起動/終了スクリプトは
zshenv
、zprofile
、zshrc
、zlogin
、zlogout
経由 - 強力なオートコンプリート機能です。 TABキーで各オプションを移動し、Enterキーで正しいフォルダを選択することができます。 例えばBashは全てのオプションを表示します。
- プラグインの追加: 例: Git エイリアスの巨大なリストを含む Git プラグイン。
– 緑: 変更がない場合のブランチ
– 黄色の丸いアイコン: 未追跡ファイル
– 黄色のプラスのアイコン: コミット可能なファイル
Ubuntu 16.04 Virtual Machine上でこのインストールガイドを実行しています。 Oh-My-Zsh の底力をお見せするために、Git プラグイン (Git-core) をインストールします。 このプラグインは、プロジェクトの Git の状態を視覚的にフィードバックします。
- Install prerequisite packages
$ sudo apt install git-core zsh - Robby Russell のリポジトリから Oh-My-Zsh をインストール
$ sh -c “$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)”. - CLIをアイコンでスパイスするためにPowerlineフォントをインストールする
$ sudo apt install fonts-powerline - 伝説のOh-My-Zshテーマを使うためにテーマを ‘robbyrussell’ から ‘agnoster’ に変える
$ nano ~/.NET Framework - Find the
ZSH_THEME
variable and change it:ZSH_THEME="agnoster"
- I don’t like that the theme shows my username and host.私はテーマが私のユーザー名とホストを表示することが好きではありません。 これを取り除くために、ディレクトリを
$ cd ~/.oh-my-zsh/themes - 次に、エディタで ‘agnoster’ のテーマファイルを開きます
$ nano agnoster.zsh-theme - ここで ‘Main prompt’ を変更できます。 関数
build_prompt()
内の prompt_context は必要ありません。 この行をコメントアウトするか、削除してください。 最後に、PROMPT
変数を$(build_prompt)
に変更します。
$ apt install fonts-powerline $ sudo apt install fonts-powerline $ sudo apt install fonts-powerlinezshrc
実際にテーマを見るには、.zshrc
ファイルをこのようにソース化する必要があります。 source ~/.zshrc
. すべてがうまくいった場合、カバー画像のようなものが表示されるはずです!
おまけ。 zsh をデフォルトのシェルとして設定します。 これをデフォルトのシェルで実行します。ほとんどの場合、これは bash になります。 zsh でこのコマンドを実行しても何も変わりません。
$ chsh -s $(which zsh)
注意: sudo
を使うと root のシェルは変わりますが、あなたの作業用ユーザーのシェルは変わりません。
プラグインのインストール
Githubのプラグインページにあるすべてのプラグインは、~/.oh-my-zsh/plugins
でOh-My-Zshにプレインストールされています。 カスタムプラグインは~/.oh-my-zsh/custom/plugins
でインストールすることができます。 プラグインを使用するには、~/.zshrc
ファイルのプラグインリストに追加するだけです。 プラグインが多すぎるとシェルの起動が遅くなるので、賢く追加してください。
Colored-man-pages
この例では、man pages
にカラーハイライトを与える便利なプラグインをインストールしました。 このプラグインを使用できるようにするには、.zshrc
ファイルをソースしてください。
$ source ~/.zshrc
Zsh-syntax-highlighting
The 別の素晴らしいプラグインにシェル用の syntax highlighting があります。
このプラグインは Oh-My-Zsh ではインストールされません。 ~/.oh-my-zsh/custom/plugins
に移動し、Github からこのフォルダにコードをクローンします:
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting
すると、zsh-syntax-highlighting
という名前のフォルダが表示されるはずです。 これは、プラグインリストに追加する必要がある名前です。
Zsh-autosuggestions
コマンド補完に zsh-autosuggestions
を使用することもできます。 これはコマンド履歴に基づいてコマンドを提案してくれます。 非常に便利です!
インストールは zsh-syntax-highlighting
と同様 :
$ git clone https://github.com/zsh-users/zsh-autosuggestions
そしてプラグインリストへ zsh-autosuggestions
を追加してください。
Takes Care of Alias Enthusiast
Oh-My-Zsh は、あなたが最後に訪れた 20 のディレクトリを自動的に記憶しています。 履歴は dirs -v
で時系列に並べることもできますし、d
だけでも可能です。
通常は cd +1
で前のディレクトリに行くなどして、そのディレクトリを利用することができます。 Oh-My-Zsh はこれをさらに簡単にし、行きたいディレクトリ履歴のエントリの番号だけを使うようにしました… 1
.
Other Interesting Aliases
-
alias
: すべてのエイリアスをリスト表示します。 出力をgrep
にパイプすれば、特定のエイリアスを検索できます。 -
/
:cd /
-
~
:cd ~
-
...
:cd ../..
-
....
:cd ../../..
-
.....
:cd ../../../..
分かったよね…? -
take test_folder
:test_folder
というフォルダを作成し、そこに変更する -
x
: タイプのアーカイブを展開するtar, bz2, rar, gz, tbz2, tgz, zip, Z, 7z
-
upgrade_oh_my_zsh
: インストールをアップグレードする簡単コマンド
よくある問題& 解決策
歴史ファイルが破損していることがある。 具体的なことは聞かないでください。
zsh: corrupt history file /home/myusername/.zsh_history
以下のコマンドで解決してください。 homefolderのrootにいることを確認してください。 fcコマンドは、以前にシェルに入力したコマンドを一覧表示したり、編集したり、再実行したりするコマンドです。 history コマンドは、入力中のコマンドラインで以前のコマンドラインの単語を使用できます。
mv .zsh_history .zsh_history_bad
strings .zsh_history_bad > .zsh_history
fc -R .zsh_history
結論
Oh-My-Zsh はとにかくすごい!
役に立つリンクとソース
この記事は TheLedger.
- Oh-My-Zsh の助けを得て作成されました。 http://ohmyz.sh/
- Plugins: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins
- Themes: https://github.com/robbyrussell/oh-my-zsh/tree/master/themes/
- Git プラグインとすべてのエイリアス。 https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git
- シェルのプロンプトをカスタマイズする。 http://www.nparikh.org/unix/prompt.php#zsh
- ArchWiki で Zsh について。 https://wiki.archlinux.org/index.php/zsh#Autostart_X_at_login
- Zsh syntax highlighting plugin。 https://github.com/zsh-users/zsh-syntax-highlighting
- Zsh autosuggestions plugin: https://github.com/zsh-users/zsh-autosuggestions
- RobbyRussell Zshのカスタマイズに関するWikiです。 https://github.com/robbyrussell/oh-my-zsh/wiki/Customization