<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Justgerrardz</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Justgerrardz"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Justgerrardz"/>
	<updated>2026-04-05T21:49:08Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Zsh&amp;diff=4990</id>
		<title>Zsh</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Zsh&amp;diff=4990"/>
		<updated>2016-02-24T09:53:34Z</updated>

		<summary type="html">&lt;p&gt;Justgerrardz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:コマンドシェル]]&lt;br /&gt;
[[cs:Zsh]]&lt;br /&gt;
[[de:Zsh]]&lt;br /&gt;
[[en:Zsh]]&lt;br /&gt;
[[es:Zsh]]&lt;br /&gt;
[[fr:Zsh]]&lt;br /&gt;
[[ru:Zsh]]&lt;br /&gt;
[[zh-CN:Zsh]]&lt;br /&gt;
[http://www.zsh.org Zsh] は対話式シェルとしてもスクリプト言語のインタプリタとしても使えるパワフルなシェルです。[[Bash]] と互換性がありながら (デフォルトではありません、{{ic|emulate sh}} を実行した時だけです)、Zsh には多くの利点があります:&lt;br /&gt;
&lt;br /&gt;
* 高速&lt;br /&gt;
* 高度なタブ補完&lt;br /&gt;
* 高度なグロブ&lt;br /&gt;
* 高度な行列処理&lt;br /&gt;
* 完全にカスタマイズ可能&lt;br /&gt;
&lt;br /&gt;
Zsh FAQ には他にも Zsh をあなたのシェルとして使うべき [http://zsh.sourceforge.net/FAQ/zshfaq01.html#l4 理由] が列挙されています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
インストールをする前に現在使っているシェルが何なのか知っておくとよいでしょう:&lt;br /&gt;
&lt;br /&gt;
 $ echo $SHELL&lt;br /&gt;
&lt;br /&gt;
[[公式リポジトリ]]にある {{Pkg|zsh}} パッケージを[[pacman|インストール]]してください。追加の補完定義を使いたい場合は、{{pkg|zsh-completions}} パッケージもインストールします。&lt;br /&gt;
&lt;br /&gt;
=== 初期設定 ===&lt;br /&gt;
&lt;br /&gt;
ターミナルで次のコマンドを実行して Zsh が正しくインストールされたか確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ zsh&lt;br /&gt;
&lt;br /&gt;
基本的な設定を説明する &#039;&#039;&#039;zsh-newuser-install&#039;&#039;&#039; が表示されるはずです。これをスキップしたい場合、{{ic|q}} を押して下さい。手動で呼び出すには:&lt;br /&gt;
&lt;br /&gt;
 $ zsh /usr/share/zsh/functions/Newuser/zsh-newuser-install -f&lt;br /&gt;
&lt;br /&gt;
=== Zsh をデフォルトのシェルにする ===&lt;br /&gt;
&lt;br /&gt;
シェルが {{ic|/etc/shells}} に記載されていれば、{{ic|chsh}} コマンドを使って root 権限なしでデフォルトシェルを変更することができます。[[公式リポジトリ]]から Zsh をインストールしたのなら、既に {{ic|/etc/shells}} にエントリが作られているはずです。&lt;br /&gt;
&lt;br /&gt;
現在使っているユーザーのデフォルトシェルを変更するには:&lt;br /&gt;
&lt;br /&gt;
 $ chsh -s $(which zsh)&lt;br /&gt;
&lt;br /&gt;
{{Note|Zsh をデフォルトシェルとして起動するには、一度ログアウトしてからログインしなおす必要があります。}}&lt;br /&gt;
&lt;br /&gt;
最ログイン後、Bash とは見た目が異なる Zsh のプロンプトが表示されていることに気づくでしょう。また、次のコマンドを実行することで Zsh が現在のシェルになっていることを確認できます:&lt;br /&gt;
&lt;br /&gt;
 $ echo $SHELL&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{Pkg|bash}} を置き換える場合、{{ic|~/.bashrc}} から {{ic|~/.zshrc}} に (例: プロンプトと[[Bash#エイリアス|エイリアス]]) また {{ic|~/.bash_profile}} から {{ic|~/.zprofile}} に (例: [[ログイン時に X を起動|X Window System を起動するコード]]) にコードを移動するとよいでしょう。}}&lt;br /&gt;
&lt;br /&gt;
== 設定ファイル ==&lt;br /&gt;
&lt;br /&gt;
ログイン時、Zsh は以下のファイルをこの順番で読み込みます:&lt;br /&gt;
;{{ic|/etc/zsh/zshenv}}:このファイルにはグローバルな[[#$PATH の設定|コマンド検索パス]]やシステム共通の[[環境変数]]を設定するコマンドを記述します。出力を発生させるコマンドや tty に基づいているコマンドを含めてはいけません。&lt;br /&gt;
;{{ic|~/.zshenv}}:このファイルには[[#$PATH の設定|コマンドの検索パス]]を設定するコマンドや、重要な環境変数を含めます; 出力をするコマンドや tty に基づいているコマンドを含めてはいけません。&lt;br /&gt;
;{{ic|/etc/zsh/zprofile}}:グローバルな設定ファイルであり、ログイン時に読み込まれます。ログイン時に毎回実行するコマンドを記述するのに使われます。Arch Linux では、初めから {{ic|/etc/profile}} を source する[https://projects.archlinux.org/svntogit/packages.git/tree/trunk/zprofile?h=packages/zsh 一行]が入っています。詳しくは[[#全ユーザー共通の設定ファイル|下]]を参照。&lt;br /&gt;
;{{ic|/etc/profile}}:このファイルはログイン時に Bourne 互換シェルによって読み込まれます: ログイン時やアプリケーション固有の設定 {{ic|/etc/profile.d/*.sh}}) を設定します。&lt;br /&gt;
;{{ic|~/.zprofile}}:このファイルは一般的にユーザーのスクリプトを自動で実行するために使われます。&lt;br /&gt;
;{{ic|/etc/zsh/zshrc}}:グローバルな設定ファイルであり、インタラクティブシェルとして起動した場合に読み込まれます。&lt;br /&gt;
;{{ic|~/.zshrc}}:これは Zsh のメインの設定ファイルです。&lt;br /&gt;
;{{ic|/etc/zsh/zlogin}}:グローバルな設定ファイルであり、ログインシェルとして起動した場合に、初期化の最後に読み込まれます。&lt;br /&gt;
;{{ic|~/.zlogin}}:{{ic|/etc/zsh/zlogin}} と同じ設定ファイルですが、ユーザーごとの設定を記述するところが違います。&lt;br /&gt;
;{{ic|/etc/zsh/zlogout}}:グローバルな設定ファイルであり、ログインシェルが終了するときに読み込まれます。&lt;br /&gt;
;{{ic|~/.zlogout}}:{{ic|/etc/zsh/zlogout}} と同じ設定ファイルですが、ユーザーごとの設定を記述するところが違います。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* Arch の {{Pkg|zsh}} パッケージで使われているパスは [[man ページ]]で使われているデフォルトのパスとは異なっています。&lt;br /&gt;
* {{ic|$ZDOTDIR}} のデフォルトは {{ic|$HOME}} です。&lt;br /&gt;
* {{ic|/etc/profile}} は Zsh のスタートアップファイルの標準リストに含まれていませんが、{{Pkg|zsh}} パッケージに入っている {{ic|/etc/zsh/zprofile}} から読み込まれます。{{ic|/etc/profile}} で {{ic|$PATH}} 変数を設定すると {{ic|~/.zshenv}} に設定した {{ic|$PATH}} 変数を全て上書きしてしまうので注意してください。これを防ぐには、{{ic|/etc/zsh/zprofile}} をあなたの作ったファイルに置き換えるか、{{ic|~/.zshrc}} から {{ic|$PATH}} 変数を設定してください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 全ユーザー共通の設定ファイル ===&lt;br /&gt;
&lt;br /&gt;
場合によっては Zsh ユーザー全てに設定を適用させたいときもあると思われます。zsh(1) によれば {{ic|/etc/zshrc}} などグローバルな設定ファイルはいくつか存在します。ただし、これは Arch では少し事情が異なっており、代わりに {{ic|/etc/zsh/}} を使うようにコンパイルされています [https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/zsh#n34]。&lt;br /&gt;
&lt;br /&gt;
従って、ユーザー共通の設定をしたいときは {{ic|/etc/zshrc}} ではなく {{ic|/etc/zsh/zshrc}} を使って下さい。これは {{ic|/etc/zsh/zshenv}}, {{ic|/etc/zsh/zlogin}}, {{ic|/etc/zsh/zlogout}} でも同じです。これらのファイルはデフォルトではインストールされないので、必要なときに作成してください。&lt;br /&gt;
&lt;br /&gt;
唯一の例外は {{ic|zprofile}} で、これは {{ic|/etc/profile}} を使います。&lt;br /&gt;
&lt;br /&gt;
== ~/.zshrc の設定 ==&lt;br /&gt;
&lt;br /&gt;
Zsh は何も設定しなくても使うことができますが、あなたが使いたい機能はほとんど設定されていないでしょう。ただし Zsh で利用できるカスタム化の道は険しく、Zsh の設定は困難をきわめ多くの時間を浪費するかもしれません。&lt;br /&gt;
&lt;br /&gt;
=== シンプルな .zshrc ===&lt;br /&gt;
&lt;br /&gt;
下にはサンプルの設定ファイルが含まれており、Zsh のカスタマイズの方法の例だけでなくデフォルトオプションのセットも提供しています。この設定を使うには {{ic|.zshrc}} という名前でファイルを保存してください。ログインしなおさなくても次を実行することで変更を適用できます:&lt;br /&gt;
&lt;br /&gt;
 $ source ~/.zshrc&lt;br /&gt;
&lt;br /&gt;
以下はシンプルな {{ic|.zshrc}} です、基点としてはピッタリでしょう:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.zshrc|&lt;br /&gt;
autoload -U compinit promptinit&lt;br /&gt;
compinit&lt;br /&gt;
promptinit&lt;br /&gt;
&lt;br /&gt;
# This will set the default prompt to the walters theme&lt;br /&gt;
prompt walters}}&lt;br /&gt;
&lt;br /&gt;
=== $PATH の設定 ===&lt;br /&gt;
&lt;br /&gt;
zsh でユーザーごとにシステムパスを設定する方法についての情報はここにあります: http://zsh.sourceforge.net/Guide/zshguide02.html#l24&lt;br /&gt;
&lt;br /&gt;
以下を {{ic|~/.zshenv}} に追加してください:&lt;br /&gt;
{{hc|~/.zshenv|&lt;br /&gt;
typeset -U path&lt;br /&gt;
path&amp;amp;#61;(~/bin /other/things/in/path $path[@])}}&lt;br /&gt;
&lt;br /&gt;
=== コマンド補完 ===&lt;br /&gt;
&lt;br /&gt;
Zsh の一番魅力的な機能はおそらく先進的な自動補完機能でしょう。少なくとも、{{ic|.zshrc}} で自動補完を有効にしたいと思うはずです。自動補完を有効にするには、以下を追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.zshrc|&lt;br /&gt;
autoload -U compinit&lt;br /&gt;
compinit}}&lt;br /&gt;
&lt;br /&gt;
この設定は ssh/scp/sftp のホスト名の補完も含んでいますが、この機能を動かすには {{ic|~/.ssh/known_hosts}} で ssh がホスト名をハッシュ化しないようにする必要があります。&lt;br /&gt;
{{Warning|ハッシュ化を解除すると [http://blog.rootshell.be/2010/11/03/bruteforcing-ssh-known_hosts-files/ &amp;quot;Island-hopping&amp;quot; 攻撃] に無防備になります。そのことを前もって知った上で、次の行をコメントアウトするか値を {{ıc|no}} に設定してください:&lt;br /&gt;
{{hc|/etc/ssh/ssh_config|&lt;br /&gt;
#HashKnownHosts yes}}&lt;br /&gt;
これで {{ic|~/.ssh/known_hosts}} をどこか他のところに移動すれば ssh はハッシュ化されてないホスト名を使って新しいファイルを作成します (以前のホストは消失します)。詳細については、[http://nms.lcs.mit.edu/projects/ssh/README.hashed-hosts hashed-hosts] に関する SSH の readme を見て下さい。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
矢印キーのインターフェイスを使って自動補完するには、以下を追加して下さい:&lt;br /&gt;
{{hc|~/.zshrc|&lt;br /&gt;
zstyle &#039;:completion:*&#039; menu select}}&lt;br /&gt;
:&#039;&#039;メニューを有効にするには、タブを二度押して下さい。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
エイリアスでコマンドラインの自動補完を切り替えるには、以下を追加して下さい:&lt;br /&gt;
{{hc|~/.zshrc|&lt;br /&gt;
setopt completealiases}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;command not found&amp;quot; フック ===&lt;br /&gt;
&lt;br /&gt;
[[Pkgfile#.22Command_not_found.22_フック|Pkgfile/&amp;quot;Command not found&amp;quot; フック]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 履歴に同じ行が重複するのを避ける ===&lt;br /&gt;
&lt;br /&gt;
履歴の重複する行を無視するには、以下を追加して下さい:&lt;br /&gt;
{{hc|~/.zshrc|&lt;br /&gt;
setopt HIST_IGNORE_DUPS}}&lt;br /&gt;
&lt;br /&gt;
既に作成された重複を履歴から取り除くには、次を実行:&lt;br /&gt;
 $ sort -t &amp;quot;;&amp;quot; -k 2 -u ~/.zsh_history | sort -o ~/.zsh_history&lt;br /&gt;
&lt;br /&gt;
=== ttyctl コマンド ===&lt;br /&gt;
&lt;br /&gt;
[http://zsh.sourceforge.net/Doc/Release/Shell-Builtin-Commands.html#index-tty_002c-freezing] には Zsh の {{ic|ttyctl}} コマンドの説明があります。{{ic|ttyctl}} を使うことでターミナルを &amp;quot;freeze/unfreeze&amp;quot; することができます。ターミナルの状態を変更するプログラムは多数存在しますが、終了時にターミナルの設定を元に戻さないことがあります。手動でターミナルをリセットしなくてもいいようにするには、以下を使います:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.zshrc|&lt;br /&gt;
ttyctl -f}}&lt;br /&gt;
&lt;br /&gt;
=== キーバインド ===&lt;br /&gt;
&lt;br /&gt;
Zsh は readline を使っていません、代わりに自身のパワフルな zle を使っています。zle は {{ic|/etc/inputrc}} や {{ic|~/.inputrc}} を読みません。&lt;br /&gt;
zle には [[emacs]] モードと [[vi]] モードがあります。デフォルトでは、{{ic|$EDITOR}} 環境変数から emacs と vi どちらのキーをあなたが使いたいのか考えます。この変数が空の場合、デフォルトは emacs モードです。 {{ic|bindkey -v}} や {{ic|bindkey -e}} でモードを変更することが可能です。&lt;br /&gt;
&lt;br /&gt;
特殊なキーを動作させるには:&lt;br /&gt;
{{hc|~/.zshrc|2=&lt;br /&gt;
# create a zkbd compatible hash;&lt;br /&gt;
# to add other keys to this hash, see: man 5 terminfo&lt;br /&gt;
typeset -A key&lt;br /&gt;
&lt;br /&gt;
key[Home]=${terminfo[khome]}&lt;br /&gt;
&lt;br /&gt;
key[End]=${terminfo[kend]}&lt;br /&gt;
key[Insert]=${terminfo[kich1]}&lt;br /&gt;
key[Delete]=${terminfo[kdch1]}&lt;br /&gt;
key[Up]=${terminfo[kcuu1]}&lt;br /&gt;
key[Down]=${terminfo[kcud1]}&lt;br /&gt;
key[Left]=${terminfo[kcub1]}&lt;br /&gt;
key[Right]=${terminfo[kcuf1]}&lt;br /&gt;
key[PageUp]=${terminfo[kpp]}&lt;br /&gt;
key[PageDown]=${terminfo[knp]}&lt;br /&gt;
&lt;br /&gt;
# setup key accordingly&lt;br /&gt;
[[ -n &amp;quot;${key[Home]}&amp;quot;     ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[Home]}&amp;quot;     beginning-of-line&lt;br /&gt;
[[ -n &amp;quot;${key[End]}&amp;quot;      ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[End]}&amp;quot;      end-of-line&lt;br /&gt;
[[ -n &amp;quot;${key[Insert]}&amp;quot;   ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[Insert]}&amp;quot;   overwrite-mode&lt;br /&gt;
[[ -n &amp;quot;${key[Delete]}&amp;quot;   ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[Delete]}&amp;quot;   delete-char&lt;br /&gt;
[[ -n &amp;quot;${key[Up]}&amp;quot;       ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[Up]}&amp;quot;       up-line-or-history&lt;br /&gt;
[[ -n &amp;quot;${key[Down]}&amp;quot;     ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[Down]}&amp;quot;     down-line-or-history&lt;br /&gt;
[[ -n &amp;quot;${key[Left]}&amp;quot;     ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[Left]}&amp;quot;     backward-char&lt;br /&gt;
[[ -n &amp;quot;${key[Right]}&amp;quot;    ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[Right]}&amp;quot;    forward-char&lt;br /&gt;
[[ -n &amp;quot;${key[PageUp]}&amp;quot;   ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[PageUp]}&amp;quot;   beginning-of-buffer-or-history&lt;br /&gt;
[[ -n &amp;quot;${key[PageDown]}&amp;quot; ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[PageDown]}&amp;quot; end-of-buffer-or-history&lt;br /&gt;
&lt;br /&gt;
# Finally, make sure the terminal is in application mode, when zle is&lt;br /&gt;
# active. Only then are the values from $terminfo valid.&lt;br /&gt;
if (( ${+terminfo[smkx]} )) &amp;amp;&amp;amp; (( ${+terminfo[rmkx]} )); then&lt;br /&gt;
    function zle-line-init () {&lt;br /&gt;
        printf &#039;%s&#039; &amp;quot;${terminfo[smkx]}&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    function zle-line-finish () {&lt;br /&gt;
        printf &#039;%s&#039; &amp;quot;${terminfo[rmkx]}&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    zle -N zle-line-init&lt;br /&gt;
    zle -N zle-line-finish&lt;br /&gt;
fi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|To get the proper sequences for certain key combinations, start {{ic|cat}} or {{ic|read}} without any parameters and press them; they should then be printed in the terminal. Both can be closed again via {{ic|Ctrl+c}}.}}&lt;br /&gt;
&lt;br /&gt;
==== terminfo を使わない方法 ====&lt;br /&gt;
&lt;br /&gt;
{{ic|autoload zkbd}} を実行してから {{ic|zkbd}} を実行して下さい。キーを押せない場合は (例: {{ic|F11}} はウィンドウを最大化します)、スペースを押してスキップして下さい。zkbd が完了した後、以下を {{ic|~/.zshrc}} に追加して下さい:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.zshrc|autoload zkbd&lt;br /&gt;
source ~/.zkbd/$TERM-:0.0 # may be different - check where zkbd saved yours&lt;br /&gt;
&lt;br /&gt;
[[ -n ${key[Backspace]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[Backspace]}&amp;quot; backward-delete-char&lt;br /&gt;
[[ -n ${key[Insert]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[Insert]}&amp;quot; overwrite-mode&lt;br /&gt;
[[ -n ${key[Home]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[Home]}&amp;quot; beginning-of-line&lt;br /&gt;
[[ -n ${key[PageUp]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[PageUp]}&amp;quot; up-line-or-history&lt;br /&gt;
[[ -n ${key[Delete]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[Delete]}&amp;quot; delete-char&lt;br /&gt;
[[ -n ${key[End]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[End]}&amp;quot; end-of-line&lt;br /&gt;
[[ -n ${key[PageDown]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[PageDown]}&amp;quot; down-line-or-history&lt;br /&gt;
[[ -n ${key[Up]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[Up]}&amp;quot; up-line-or-search&lt;br /&gt;
[[ -n ${key[Left]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[Left]}&amp;quot; backward-char&lt;br /&gt;
[[ -n ${key[Down]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[Down]}&amp;quot; down-line-or-search&lt;br /&gt;
[[ -n ${key[Right]} ]] &amp;amp;&amp;amp; bindkey &amp;quot;${key[Right]}&amp;quot; forward-char&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== ncurses アプリケーションのキーバインド ====&lt;br /&gt;
&lt;br /&gt;
ncurses アプリケーションをキーストロークにバインドすることが可能ですが、対話はできません。{{ic|BUFFER}} 変数を使って動作させて下さい。以下の例は {{ic|Alt+\}} で ncmpcpp を開きます:&lt;br /&gt;
{{hc|~/.zshrc|2=&lt;br /&gt;
ncmpcppShow() { BUFFER=&amp;quot;ncmpcpp&amp;quot;; zle accept-line; }&lt;br /&gt;
zle -N ncmpcppShow&lt;br /&gt;
bindkey &#039;^[\&#039; ncmpcppShow&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 履歴検索 ===&lt;br /&gt;
&lt;br /&gt;
以下の行を .zshrc に追加して下さい:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.zshrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[[ -n &amp;quot;${key[PageUp]}&amp;quot;   ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[PageUp]}&amp;quot;    history-beginning-search-backward&lt;br /&gt;
[[ -n &amp;quot;${key[PageDown]}&amp;quot; ]]  &amp;amp;&amp;amp; bindkey  &amp;quot;${key[PageDown]}&amp;quot;  history-beginning-search-forward&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
これを設定すると、現在の入力で始まる過去のコマンドだけが表示されるようになります。&lt;br /&gt;
&lt;br /&gt;
=== プロンプト ===&lt;br /&gt;
&lt;br /&gt;
Zsh には手軽にカラープロンプトを設定する方法があります。{{ic|.zshrc}} でプロンプトが自動ロードされるように設定してください。以下の行を追加することで自動ロードされます:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.zshrc|&lt;br /&gt;
autoload -U promptinit&lt;br /&gt;
promptinit&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次のコマンドを実行することで利用可能なプロンプトを見ることができます:&lt;br /&gt;
 &lt;br /&gt;
 $ prompt -l&lt;br /&gt;
&lt;br /&gt;
表示されたコマンドの一つを試すには、prompt コマンドの後に使いたいプロンプトの名前を加えて下さい。例えば、{{ic|walters}} プロンプトを使うには、次のように入力します:&lt;br /&gt;
&lt;br /&gt;
 $ prompt walters&lt;br /&gt;
&lt;br /&gt;
全ての利用可能なテーマをプレビューするには次のコマンドを使って下さい:&lt;br /&gt;
&lt;br /&gt;
 $ prompt -p&lt;br /&gt;
&lt;br /&gt;
=== プロンプトのカスタマイズ ===&lt;br /&gt;
&lt;br /&gt;
上述のプロンプトに満足がいかない（もしくはプロンプトを拡張したい）場合、Zsh にはカスタムプロンプトを作る機能が備わっています。全てのシェルに共通な左側だけのプロンプトに加え、Zsh は左右両側を使うプロンプトをサポートしています。{{ic|1=PROMPT=}} と以下の変数を使うことでプロンプトをカスタマイズできます:&lt;br /&gt;
&lt;br /&gt;
==== プロンプト変数 ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;10%&amp;quot;| コマンド || !scope=&amp;quot;col&amp;quot; width=&amp;quot;60%&amp;quot;|説明 || !scope=&amp;quot;col&amp;quot; width=&amp;quot;30%&amp;quot;|コメント&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | 一般&lt;br /&gt;
|-&lt;br /&gt;
|{{ic|%n}} || ユーザー名&lt;br /&gt;
|-&lt;br /&gt;
|{{ic|%m}} || コンピュータのホスト名 (ドットの前の部分まで)&lt;br /&gt;
|-&lt;br /&gt;
|{{ic|%M}} || コンピュータのホスト名&lt;br /&gt;
|-&lt;br /&gt;
|{{ic|%l}} || 現在の tty&lt;br /&gt;
|-&lt;br /&gt;
|{{ic|%?}} || 最後に実行したアプリケーションのリターンコード&lt;br /&gt;
|-&lt;br /&gt;
|{{ic|%#}} || ユーザー特権によるプロンプト (root なら {{ic|#}} その他なら {{ic|%}})&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | 時間&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|%T}}|| システム時刻 (HH:MM)&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|%*}}|| システム時刻 (HH:MM:SS)&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|%D}}|| システム日付 (YY-MM-DD)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | ディレクトリ&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|%d}} || カレントディレクトリ。&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 数字を前に付けることでパスの一部だけを表示することが可能です。例えば {{ic|%1d}} と入力した場合、{{ic|/usr/bin}} にいるときは {{ic|bin}} と表示されます。負の値も使えます: {{ic|%-1d}} は上の例だと {{ic|/}} と表示されます。&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|%~}}|| カレントディレクトリ。{{ic|$HOME}} やそのサブディレクトリにいる場合、{{ic|$HOME}} の部分は {{ic|~}} に置き換えられます。&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | 整形&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|%U [...] %u}} || 下線表示の始まりと終わり&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|%B [...] %b}} || 太字表示の始まりと終わり&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|&amp;lt;nowiki&amp;gt;%{ [...] %}&amp;lt;/nowiki&amp;gt;}} || 表示されない領域。色の設定をするときに使います。このタグによって Zsh はタグの中にあるものを全て無視します。使用しないとプロンプトの縁やインデントに妙な影響が出ることがあります。&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | カラー&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|$fg[color]}}||文字色を設定します (red, green, blue など - 太字デフォルト)。&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Zsh は [[Bash カラープロンプト|Bash]] とは違ったふうに色を設定します。色を使うには {{ic|.zshrc}} で {{ic|1=PROMPT=}} の前に {{ic|autoload -U colors &amp;amp;&amp;amp; colors}} を追加してください。通常、カーソルが動かないように色の設定は {{ic|%{ [...] %} }} の中に記述します。&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|$fg_no_bold[color]}}|| 太字でない文字色を設定します。&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|$fg_bold[color]}}|| 太字の文字色を設定します。&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|$reset_color}}|| 文字色をデフォルトの色に戻します。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | 利用できるカラー&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|black}} または {{ic|0}} || {{ic|red}} または {{ic|1}}&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|green}} または {{ic|2}} || {{ic|yellow}} または {{ic|3}}&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|blue}} または {{ic|4}} || {{ic|magenta}} または {{ic|5}}&lt;br /&gt;
|-&lt;br /&gt;
| {{ic|cyan}} または {{ic|6}} || {{ic|white}} または {{ic|7}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|太字の文字色は通常の文字色と必ずしも同じ色になるわけではありません。例えば、{{ic|$fg[&#039;yellow&#039;]}} は褐色や濃黄のようになりますが、{{ic|$fg_bold[&#039;yellow&#039;]}} はやや明るい普通の黄色のようになります。}}&lt;br /&gt;
&lt;br /&gt;
==== サンプル ====&lt;br /&gt;
&lt;br /&gt;
以下のようにすることで左右両側にプロンプトを表示できます:&lt;br /&gt;
 PROMPT=&amp;quot;%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg_no_bold[yellow]%}%1~ %{$reset_color%}%#&amp;quot;&lt;br /&gt;
 RPROMPT=&amp;quot;[%{$fg_no_bold[yellow]%}%?%{$reset_color%}]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
次のようになります (色は省略):&lt;br /&gt;
 username@host ~ %                                                         [0]&lt;br /&gt;
&lt;br /&gt;
=== ディレクトリスタック ===&lt;br /&gt;
&lt;br /&gt;
Zsh を設定して DIRSTACKSIZE 最後に訪れたフォルダを覚えさせることが可能です。これにより素早く &#039;&#039;cd&#039;&#039; することができます。設定ファイルにいくつか設定を加える必要があります:&lt;br /&gt;
&lt;br /&gt;
{{hc|.zshrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
DIRSTACKFILE=&amp;quot;$HOME/.cache/zsh/dirs&amp;quot;&lt;br /&gt;
if [[ -f $DIRSTACKFILE ]] &amp;amp;&amp;amp; [[ $#dirstack -eq 0 ]]; then&lt;br /&gt;
  dirstack=( ${(f)&amp;quot;$(&amp;lt; $DIRSTACKFILE)&amp;quot;} )&lt;br /&gt;
  [[ -d $dirstack[1] ]] &amp;amp;&amp;amp; cd $dirstack[1]&lt;br /&gt;
fi&lt;br /&gt;
chpwd() {&lt;br /&gt;
  print -l $PWD ${(u)dirstack} &amp;gt;$DIRSTACKFILE&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
DIRSTACKSIZE=20&lt;br /&gt;
&lt;br /&gt;
setopt autopushd pushdsilent pushdtohome&lt;br /&gt;
&lt;br /&gt;
## Remove duplicate entries&lt;br /&gt;
setopt pushdignoredups&lt;br /&gt;
&lt;br /&gt;
## This reverts the +/- operators.&lt;br /&gt;
setopt pushdminus&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
次のコマンドでディレクトリスタックを表示できます:&lt;br /&gt;
 dirs -v&lt;br /&gt;
{{ic|cd -&amp;lt;NUM&amp;gt;}} で訪問済みのフォルダに戻ります。ダッシュの後は自動補完が利用できます。自動補完メニューを使っている場合はとても役に立ちます。&lt;br /&gt;
&lt;br /&gt;
{{Note|&#039;&#039;zsh&#039;&#039; セッションを複数開いている場合、{{ic|cd}} しようとしても、両方のセッションによって同一のファイルに書き込む衝突が発生するため機能しません。}}&lt;br /&gt;
&lt;br /&gt;
=== ヘルプコマンド ===&lt;br /&gt;
[[bash]] とは違って、&#039;&#039;zsh&#039;&#039; は組み込まれている {{ic|help}} コマンドを有効にしていません。zsh で {{ic|help}} を使うには、以下を {{ic|zshrc}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
autoload -U run-help&lt;br /&gt;
autoload run-help-git&lt;br /&gt;
autoload run-help-svn&lt;br /&gt;
autoload run-help-svk&lt;br /&gt;
unalias run-help&lt;br /&gt;
alias help=run-help&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Fish のようなシンタックスハイライト ===&lt;br /&gt;
&lt;br /&gt;
[[Fish]] には強力なシェルシンタックスハイライトがあります。これを zsh で使うには、公式リポジトリから {{pkg|zsh-syntax-highlighting}} をインストールして以下を zshrc に追加します:&lt;br /&gt;
{{bc|&lt;br /&gt;
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== サンプル .zshrc ファイル ===&lt;br /&gt;
&lt;br /&gt;
以下は {{ic|.zshrc}} ファイルのリストです。自由に自分のファイルを追加してください:&lt;br /&gt;
&lt;br /&gt;
* 公式リポジトリにある {{Pkg|grml-zsh-config}} パッケージは http://grml.org/zsh から取られて来たもので Zshell の多数の調整が含まれた zshrc ファイルが入っています。これは[https://www.archlinux.org/download/ 毎月リリースされている ISO] のデフォルト設定です。&lt;br /&gt;
* 動的なプロンプトとウィンドウタイトル、hardinfo を使う、基本セットアップ =&amp;gt; http://github.com/MrElendig/dotfiles-alice/blob/master/.zshrc&lt;br /&gt;
* https://github.com/slashbeast/things/blob/master/configs/DOTzshrc - 複数の機能を有効にした zshrc、コメントを見て下さい。特徴: ユーザーが電源オフ・再起動・ハイバネートをすることを確認する関数、プロンプトの GIT サポート (vcsinfo を使わずに実現)、メニューの付いたタブ補完、実行中のコマンドをウィンドウのタイトルバーに表示など。&lt;br /&gt;
&lt;br /&gt;
=== 設定フレームワーク ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/robbyrussell/oh-my-zsh oh-my-zsh] は Zsh の設定を管理するための、人気のあるコミュニティドリブンなフレームワークです。便利な関数、ヘルパー、プラグイン、テーマが山ほどバンドルされています。&lt;br /&gt;
* [https://github.com/sorin-ionescu/prezto Prezto - Instantly Awesome Zsh] (AUR の {{AUR|prezto-git}} でインストール可能) は Zsh の設定フレームワークです。デフォルトでリッチなコマンドラインインターフェース環境を構築するモジュール・エイリアス・関数・自動補完・プロンプトテーマが付いています。&lt;br /&gt;
* [https://github.com/zsh-users/antigen Antigen] (AUR の {{AUR|antigen-git}} でインストール可能) - zsh のプラグインマネージャ。oh-my-zsh と vundle の影響を受けています。&lt;br /&gt;
&lt;br /&gt;
=== アプリケーションの自動起動 ===&lt;br /&gt;
&lt;br /&gt;
Zsh はいつでも {{ic|/etc/zsh/zshenv}} と {{ic|$ZDOTDIR/.zshenv}} を実行します。なのでこれらのファイルをあまり肥大化させないでください。&lt;br /&gt;
&lt;br /&gt;
シェルがログインシェルの場合、{{ic|/etc/profile}} そして {{ic|$ZDOTDIR/.zprofile}} からコマンドが読み込まれます。次に、シェルがインタラクティブの場合、{{ic|/etc/zsh/zshrc}} さらに {{ic|$ZDOTDIR/.zshrc}} からコマンドが読み込まれます。最後に、シェルがログインシェルの場合、{{ic|/etc/zsh/zlogin}} ついで {{ic|$ZDOTDIR/.zlogin}} が読み込まれます。&lt;br /&gt;
&lt;br /&gt;
{{ic|man zsh}} の &#039;&#039;STARTUP/SHUTDOWN FILES&#039;&#039; セクションも参照してください。&lt;br /&gt;
&lt;br /&gt;
== アンインストール ==&lt;br /&gt;
&lt;br /&gt;
Zsh があなたに合わないと感じて Bash に戻りたいときは、Zsh パッケージを削除する前に必ず、まずデフォルトシェルを変更して下さい。&lt;br /&gt;
&lt;br /&gt;
{{Warning|Failure to follow the below procedures will result in all kinds of problems: users will no longer have a working shell program.}}&lt;br /&gt;
&lt;br /&gt;
ターミナルで次のコマンドを root で実行して下さい:&lt;br /&gt;
 # chsh -s /bin/bash user&lt;br /&gt;
Zsh を使っている全てのユーザーで実行して下さい。&lt;br /&gt;
&lt;br /&gt;
これで安全に Zsh パッケージを削除することができます。&lt;br /&gt;
&lt;br /&gt;
以上を行わなかった場合、root で {{ic|/etc/passwd}} を編集することで Bash にデフォルトシェルを戻すことができます。&lt;br /&gt;
&lt;br /&gt;
{{Warning|It is &#039;&#039;&#039;strongly&#039;&#039;&#039; recommended to use {{ic|vipw}} when editing user information as it prevents badly formatted entries.}}&lt;br /&gt;
&lt;br /&gt;
例:&lt;br /&gt;
&lt;br /&gt;
編集前:&lt;br /&gt;
 &#039;&#039;username&#039;&#039;:x:1000:1000:Full Name,,,:/home/&#039;&#039;username&#039;&#039;:/bin/zsh&lt;br /&gt;
編集後:&lt;br /&gt;
 &#039;&#039;username&#039;&#039;:x:1000:1000:Full Name,,,:/home/&#039;&#039;username&#039;&#039;:/bin/bash&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
*[http://zsh.sourceforge.net/Guide/zshguide.html ユーザーガイド]&lt;br /&gt;
*[http://zsh.sourceforge.net/Doc/Release/index-frame.html The Z Shell Manual] (different format available [http://zsh.sourceforge.net/Doc/ here])&lt;br /&gt;
*[http://zsh.sourceforge.net/FAQ/zshfaq01.html Zsh FAQ]&lt;br /&gt;
*[http://grml.org/zsh/zsh-lovers.html zsh-lovers(1)] (公式リポジトリの {{pkg|zsh-lovers}} で利用できます)&lt;br /&gt;
*[http://zshwiki.org/home/ Zsh Wiki]&lt;br /&gt;
*[https://wiki.gentoo.org/wiki/Zsh/HOWTO Gentoo Wiki: Zsh/HOWTO]&lt;br /&gt;
*[http://www.bash2zsh.com/zsh_refcard/refcard.pdf Bash2Zsh Reference Card]&lt;br /&gt;
*[http://www.pokerworld88.com/ Poker Online]&lt;br /&gt;
*[http://www.musimdomino.com/ Domino Online]&lt;br /&gt;
*[http://www.texaspoker83.com/ Texas Poker]&lt;br /&gt;
*[http://www.specialispoker.com/ Poker Online]&lt;br /&gt;
*[http://www.mejapoker88.com/ Poker Indonesia]&lt;br /&gt;
*[http://www.dinastipoker.com Agen Domino99]&lt;/div&gt;</summary>
		<author><name>Justgerrardz</name></author>
	</entry>
</feed>