トップ 最新 追記

Cocoa練習帳

iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど

2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

2019-10-10 [macOS][Catalina][zsh]bashからzshへ移行する

macOS Catalinaのデフォルト・シェルはzshに変わった。でも、以前のバージョンからのバージョンアップに、自動でzshに変わることはない。勝手に変更されると困るので当然だが。

自分は新しいもの好きなので(zshはとても古いが)、zshに移行してみた!

Catalinaにバージョンアップ後、以下のコマンドでzshのパスを確認する。

$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
# /bin/false was added for FTP users that do not have a home directory.
 
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/bin/false

以下のコマンドを実行して、ターミナルを再起動する。

$ chsh -s /bin/zsh

次は、設定ファイルの準備だと思う。csh系とBourne Shell系が混じっている。

.zprofile
.zshrc
.zlogin
.zlogout

以前のシェルがBashの場合、極端な話、Bourne Shellと互換があるBashから、Bourne Shellと互換があるZshへの移行なので、設定に基本的なBourne Shellの記述しかしていない場合、以下のようにコピー後に、多少の手直しで、大丈夫。

% cp .bash_profile .zprofile
% cp .bashrc .zshrc

2019-10-31 [macOS]zshでgitのブランチ名を表示させる

Mojaveまでは、手動でCommand Line Toolsをインストールしたら設置されるスクリプトを使ってbashでgitのブランチ名を表示させていたが、Catalinaからは設置されないようになったようだ。また、Catalinaからはzshがデフォルト・シェルになったということで、zshでgitのブランチ名を表示させる方法を調べた。

ホームディレクトリ配下に.zshというディレクトリを作って、そこにgit-completion.zshとgit-prompt.shをダウンロードして配置する。

% cd
% mkdir .zsh
% curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.zsh -o ~/.zsh/git-completion.zsh
% curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh -o ~/.zsh/git-prompt.sh

.zshrcに以下のコードを追加する。

# Git
 
fpath=(~/.zsh $fpath)
 
if [ -f ${HOME}/.zsh/git-completion.zsh ]; then
        zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.zsh
fi
 
if [ -f ${HOME}/.zsh/git-prompt.sh ]; then
        source ${HOME}/.zsh/git-prompt.sh
fi
 
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUPSTREAM=auto
 
setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '

これで、zshのプロンプトにgitのブランチ名が表示されるようになる。


トップ 最新 追記