ノート PC の設定してた
(last update: 2018/01/22)
しばらく書いてなかったな。
先週末にノート PC の OS をインストールしなおしたのでセットアップしてた。
少し前に OS を high Sierra にアップデートしてみたら、Haskell の管理ツール stack
が動かなくなったみたいで、これもよいきっかけと思いクリーンインストールしなおすことにした。
数年前から各種設定ファイルは ~/dotfiles
にまとめて Github で管理しているので、ここから引っ張ってきてちょこちょこと作業すればいいのだけれど、今回は少し変更したいところもあったので設定ファイルを作り直すことにした。
変更したかったのは
- Cask での Emacs パッケージ管理をやめる
- Emacs の設定ファイル
init.el
を分割する $GOPATH
を$HOME/go
ではなく$HOME
にする- zsh はもう使わない、fish だけでよい
- Ruby のインストールもいらないかな
などなど。
Emacs のパッケージ管理
これまでは Cask を使っていた。~/.emacs.d/Cask
というファイルに使いたいパッケージを記入しておくと $ cask install
とコマンド実行するだけで全部インストールしてくれるもの。
これはこれで便利だったけれど、use-package
というパッケージを使えば、elisp のみでパッケージのインストールとその設定をまとめて記述することができて、外部コマンドを導入する必要もなくすっきりするので、変更してみたくなった。
- package.el + use-package で落ち着いた - YAMAGUCHI::weblog
- use-package.el : Emacs の世界的権威が行っている最先端ラクラク init.el 整理術
- use-package|定形のパッケージ設定を短く簡単に記述する! | 今日の実験ノート
use-package
のいいところ
require
したパッケージが入っていなかった場合でもinit.el
の読み込み自体はエラーにならない。:ensure t
と書いておくとそのパッケージをインストールしてくれる- key-bind や add-hook なども簡潔に記述できる
こんな感じ。
;; https://github.com/benma/visual-regexp.el (use-package visual-regexp :ensure t :bind (("M-%" . vr/query-replace)) )
Emacs の設定ファイル分割
分割をやめた方の話も一応。
ag とか ripgrep とか
grep の代替となる高速検索ツール、ag とか名前は聞いたことがあったけれど使っていなかったので今後は活用してみたい。そもそも grep すらあまり使っていないので何かと効率悪いことをしていると思われる。
anything と組み合わせて便利な感じになったりするんだと思う。多分。もしかしたら helm じゃないとだめなのかな。
何ならもう一回、rubikitch 先生の有料メルマガを購読して質問してみるのがいいかもしれない。
- Emacs に ag を入れたら速すぎて捗る - PartyIX
- ag.el : the silver search(ag)の素晴しいインターフェース
- ripgrep.el : 【 ag より、ずっとはやい!!】超音速 grep と Emacs インターフェース(Windows 安心)
- agとptとripgrep,どっちがどうでどれを使えばいいのか調べた予習 - Lambdaカクテル
ripgrep 入れようとしたら
ripgrep 入れようとしたらスムーズにいかなかくて yak shaving 感あったと tweet したら作者の方からバイナリあるよ、とリプライいただいてびっくりした。
素直にダウンロードして /usr/local/bin
に置いておいた。まだ使いこなせていないけれどせっかくだから使いたい。
You can download pre-compiled binaries for Windows, Mac or Linux: https://t.co/mFtDwKBVBG
— Andrew Gallant (@burntsushi5) 2018 年 1 月 18 日
Go の TOML ライブラリの作者として認識していた。すごい人はいろいろすごい。
fish の設定
昨年使い始めてから、もう二度と zsh や bash には戻れないと思わせる、とても便利なシェル fish。
今回は、使いたい関数は config.fish
に直接書けばいいかなと思い、プラグインマネージャー fisherman は入れなかった。実際、ヒストリ検索と ghq 管理下のリポジトリに cd
するやつの 2 つがあれば満足かなと。
って思っていたのだけれど、z
という最近 cd
したディレクトリを列挙してくれるツールが快適そうに思えてきて、やっぱり fisherman 入れようかなと少し揺れているところ。
一回使ってみようかしらん。
そんなこんなで
設定ファイル init.el
の内容を見直しつつ、分割して、書き直していった。一つ一つ調べながらやっていたら、結局一週間かかった。
Github にある既存のリポジトリをいずれ差し替えたいのだけれど、Git の操作に疎いのでひとまず bitbucket に置いた。(公開設定がプライベートになっていたので修正した)
README.md
の更新もだいたい落ち着いたのでようやく一息つけるわ。