27
29

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.

iTerm2を卒業してAlacritty+tmuxに挑んでみた

Last updated at Posted at 2018-10-04

最近iTermが重かったのでこの記事を読んでAlacrittyにチャレンジしてみる
いい機会だから今までちゃんと触ったことがなかったtmuxにもチャンレジしてみる

Alacritty

インストール

公式の方法で何故かちゃんとインストール出来なかったのでHomebrewでインストールした

brew tap mscharley/homebrew
brew install --HEAD alacritty

フォントのインストール

iTermでも使ってたFiraCodeを使うことにした
かなり昔にインストールしたから覚えて無いけど多分これでインストール出来る・・・はず

brew tap caskroom/fonts
brew cask install font-fira-code

設定

XDG_CONFIG_HOMEにAlacrittyのコンフィグファイルが出来ているのでそれを修正する
といってもフォントとサイズぐらいしか触ってない

$XDG_CONFIG_HOME/alacritty/alacritty.yml
  # Font configuration (changes require restart)
  font:
    # The normal (roman) font face to use.
    normal:
-     family: Menlo
+     family: Fira Code
      # Style can be specified to pick a specific face.
      # style: Regular

    # The bold font face
    bold:
-     family: Menlo
+     family: Fira Code
      # Style can be specified to pick a specific face.
      # style: Bold

    # The italic font face
    italic:
-     family: Menlo
+     family: Fira Code
      # Style can be specified to pick a specific face.
      # style: Italic

tmux

Alacrittyにはウィンドウやスクリーンの分割機能がないのでtmuxを利用する

インストール

brew install tmux
brew install reattach-to-user-namespace # クリップボード共有のために追加

設定

XDG_CONFIG_HOMEに設定ファイル置きたかったので、zshのaliasで対応

$XDG_CONFIG_HOME/zsh/.zalias
# tmux
alias tmux="tmux -f $XDG_CONFIG_HOME/tmux/tmux.conf"

tmuxの設定は大体このサイトのをパクリスペクトしたのでこんな感じ

$XDG_CONFIG_HOME/tmux/tmux.conf
# ウィンドウのインデックスを1から始める
set -g base-index 1

# ペインのインデックスを1から始める
setw -g pane-base-index 1

# マウス操作を有効にする
setw -g mouse on

# 256色端末を使用する
set -g default-terminal "screen-256color"

# ステータスバーの色を設定する
set -g status-fg white
set -g status-bg black

# ウィンドウリストの色を設定する
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
# アクティブなウィンドウを目立たせる
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright

# ペインボーダーの色を設定する
set -g pane-border-fg green
set -g pane-border-bg black
# アクティブなペインを目立たせる
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow

# コマンドラインの色を設定する
set -g message-fg white
set -g message-bg black
set -g message-attr bright

# ステータスバーを設定する
## 左パネルを設定する
set -g status-left-length 40
set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
## 右パネルを設定する
set -g status-right "#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 60
## ウィンドウリストの位置を中心寄せにする
set -g status-justify centre
## ヴィジュアルノーティフィケーションを有効にする
setw -g monitor-activity on
set -g visual-activity on
## ステータスバーを上部に表示する
set -g status-position top

# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
## クリップボード共有を有効にする
set-option -g default-command "reattach-to-user-namespace -l zsh"

しばらくはtmux自体に慣れるためにデフォルトキーバインドで使いたいと思う

※ 2018/10/16 追記

しばらくtmuxのデフォルトキーバインドで使っていたがどうしても使いづらい部分とかを修正したので追記しておく。

まずはプリフィックスの変更。Vimmerなので、Ctrl+bはVimで使っているため

tmux.conf
# Vimmerなので Ctrl + b は使用しているため、プリフィックスを Ctrl + g に変更する
set -g prefix C-g
unbind-key C-b
bind-key C-g send-prefix

同僚に教えてもらったおすすめ設定を追加。カレントディレクトリの引き継ぎは非常に助かってる。

tmux.conf
# Escをプロセスに渡す時間を 0 ms にする
set -g escape-time 0

# ウィンドウのインデックスのリナンバーを有効にする
set -g renumber-windows on

# ペイン分割
## 垂直分割 + カレントディレクトリを引き継ぐ
bind % split-window -h -c "#{pane_current_path}"
## 水平分割 + カレントディレクトリを引き継ぐ
bind '"' split-window -v -c "#{pane_current_path}"
 # ウィンドウ作成時にカレントディレクトリを引き継ぐ
bind-key -T prefix c new-window -c "#{pane_current_path}"

あとはやっぱりVimのキーバインドでペイン移動が出来たほうがありがたいので追加

tmux.conf
# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

tmuxのcopy-modeの使い勝手が悪かったので、マウス操作周りで以下の設定を追加

tmux.conf
# マウスで範囲選択終了時にcopy-modeを終了しない
unbind -T copy-mode-vi MouseDragEnd1Pane
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe "reattach-to-user-namespace pbcopy"
bind-key -T copy-mode-vi y send-keys -X copy-pipe "reattach-to-user-namespace pbcopy"

以上、今のところはこれでほぼ問題なく使えてる。

他におすすめの設定があれば教えてください

27
29
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
27
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?