14
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Macの初期セットアップメモ(1) - terminal,zsh周り

Last updated at Posted at 2018-08-05

Macが汚れてきたのでクリーンインストールすることに。今後のために初期セットアップ事項をまとめておく。ボリュームが多そうなので複数記事に分けて書いていく。まずは基本の基本。

環境情報

MacBook Air (13-inch, Mid 2011)
macOS High Sierra (v10.13.6)

文字入力周りの設定

キーボード入力はMac操作の基本中の基本なので、何はともあれまずここを整える。

Windows風のキー操作を適用する

これをしておくと以下のようなショートカットが有効になる。これに慣れているので基本チェック入れる。MS-IMEで採用されているショートカットなのでWindows風と呼ばれている(多分)。ctrl+tとctrl+iはかなり多用する。

  • 環境設定 > キーボード > 入力ソース > Windows風のキー操作をチェック
    スクリーンショット 2018-08-05 13.07.22.png
ショートカット 変換内容 ファンクションキーで言うと
ctrl+i 全角カタカナ F7
ctrl+u 全角ひらがな F6
ctrl+p 全角英数 F9
ctrl+t
ctrl+o
半角英数 F10

fn押さなくてもファンクションキーが使えるようにする

いちいちfnを押さないとF7でカタカナ変換とかできないのは不便なので設定変更。

  • 環境設定 > キーボード > F1、F2などのキー...をチェック
    スクリーンショット 2018-08-05 12.17.32.png

キーのリピートを最速に

リピートで文字を入力することはほぼないけれど、Backspaceで消すときやカーソルを矢印キーやctrl+fとかで移動するときも早い方が良いので最速に設定する。
スクリーンショット 2018-08-05 12.23.01.png

設定項目とその説明は以下の通り。

項目 内容
キーのリピート リピートしている時の入力速度。早いとタタタタッと入力される。
リピート入力認識までの時間 キーを押しっぱなしにしてからリピートが始まるまでの時間。

Terminal周り

Terminalの色をIcebergにする

以下のサイトを参考に実施
https://cocopon.me/blog/2014/04/iceberg-for-terminalapp/

  1. 以下のサイトからIceberg for macOSをダウンロード

  2. Treminal > 環境設定 > プロファイル > 歯車アイコン > 読み込むでさっきダウンロードしたファイルを選択
    スクリーンショット 2018-08-05 12.07.15.png

  3. Icebergが追加されているのでそれを選択した状態で左下の「デフォルト」をクリック。これでIcebergがデフォルトで適用されるようになる。
    スクリーンショット 2018-08-05 13.03.57.png

exitしたらウィンドウを閉じるようにする

exitしてもウィンドウが残るが好きじゃないので設定変更。

  • terminalの環境設定 > プロファイル > シェル > シェルの終了時を「シェルが正常に終了した場合は閉じる」に変更
    スクリーンショット 2018-08-05 13.03.17.png

シェルの設定

ログインシェルをzshにする

デフォルトでzshはインストールされているので以下のコマンドで変更

chsh -s /bin/zsh

.zshrcを設定する

少し凝ったzshrcを拝借。色つけ、補完機能、プロンプトを複数行にして見やすくといったことをしてくれる。とてもGOOD。

# 少し凝った zshrc
# License : MIT
# http://mollifier.mit-license.org/

########################################
# 環境変数
export LANG=ja_JP.UTF-8


# 色を使用出来るようにする
autoload -Uz colors
colors

# emacs 風キーバインドにする
bindkey -e

# ヒストリの設定
HISTFILE=~/.zsh_history
HISTSIZE=1000000
SAVEHIST=1000000

# プロンプト
# 1行表示
# PROMPT="%~ %# "
# 2行表示
PROMPT="%{${fg[green]}%}[%n@%m]%{${reset_color}%} %~
%# "


# 単語の区切り文字を指定する
autoload -Uz select-word-style
select-word-style default
# ここで指定した文字は単語区切りとみなされる
# / も区切りと扱うので、^W でディレクトリ1つ分を削除できる
zstyle ':zle:*' word-chars " /=;@:{},|"
zstyle ':zle:*' word-style unspecified

