terminator + fish + fishermanの導入
投稿日:
■環境
Linux Mint 19.1 “Tessa” - MATE (64-bit)
ubuntu 19.10
※以降のaptコマンドはUbuntuの場合はsudoを付けてください。
terminatorインストール
terminatorをインストールします。
apt install terminator
(※2019年11月追記)
Terminatorもいいですが、Tilixというターミナルも良いです。
詳しくは↓こちら↓
Linux用ターミナル『Tilix』
fishインストール
fishをインストールします。
apt install fish
インストール後、反映するため一度ログアウトします。
なお、Terminatorはデフォルトのウィンドウサイズが微妙なので変更した方が良いです。
Terminatorのデフォルトサイズを変更する
fishをデフォルトシェルに設定
$ grep fish /etc/shells
/usr/bin/fish ←表示されなかったら`which fish`の結果を/etc/shellsに追記する
$ chsh -s /usr/bin/fish
fishermanのインストール
fishermanというfishのプラグイン管理ツールがあります。
fishermanのgithubベージにインストールコマンドが載っています。
https://github.com/fisherman/fisherman
$ curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
$ fisher -v
fisher version 3.1.1 ~/.config/fish/functions/fisher.fish
※fisher -v
でバージョンが出ない場合は、一回ターミナルを開き直してください。
テーマの変更
fishはテーマを変更することで見栄えが変えられます。
どのようなテーマがあるかは、以下ページが参考になります。
https://github.com/oh-my-fish/oh-my-fish/blob/master/docs/Themes.md
私は「bobthefish」というテーマを利用しており、以下手順でインストールしています。
$ fisher install oh-my-fish/theme-bobthefish # fisherのバージョンによってはfisher installではなくfisher add
bobthefishではPowerLineのフォントが必要なので、そちらもインストールします。
2020/09/02追記
windows terminalでは下記のコマンドでインストールしたフォントが上手く使えませんでした。
Cascadia Codeというフォントをインストールしてください。
https://docs.microsoft.com/ja-jp/windows/terminal/cascadia-code
ダウンロードしたttfファイルを右クリックからインストールすると使えるようになります。
$ git clone https://github.com/powerline/fonts.git
$ fonts/install.sh
$ rm -rf fonts
上記コマンド実施後、ターミナルアプリの設定でインストールしたフォントを指定してください。
terminatorであればターミナル上で右クリックをして「設定」を開き、
「プロファイル>一般>Font」にてフォントを「○○○ for Powerline」のどれかに変更してください。
フォントを変更できない場合は「システムの固定幅フォントを使う」のチェックを外してください。
個人的には「Meslo LG M for Powerline」が好きです。
その他プラグイン
fishermanを使って他にも様々なプラグインをインストールできます。
■peco
pecoをインストールします。
(ubuntuの場合はaptの前にsudoを付けてください)
apt install peco
fisher install oh-my-fish/plugin-peco
インストール後、fishのコンフィグファイル(~/.config/fish/config.fish)へ以下のように記載します。
fishのコンフィグファイルが存在しない場合は新規作成してください。
function fish_user_key_bindings
bind \cr 'peco_select_history (commandline -b)' # peco
end
【使い方】
「Ctrl + R」でコマンド履歴検索画面が開きます。
検索画面では直近のコマンドから選択することもできますし、文字列を入力すれば該当の文字列を含むコマンド履歴に絞ることもできます。
■ghq
まずgolangをインストールします。
※2020年7月追記
Linux Mint 20ではapt install golang
だけで大丈夫です。
※2020年3月追記
デフォルトでインストールできるgolangのバージョンはLinux Mintは1.10,Ubuntuは1.12なのですが(2020年3月現在)
ver.1.12ではghqインストール時にエラーが出てしまうので新バージョンのgolangを取得できるようにします。GitHubのgolangのwikiを見て作業します。
https://github.com/golang/go/wiki/Ubuntu2020年3月現在の手順は以下の通りでした。
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go
インストールが完了したらgoの設定をします。
echo 'set -x GOPATH $HOME/go' >> ~/.config/fish/config.fish
echo 'set -x PATH $GOPATH/bin $PATH' >> ~/.config/fish/config.fish
mkdir -p ~/go/bin
source ~/.config/fish/config.fish
続いてghqをインストールします。
ghqのfisherman用リポジトリは元々yoshiori/fish-peco_select_ghq_repository
なのですが
そちらだとgitリポジトリ遷移時にシェルが多重で開くようになってしまったので
シェルが多重で開かない版を自分のリポジトリ(mildjester/fish-peco_select_ghq_repository
)に用意してあります。
※yoshioriさんのソースに不具合があるのではなく、あるべき形になったらLinux系のシェル(?)と相性が悪くなっただけだと思います。
go get github.com/motemen/ghq
fisher install mildjester/fish-peco_select_ghq_repository
インストール後、fishのコンフィグファイル(~/.config/fish/config.fish)へ以下のように記載します。
上記のpecoの設定に追記する前提としています。
function fish_user_key_bindings
bind \cr 'peco_select_history (commandline -b)' # peco
bind \c] peco_select_ghq_repository # ghq
end
【使い方】
ghq get {gitリポジトリURL}
コマンドで新規gitリポジトリをローカルに取得します。
(git clone
をghq get
に置き換えるだけ)
「Ctrl + ]」でghqで管理しているgitリポジトリを選択してディレクトリへ移動できます。
デフォルトではghq get
で取得したリポジトリは~/ghq
配下に格納されるのですが
~/.gitconfig
に以下を記載しておくと任意の階層に格納するよう変更できます。
[ghq]
root = 好きなディレクトリ