Powerlevel10kを用いてmacのターミナルをいじってみた
はじめに
このページは琉球大学知能情報アドベントカレンダー Advent Calendar 2023の12月16日の記事です!
macのターミナルはデフォルトの見た目だとこのようになっていて、これはこれで落ち着くのですが、ちょっと物足りない気もします、、、
そこで今回は下のようにターミナルの見た目をカッコよくしていきたいと思います。
環境
以下の環境を想定します。
Icebergの設定
Iceberg は、Vim および NeoVim 向けに、うまくデザインされた目に優しいダークブルーの配色です。 IcebergにはTerminal(iTerm2)版もあるのでそれを設定していきます。
Terminalの場合
公式ページの一番下にあるIceberg for macOS
をダウンロードする。
ターミナルを起動し、上のメニューバーからターミナル>設定>プロファイル
を開き、左下の◯の中に3つの点があるボタンを押して読み込む
を選択します。
そして、先程ダウンロードした設定ファイルをインポートし、デフォルトのプロファイルに設定します。
iTerm2の場合
iTerm2用に移植されたこちらを使用します。 以下のコマンドを実行して設定ファイルをダウンロードします。
curl -O https://raw.githubusercontent.com/Arc0re/Iceberg-iTerm2/master/iceberg.itermcolors
iTerm2を起動し、メニューバーからiTerm2>Settings>Profiles>Colors
を開きます。
右下のColor Presets
のボタンを押して、import
から先程ダウンロードしたファイルを指定します。
Sheldonの導入
SheldonはRust製のプラグインマネージャーでzshやBashに対応しています。
シェルのプラグインマネージャーにこだわりは無いのですが、README曰く高速とのことなので、今回はSheldonを使用していきます。 まず、homebrewでSheldonをインストールします。
brew install sheldon
次に、Sheldonの設定ファイルを生成します。下のコマンドを実行すると~/.config/sheldon/plugins.toml
が自動で生成されます。(~/.configフォルダがない場合は先に作っておいてください)
sheldon init --shell zsh
~/.zshrc
に以下を追記します。
eval "$(sheldon source)"
Powerlevel10kのセットアップ
Powerlevel10kはzshのテーマで、プロンプトをカスタマイズできます。
フォントの追加
通常のフォントだとアイコン等が文字化けしてしまうため、こちらの手順に従い専用フォントをターミナル(iTerm2)に適用してください。(Nerd Fontsだったらなんでもいいっぽい)
powerlevel10kのインストール
~/.config/sheldon/plugins.toml
(Sheldonの設定ファイル)に以下を追記します。
[plugins.powerlevel10k] github = "romkatv/powerlevel10k"
その後、以下のコマンドで~/.zshrc
を読み込み、powerlevel10kをインストールします。
source ~/.zshrc
以下のようなウィザードが表示されるので、設定を行っていきましょう。
- オススメ設定
- Prompt Style → (3) Rainbow.
- プロンプトの背景色を変えたいなら必須
- Prompt Height → (2) Two lines.
- プロンプトが長い場合はコマンドがすぐに折り返すので、2行に分けた方がいい
- Prompt Frame → (1) No frame. or (2) Left.
- 右側にフレームがあるとコマンドと出力をコピペする際に面倒くさい
- Prompt Spacing → (2) Sparse.
- Enable Transient Prompt? → (n) No.
- Yesを選ぶと現在のプロンプトだけが表示されるので、かっこよさという観点からするとNoを選んだほうが良い
- Prompt Style → (3) Rainbow.
色の変更
~/.p10k.zsh
を書き換えることで、プロンプトの色等を変更することができます。
使用できる色は0~255までの256種類あり、以下のコマンドで確認することができます。
for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
以下は冒頭で紹介した改造したターミナル
の図の設定例です。(ウィザードでPrompt Style → (3) Rainbow.
以外を選択した場合、設定項目が~/.p10k.zsh
に存在していないことがあります)
- git関連
- ディレクトリ関連
- POWERLEVEL9K_DIR_BACKGROUND=37
- POWERLEVEL9K_DIR_FOREGROUND=254
- POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
- カレントディレクトリのみを表示する
- POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=254
- アイコン関連
- POWERLEVEL9K_OS_ICON_FOREGROUND=254
- POWERLEVEL9K_OS_ICON_BACKGROUND=240
- condaの仮想環境の表示
- POWERLEVEL9K_ANACONDA_FOREGROUND=254
- POWERLEVEL9K_ANACONDA_BACKGROUND=37
- 時間関連
- POWERLEVEL9K_TIME_FOREGROUND=254
- POWERLEVEL9K_TIME_BACKGROUND=240
注意するところ
テキストのコントラストを最小にする
テキストのコントラストが大きいと以下の図のように、プロンプトの頭や尻尾の部分だけ色が若干合いません。
そのためコントラストを最小に設定します。しかし、はじめに述べた通りmacのターミナルだとこちらの設定ができません。このためiTerm2での環境構築を推奨しています。*2
iTerm2を起動し、メニューバーからiTerm2>Settings>Profiles>Colors
でMinimum Contrast
を0に設定してください。
画面を半透明にしない
Minimum Contrast
を0に設定していたとしても、画面を半透明にすると以下の図のようにプロンプトの頭や尻尾の部分だけ色が若干合わなくなります。
※こちらは調べたところ参考になりそうな情報がありませんでした。
※半透明にしながらプロンプトの色も変わらない方法を知っている方がいれば教えてください!
フォントサイズを変えてみる
フォントサイズによっては以下の図のようにプロンプトの形が崩れることがあります。*3 以下はフォントサイズが12の場合です。 これはフォントサイズを変更すると解消する場合があります。 私の環境ではフォントサイズを13に設定することで形が綺麗になりました。
参考にしたページ
知能情報へのコース変更についてまとめてみた
注意
この記事は私の体験と執筆時(2023年2月)に琉大教務情報HPから見れる資料をもとに作成したため情報が古くなる可能性があります。正確な情報が知りたい場合は、年次指導教員や工学部の事務室へ確認してください。
対象読者
- 知能情報へのコース変更を考えている人
コース変更とは
琉球大学工学部では2年次から別のコースへ移動できる制度があります。
概要は「琉球大学 教務情報->学生便覧->工学部->コース配属の確定に関する申し合わせ」 から確認できます。
以下のリンクは 令和4年度のものです。
知能情報コースへの変更
コース変更の中でも知能情報コースへの変更は、そこそこ難易度が高いと思われます。
理由としては以下の2つが挙げられます。
- 移動希望者が多い
- 評価項目が多い
1年前期の「キャリアデザイン入門」の最後でコース配属アンケートをやると思います。私の年では、他コースへの移動希望者が各5名前後なのに対し、知能情報コースへの変更を希望する学生は約40名ほどいました。
また、他コースへの移動では評価項目が3~4つなのに対し、知能情報コースは5つありました。
評価方法
知能情報コースの評価項目は以下の5点です。
(※これらは私がコース変更したときの話なので変更される可能性があります)
- GTEC
- EMaT
- GPA
- 志望理由書
- 面接
各項目について少しだけ説明します。
GTEC
GTECとはベネッセが行っている英語の4技能テストです。
琉大では「大学英語」履修者の統一試験としてGTECが行われています。
今年度は8月10日に開催されたようです。
(カレンダーでは「英語全学統一テスト 」と書かれています。)
私のときは、GTECを使わず「大学英語」の成績を用いました。
EMaT
EMaTとは工学系数学統一試験のことです。私のときはEMaTか「工業数学1」の成績のどちらかを使うことができました。
GPA
GPAとは成績評価を数値にしたものです。以下のURLから琉球大学のGPA算出方法が確認できます。
https://rais.skr.u-ryukyu.ac.jp/wordpress/wp-content/uploads/2022/03/R4GPA.pdf
0.0~4.0の間で、高ければ高いほど有利です。
志望理由書
志望理由書は「コース配属の確定に関する申合せ」の3ページ目です。
面接
面接は2月の中旬に行われました。
一番配点が高いです。
面接について
おそらく、コース変更の一番の難関は面接だと思います。
複数の教授に囲まれて質問攻めに合いました。
私が面接において重要だと感じているのは以下の2点です。
- 志望理由をはっきりさせておく
- 面接で話すネタを作っておく
志望理由をはっきりさせておく
志望理由書を作る段階から色々突っ込まれても大丈夫なように整理しておきましょう。
「プログラミングを学びたいからです!」みたいな理由だと少し弱いと思います。(みんな思いつく)
面接で話すネタを作っておく
私のときは、「プログラミングしたことはあるか?」「なにか作った経験はあるか?」などの質問がきたので、そういった質問に答えられるように話題作りをしておきましょう。
プログラムを組んでなにかを作るみたいな経験をしてたほうがいいかも(小さいものでも話のネタになる)
スケジュール
年によって結構変わると思うので、年次指導教員や工学部の事務室に確認してください。GTECやEMaTの日時は学年暦や各HPで予め確認しておくことをおすすめします。(直前で知っても対策できないから)
コツ
- お知らせ(メール等)をちゃんと確認する
- アンケートの人数にびびらない(実際に面接に来る人は少ない)
- 面接で話すネタを作っておく
この記事を書いた理由
- コース変更の詳細が発表されるのが遅く(自分のときは1年後期に入ってから)、対策しづらいから。
- 詳しい情報を得るためには、先輩に聞くしかなくコミュ力勝負になってしまうから。
まとめ
ということで知能情報へのコース変更についてまとめてみました!
私もコース変更して良かったと心から思っているので、コンピュータやプログラミングに興味がある人は一度検討してみてはいかがでしょうか。
また、何度も注意していますがこの記事は私の体験と執筆時(2023年2月)の琉大教務情報HPから見れる資料をもとに作成したため情報が古くなる可能性があります。正確な情報が知りたいのであれば、年次指導教員や工学部事務室などに聞いてみてください。
以上です。
ここまで読んでいただきありがとうございました!
ABC253振り返り
A問題
与えられた3つの値から中央値を求める問題。median関数を使って解いた。