########################################
# 補完
# 補完機能を有効にする
autoload -Uz compinit
compinit

# 補完で小文字でも大文字にマッチさせる
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'

# ../ の後は今いるディレクトリを補完しない
zstyle ':completion:*' ignore-parents parent pwd ..

# sudo の後ろでコマンド名を補完する
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin \
                   /usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin

# ps コマンドのプロセス名補完
zstyle ':completion:*:processes' command 'ps x -o pid,s,args'


########################################
# vcs_info
autoload -Uz vcs_info
autoload -Uz add-zsh-hook

zstyle ':vcs_info:*' formats '%F{green}(%s)-[%b]%f'
zstyle ':vcs_info:*' actionformats '%F{red}(%s)-[%b|%a]%f'

function _update_vcs_info_msg() {
    LANG=en_US.UTF-8 vcs_info
    RPROMPT="${vcs_info_msg_0_}"
}
add-zsh-hook precmd _update_vcs_info_msg


########################################
# オプション
# 日本語ファイル名を表示可能にする
setopt print_eight_bit

# beep を無効にする
setopt no_beep

# フローコントロールを無効にする
setopt no_flow_control

# Ctrl+Dでzshを終了しない
setopt ignore_eof

# '#' 以降をコメントとして扱う
setopt interactive_comments

# ディレクトリ名だけでcdする
setopt auto_cd

# cd したら自動的にpushdする
setopt auto_pushd
# 重複したディレクトリを追加しない
setopt pushd_ignore_dups

# 同時に起動したzshの間でヒストリを共有する
setopt share_history

# 同じコマンドをヒストリに残さない
setopt hist_ignore_all_dups

# スペースから始まるコマンド行はヒストリに残さない
setopt hist_ignore_space

# ヒストリに保存するときに余分なスペースを削除する
setopt hist_reduce_blanks

# 高機能なワイルドカード展開を使用する
setopt extended_glob

########################################
# キーバインド

# ^R で履歴検索をするときに * でワイルドカードを使用出来るようにする
bindkey '^R' history-incremental-pattern-search-backward

########################################
# エイリアス

alias la='ls -a'
alias ll='ls -l'

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

alias mkdir='mkdir -p'

# sudo の後のコマンドでエイリアスを有効にする
alias sudo='sudo '

# グローバルエイリアス
alias -g L='| less'
alias -g G='| grep'

# C で標準出力をクリップボードにコピーする
# mollifier delta blog : http://mollifier.hatenablog.com/entry/20100317/p1
if which pbcopy >/dev/null 2>&1 ; then
    # Mac
    alias -g C='| pbcopy'
elif which xsel >/dev/null 2>&1 ; then
    # Linux
    alias -g C='| xsel --input --clipboard'
elif which putclip >/dev/null 2>&1 ; then
    # Cygwin
    alias -g C='| putclip'
fi



########################################
# OS 別の設定
case ${OSTYPE} in
    darwin*)
        #Mac用の設定
        export CLICOLOR=1
        alias ls='ls -G -F'
        ;;
    linux*)
        #Linux用の設定
        alias ls='ls -F --color=auto'
        ;;
esac

# vim:set ft=zsh:

プロンプト複数行とはこんなイメージ(ユーザ名:hoge,コンピュータ名:hogenoMacBook、カレントディレクトリ: ~、の状態)。カレントディレクトリが深くなるとコマンド打つスペースが狭くなるのを防げる。

# 普通のプロンプト
hogenoMacBook% 
# 複数行のプロンプト
[hoge@hogenoMacBook] ~
% 

.zshrcを設定してから改めてterminalを開くと以下が出てきた。なぜこのタイミングでこのダイアログが出るのかはわからないが、今後gitは使うのでとりあえずインストールした。
スクリーンショット 2018-08-05 12.43.50.png

今後について

データサイエンスの勉強もやっていきたいのでpython3やその他必要なモジュールをインストールしていきます。続きはMacの初期セットアップメモ(2)へ。

14
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?