Terminal環境を整える

概要

Macを購入したのでTerminal環境をいちから整える。

環境

MacOS Mojava 10.14.5

必要最低限するべきこと

コマンドのインストール

Homebrewのインストール

HomeBrewの公式サイトに従い下記コマンドを実行。

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

gitのインストール

$ brew install git

gitはソフトウェア管理に使われます。エンジニアにとって必須ツール。ソフトウェアなんて管理しません!という人にとっても、ソフトウェアをインストールするときによく使われます。gitについて詳しくは↓
君には1時間でGitについて知ってもらう(with VSCode)

wgetのインストール

$ brew install wget

wgetはWeb上のファイルをダウンロードするときに使います。

lsコマンドの表示を変える

デフォルトの設定では、ファイルとディレクトリの区別がつかいないので区別できるように設定する。こんな感じです↓ - before f:id:oosakik:20191004012927p:plain

  • after f:id:oosakik:20191004012945p:plain

ホームディレクトリにある.bashrcに以下を書き込む。なければ作成する。ファイルの編集をするときはvimを使う。使い方はこちら

#alias
alias ls='ls -FG'
alias ll='ls -alFG'

編集後に$ source .bashrc.bashrcを読み込む。するとlsで表示が変わります。

.bash_profileの作成

先ほどと同様にホームディレクトリにある.bash_profileを編集する。なければ作成する。

test -r ~/.bashrc && . ~/.bashrc

上の記述は.bash_profileの最後の行に記入する。これでTerminalを開いたときに.bashrcを自動的に読み込むことができる。これらのファイルは何者なのか。.bash_profileはTerminal起動時に読み込まれる。.bashrcはTerminal起動時に.bash_profileがなければ読み込まれる。紛らわしいね。.bashrc.bash_profileの違いについて↓
本当に正しい .bashrc と .bash_profile の使ひ分け

初めのうちは全て.bash_profileに記述していてもおそらく問題はない。けれども、いづれは使い分けれるようになりたいところ(自分もうまく使い分けられていないが、、、)。

ここからは趣味の範囲です

Terminalのデザイン変更

お前らのターミナルはダサいを参考にしてicebergを導入。

f:id:oosakik:20191004013208p:plain かっこよくなりました。

プロンプト名($手前)の変更

プロンプト名の変更方法は主に2つある。

  1. ホスト名の変更: Mac(OSX)のホスト名変更(GUIとCLI(scutil))
  2. PS1の変更: macターミナル(黒画面)プロンプト名($手前部分) 変更方法 【2019.07】

前者は王道で簡単。後者はトリッキーだが応用の幅が広い。今回は後者の方法で変更する。先ほど同様.bash_profileを編集し読み込む。

PS1="\[\033[36m\]\u:\[\033[00m\]\w\[\033[00m\]\$"

こんな感じになります。 f:id:oosakik:20191004014019p:plain

Update vim

最新のvimをインストールすることでクリップボードが利用可能になる。初心者がvimをインストールするメモを参照した。

  • デフォルトのvimの場所を確認
$ which vim
/usr/bin/vim
  • vimのインストール
$ brew update
$ brew install vim
  • インストールの確認
$ brew list vim
/usr/local/Cellar/vim/8.1.2050/bin/ex
/usr/local/Cellar/vim/8.1.2050/bin/rview
/usr/local/Cellar/vim/8.1.2050/bin/rvim
/usr/local/Cellar/vim/8.1.2050/bin/vi
/usr/local/Cellar/vim/8.1.2050/bin/view
/usr/local/Cellar/vim/8.1.2050/bin/vim
/usr/local/Cellar/vim/8.1.2050/bin/vimdiff
/usr/local/Cellar/vim/8.1.2050/bin/vimtutor
/usr/local/Cellar/vim/8.1.2050/bin/xxd
/usr/local/Cellar/vim/8.1.2050/share/man/ (153 files)
/usr/local/Cellar/vim/8.1.2050/share/vim/ (1697 files)
  • .bash_profileを編集しパスを通す
export PATH="/usr/local/Cellar/vim/8.1.2050/bin/:$PATH"

.bash_profileの読み込み

$ source .bash_profile
  • パスの確認
$ which vim
/usr/local/Cellar/vim/8.1.2050/bin//vim
  • clipboardへの対応確認
$ vim --version | grep clipboard
+clipboard         +keymap            +printer           +vertsplit
+emacs_tags        -mouse_gpm         -sun_workshop      -xterm_clipboard

上記のように+clipboardとなっていればOK。 これでクリップボードを貼り付けることができる。 しかし、ヤンクしたものがクリップボードに反映されるわけではない。 細かな設定を行うために.vimrcを作成する。 何も考えず~/.vimrcにこれを書くんだ!~vim初心者によるvim初心者のためのvim入門~を参考にした。

以下を記入(参考URLとは少し違う内容)。

" setting
"文字コードをUFT-8に設定
set fenc=utf-8
" バックアップファイルを作らない
set nobackup
" スワップファイルを作らない
set noswapfile
" 編集中のファイルが変更されたら自動で読み直す
set autoread
" バッファが編集中でもその他のファイルを開けるように
set hidden
" 入力中のコマンドをステータスに表示する
set showcmd


" 見た目系
" 括弧入力時の対応する括弧を表示
set showmatch
" ステータスラインを常に表示
set laststatus=2
" 文法に合わせて色を付ける
syntax enable

" Tab系
" 不可視文字を可視化(タブが「▸-」と表示される)
set list listchars=tab:\▸\-
" Tab文字を半角スペースにする
set expandtab
" 行頭以外のTab文字の表示幅(スペースいくつ分)
set tabstop=4
" 行頭でのTab文字の表示幅
set shiftwidth=4


" 検索系
" 検索文字列が小文字の場合は大文字小文字を区別なく検索する
set ignorecase
" 検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
" 検索文字列入力時に順次対象文字列にヒットさせる
set incsearch
" 検索時に最後まで行ったら最初に戻る
set wrapscan
" 検索語をハイライト表示
set hlsearch

" 編集系
" 改行時に前のインデントを引き継ぐ
set autoindent
" 改行時に行末に合わせてインデントを増減する
set smartindent
" Tabキーによる名前補完
set wildmenu
" backspaceaキーの有効化
set backspace=indent,eol,start
" python用
set cinwords=if,elif,else,for,while,try,except,finally,def,class,with

if has('unnamedplus')
    set clipboard& clipboard+=unnamedplus,unnamed
else
    set clipboard& clipboard+=unnamed
endif

おわりに

次回はpythonの環境構築をする予定です。お疲れ様でした。