日記(日記とは言っていない)

https://zenn.dev/23prime に移行しました。

Ubuntu で Guake + Zsh + tmux + Prezto するメモ

シェル周りがゴッチャゴチャなのでまとめておきます.

↓ この辺を使っています.

OS

Ubuntu 18.04.2 LTS

Guake

guake-project.org

Guake Terminal は,プルダウン型のターミナルエミュレータです.

設定で変えられる部分も多いですが,使い方としては

  • ワークスペースを切り替えてもひっついてくる
  • キー1つで 表示 / 非表示 の切り替え
  • 基本フルスクリーン(後の tmux の機能で画面分割)

なお,手元のバージョンは 3.0.5 です.

インストール

公式のインストール方法 に従ってインストールできます.
最新版を入れたければソースからビルドすればよいですが,面倒なときは Ubuntu であれば,

$ sudo apt install guake

で入ります.

設定

Guake Terminal 上で右クリックか,アプリの中を guake でサーチするか,

$ guake --preferences

を打つとかで GUI で設定を起動できます.

表示 / 非表示トグルの設定

デフォルトでは, F12 キーで表示 / 非表示の切り替えを行うことができますが, そんな僻地にあるキーを頻繁に使うのは面倒です.

そこで,弊機 ThinkPad X260 の右 Alt と 右 Ctrl の間にあるクソ邪魔 PrtSc キーを使うときがやってきます.
Keyboard shortcutsToggle Guake visibilityPrint に当てます.

f:id:prime23:20190222163014p:plain

フォントの設定

Appearamce から Font: を選んで指定します.

f:id:prime23:20190222161541p:plain

エディタ等でも使っている Ricty Dimished にしておきます.

自動起動の設定

どうせ使うので,ログイン時に自動起動させるようにします.

Xfce デスクトップ環境を使っているため, 設定マネージャーセッションと起動自動開始アプリケーション に Guake を追加します. スマン f:id:prime23:20190222163540p:plain

Zsh

言わずと知れた強力なシェル.

www.zsh.org

インストール

Ubuntu には apt で入ります.

$ sudo apt install zsh

設定

ログインシェルの変更

ログインシェル(要はデフォルトのシェル)を Zsh に変更します.
chsh コマンドが使えます.

$ chsh -s `which zsh`

と打つとパスワードを要求されるので,入れます.

その他

~/.zshrc~/.zshenv に色々書きます.
気が向いたら詳細を書くかも…

tmux

github.com

tmux は,ターミナル・マルチプレクサ(terminal multiplexer)というやつです.

元々リモートでのセッション維持を目的として使い始めたのですが,なんだかんだ便利なので手元でも使うようになりました.

セッションの attach / detach の他,画面分割なんかもできます.

インストール

GitHub リポジトリ のソースからビルドしてもいいですが,これも面倒なので apt で入れます.

$ sudo apt install tmux

インストールが完了したら,

$ tmux

で実行できます.
まぁどうせ自動起動させるのでターミナルで直接 tmux と打つことは基本的にないです.

設定

~/.tmux.conf を(無ければ)作成し,そこに色々書きます.

私の設定はこちら

使用や設定に際して,この辺が参考になりました.

qiita.com

fzf

github.com

fzf は fuzzy finder の略で,その名の通り曖昧検索ツールです.
peco のみたいなものです.

使い方やインストール方法は公式に詳しくありますが,日本語の記事ではこちら参考になりました.

wonderwall.hatenablog.com

本当は fzf-tmux というコマンドを使えて,ctrl + r の履歴を別ペインで開いたりできるのですが,逆に視線が飛ぶのがアレなので今回は利用しません.

インストール

公式に従い,

$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
$ ~/.fzf/install

で入ります.

途中の質問に対しては基本 yes にしといて問題ないでしょう.

tmuximum

先程のチートシートを見ると,セッション管理が結構ダルい感じがします.
そこで,tmuximum を導入します.

qiita.com

実際は,これをちょっとだけ改造して使っています.

github.com

具体的には,

  • 新しいセッション起動時に,最初から画面を3分割する.
  • セッションリストの並び順を変更.
  • セッションリストを画面上方に表示する.

のように書き換えています.

インストール

何でもいいのですが,とにかく tmuximum をパスの通ったところに置けばおkです.

$ git clone git@github.com:23prime/tmuximum.git

とかして,.zshenvtmuximum までのパスを記述します.
Zsh では path という変数の配列にパスを追加してやればいいので,fzf も含めて次のようにします.

path=(
  <path to>/.fzf/bin(N-/)
  <path to>/tmuximum(N-/)
  $path
)

他の色々なパスもこの中に書いてしまいます.

設定

Zsh 起動時に勝手に tmuximum を開始するため,.zshrc に次のように書いておきます.

if [ -z $TMUX ]; then
  tmuximum
fi

Prezto

ここまでやればもうだいぶいい感じなのですが,最後にテーマを弄くるため Prezto を利用します.

github.com

インストール

基本的には公式の通りですが,.zshrc 等をこの配下に置いているため,先に Fork しておきます.

あと,既存の設定ファイルをバックアップしておく等するとベターでしょう.

$ zsh #  既に Zsh に入っていればやらなくていい
$ git clone --recursive git@github.com:23prime/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

設定

使用できるテーマは

$ prompt -p

で確認できます. いい感じのテーマがあれば,テーマ名を .zpreztorc に書きます.

zstyle ':prezto:module:prompt' theme '<theme name>'

こんな感じに設定しています.

まとめ

いかがでしたか?(テンプレ)