LoginSignup
9
7

More than 5 years have passed since last update.

半角 border パッチがあたった tmux 2.3 を MacPorts で入れて wcwidth-cjk と一緒に使う

Last updated at Posted at 2016-11-15

インストール

MacPortsでtmux 2.3をインストール.
borderをasciiにするpatchだけあてます.

sudo port uninstall tmux-pasteboard
sudo port uninstall tmux
sudo port clean tmux
sudo port -s patch tmux
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_tmux/tmux/work/tmux-2.3
curl -kL "https://raw.githubusercontent.com/silenvx/PKGBUILD/master/tmux/borders.patch" | sudo patch -p1
cd -
sudo port -s install tmux
sudo port install tmux-pasteboard

tmuxは2.2以降,wcwidthで文字幅を見るようになっているので,ambiguous widthの扱いが可能な,wcwidth-cjkを使うことに.
ただ,以下のような改変をしたバージョンを使います.

  • 最新のwcwidth-cjkは,autotoolsを使うようになっているのですが,osx環境でbuildすると,dylibファイルが作られないので,autotools導入前のMakefileをベースにしたMakefile.osxを作りました.
  • wcwidth.cにおいて,__APPLE__環境では濁点と半濁点を含めないようにしました.

では,インストールします.

git clone https://github.com/river24/wcwidth-cjk.git
cd wcwidth-cjk
git checkout osx
make -f Makefile.osx
sudo make -f Makefile.osx install

では,wcwidth-cjkを使ってtmuxを起動します.

/usr/local/bin/wcwidth-cjk /opt/local/bin/tmux

無事,tmux 2.3に移行できました.


追記:濁点・半濁点の件について

濁点と半濁点の対応をしないと,以下のようになります.

$ /opt/local/bin/tmux -V
tmux 2.3
$ /usr/local/bin/wcwidth-cjk /opt/local/bin/tmux
$ mkdir $ mkdir $ mkdir $ ls -al
total 0
drwxr-xr-x   5 river24  staff  170 Nov 16 19:33 .
drwxr-xr-x@ 22 river24  staff  748 Nov 14 12:49 ..
drwxr-xr-x   2 river24  staff   68 Nov 16 19:30 は
drwxr-xr-x   2 river24  staff   68 Nov 16 19:30 は
drwxr-xr-x   2 river24  staff   68 Nov 16 19:30 は

濁点と半濁点の対応をすると,以下のようになります.

$ /opt/local/bin/tmux -V
tmux 2.3
$ /usr/local/bin/wcwidth-cjk /opt/local/bin/tmux
$ mkdir $ mkdir $ mkdir $ ls -al
total 0
drwxr-xr-x   5 river24  staff  170 Nov 16 19:35 .
drwxr-xr-x@ 22 river24  staff  748 Nov 14 12:49 ..
drwxr-xr-x   2 river24  staff   68 Nov 16 19:35 は
drwxr-xr-x   2 river24  staff   68 Nov 16 19:35 ば
drwxr-xr-x   2 river24  staff   68 Nov 16 19:35 ぱ

以前はtmuxそのものに,濁点・半濁点の対応をするpatchをあてていましたが,tmux 2.2以降ではwcwidthで文字幅を見るようになったので,濁点・半濁点の対応もwcwidth側でするのが適切ではないかと思ったので,wcwidth-cjk側で対応するようにしました.

9
7
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
9
7