Alacrittyの設定について
Alacrittyの設定はコンフィグファイルを編集する以外にないのです。
設定ファイルの保存場所は次の通りです。
$XDG_CONFIG_HOME/alacritty/alacritty.yml
$XDG_CONFIG_HOME/alacritty.yml
$HOME/.config/alacritty/alacritty.yml
$HOME/.alacritty.yml
上から順に探すみたいで、なかった場合には
alacritty.ymlを上記のどこかに勝手に作ってくれます。
Karabinerの設定ファイルのために$HOME/.configがあったので、.configフォルダの中に作ってくれてました。
デフォルトで起動するとこちら
alacrittyを公開しているとこにカラースキームの例がのってて、好きなカラーをコピペしてみる。
さらに、bashと表示されてるけど、なにも使えない状態なので、同じくコンフィグファイルのshellのところを編集しコメントアウトを削除し、同じくフォントを全部GitHub - miiton/Cica: プログラミング用日本語等幅フォント Cica(シカ)にしたらこの通り
bashでログインするときやカラースキームが全然反映されないときは余計なスペースが文頭に入ってないか注意
shell: program: /bin/bash args: - --login
が正解なんだけど
shell: program: /bin/bash args: - --login
になったら駄目だった。何が違うかと言うと最初に空白が全部一文字づつ入ってる。
ようやく環境が揃いはじめてきた。
Alacrittyはスクロールバーが存在しない。これはtmuxの使用を前提としているからとのこと。
次はtmuxのインスールと設定をやるかー。
なんか新しいことやってみたくないすか?(ターミナルソフトのAlacrittyの導入)
と、再インストールするたびに思う訳で、今回は常に使っているiTerm2から別のものを使ってみることに。
ぐぐってみると幾つかでてくるけど、大半がターミナル.appかiTermばかり。
その中で高速になるAlacrittyの話題が。
日本語関係で問題があるようなのですが、ちょいと試してみたいこともあるので、導入してみることに。
Alacrittyのインストール方針
Alacrittyをインストールするための壁がいくつか
いくつかぐぐって失敗したパターン
アプリまで登録できるbrewソース作ったよってパターン
GitHub - mscharley/homebrew-homebrew
$ brew tap mscharley/homebrew-homebrew $ brew install --HEAD mscharley/homebrew/alacritty
で進むんですが、rustのコンパイルで失敗
brewでいけたけど、アプリで登録できない
brewで配布しているrustが駄目みたいで(2018/01/16現在)rustはコマンドからインストール
rustup.rs - The Rust toolchain installer←このページに書いてるようにrustのインストール
alacrittyインストール 備忘録 - replicityの日記参考にしたサイト
$ curl https://sh.rustup.rs -sSf | sh $ source ~/.cargo/env $brew install --HEAD cema-sp/tap/alacritty
これだと問題なくできるけど、一度ターミナルからalacrittyコマンドで起動しないといけない。
しょうがないから、ソースもってきて全部コマンドでやることにした。
$ curl https://sh.rustup.rs -sSf | sh $ source ~/.cargo/env $ git clone https://github.com/jwilm/alacritty.git $ cd alacritty/ $ cargo build --release $ make app
これでAlacritty.appが作成された。
作業したのがhome/data/alacrittyって場所なので./alacritty/target/release/osx/Alacritty.app
が最終的にできあがり。これをコピーすればいい。
起動は確かに速かった。
次はコンフィグについて。
Karabiner-Elements
そろそろ定期的にクリーンインストールをしたい病がでてきたので、OSをインストールしなおすことに。
使っているソフトの関係で、まだsierraなんですけどね。
今までkeyhacにずっとお世話になっていたのですが、Karabiner-Elementsが大分バージョンアップしていたので、戻すことにしました。
設定
いくつかの設定ファイルも公開されていますが……
- SandSで入力を行う。
- 「かな」「英数」をCTRLのようなモディファイヤキーとして使用する。
の2点を実現したいので、自分でjsonファイルを作成します。
作ったのはこちら。
"title": "SandS" "rules": [ { "manipulators": [ { "description": "Change spacebar to left_shift. (Post spacebar if pressed alone)", "from": { "key_code": "spacebar", "modifiers": { "optional": [ "any" ] } }, "to": [ { "key_code": "left_shift" } ], "to_if_alone": [ { "key_code": "spacebar" } ], "type": "basic" } ] } ]
でもって、「英数」キーを押しながらhjklで上下左右にカーソルを動かすvimライクな設定はこちら
{ "title": "Eisu to Modifier", "rules": [ { "description": "Change EISU to Modifier", "manipulators": [ { "type": "basic", "from": { "key_code": "h", "modifiers":{ "optional": [ "any" ] } }, "to": [ { "key_code": "left_arrow" } ], "conditions": [ { "type": "variable_if", "name": "eisuu", "value": 1 } ] }, { "type": "basic", "from": { "key_code": "j", "modifiers":{ "optional": [ "any" ] } }, "to": [ { "key_code": "down_arrow" } ], "conditions": [ { "type": "variable_if", "name": "eisuu", "value": 1 } ] }, { "type": "basic", "from": { "key_code": "k", "modifiers":{ "optional": [ "any" ] } }, "to": [ { "key_code": "up_arrow" } ], "conditions": [ { "type": "variable_if", "name": "eisuu", "value": 1 } ] }, { "type": "basic", "from": { "key_code": "l", "modifiers":{ "optional": [ "any" ] } }, "to": [ { "key_code": "light_arrow" } ], "conditions": [ { "type": "variable_if", "name": "eisuu", "value": 1 } ] }, { "type": "basic", "from": { "key_code": "japanese_eisuu" }, "to": [ { "set_variable": { "name": "eisuu", "value": 1 } } ], "to_after_key_up": [ { "set_variable": { "name": "eisuu", "value": 0 } } ] } ] } ] }
これを
/Users/[ユーザー名]/.config/karabiner/assets/complex_modifications
に保存しておけば、設定ファイルのComplex_modificationsに表示されるから、適用すればOK
大元のkarabiner.jsonを直接編集しなくていいから注意。
それとjsonファイルは文法間違いがあると表示されないから注意。
最初の行のtitleの最後に「,」を忘れただけで、表示されないから間違いを見付けるのが大変だった。
参考URL
Karabiner-Elementsの設定項目をまとめました - Qiita
Karabiner-Elementの設定例について - Qiita
Karabiner-Elementsを使ってキーの2連打に処理を割り当てる方法 - QiitaKarabiner-Elementsのset variableを使う方法
macのiTerm2とAquaSKKを使う場合
まあ、解決策はいくつも出てる訳ですが、自分用として。
問題点
- iTermというか、ターミナルソフトではCTRL+Jで改行コードと同じようになってる
- でもって、日本語入力にSKKを使うとASCIIからかなに切り替え時にCTRL+Jを入力が必要
- その結果、日本語に切り替えようとすると、改行コードが送られてしまうという困った状態に。
これまでの解決策
いくらAquaSKK使いがマイナーといっても、この組み合わせを使う人はたくさんいる訳で
基本はここ http://mzp.hatenablog.com/entry/2015/03/15/213219
流れは次の通り。
- まずはCTRL+J以外でもひらがなに切り替えられるようにする。
- 次にCTRL+Jを入力したら違うキーコードを送るようにする。
個人的な問題点
マイナーなものを選ぶ人って、その中でもさらにマイナーなことやったりするから……
- 入力はAquaSKKのみに専念して、英語入力すら設定しないようにしてる。つまり「かな」キーは日本語入力への変更なんぞには使ってない。ひらがな入力切り替えはCTRL+Jしか使ってなかった。参考は http://kiririmode.hatenablog.jp/entry/20150114/1421161200
- SierraだとKarabinerがまだ使えないよねってこと。
個人的な解決策
対応はkeyhacを使うことにして、keyhacとaquaskkの両方に設定を加えました。
- 最初はaquaskk。やり方は http://qiita.com/yoshiyoshifujii/items/7dde93ac32564395cb76 を参考にして、「かな」キーも切り替えキーにした。
(修正前) SKK_JMODE ctrl::j (修正後) SKK_JMODE ctrl::j||keycode::0x68
ちなみに最初はこれをマネしたところ、切り替えたときに「0」が一緒に入力されたのでそれを回避したかった。
- 次はkeyhac。keyhacのconfig.pyにこんな風に加えた。
keymap_terminal = keymap.defineWindowKeymap( app_name="com.googlecode.iterm2" ) # iterm2だけのローカル設定 keymap_terminal["Ctrl-J"] = "104" # CTRL-Jを入力するとかなを送信。104はかなキーの仮想キーコード
こうすることで、iterm上でCTRL-Jを入力すると、かなキーが送られるのでASCIIからかなモードに変換されるだけ。余分なキーも送信されない。
USBでvimとpython持ち運び
これまでは、macもwindowsでも同じ環境ができるようにとgitでコンフィグを管理して、macとwinで場合分けしてvimrcを作成していたけど、windowsをメインで使う職場でネット環境が思いっ切り制限された……
セキュリティ上しょーがないとはいえ、USBメモリがおめこぼしされているだけでも良しとしないといけないかな。
そこで環境をがっつり変えることにした。
やったこと
- vimはKaoriya版でzipで取得
https://www.kaoriya.net/blog/2016/04/09/
- PythonはAnacondaの簡易版minikondaを使用
https://conda.io/miniconda.html
どちらも32bit版を使用
一つフォルダを作って、下記のようにファイルを配置した
vims(一番上のフォルダ。名前はなんでもいい)
|
|-vim
|-miniconda
|-home
| |-start_vim.bat
| |-vimfiles
| |-vimtemp
今回のメインであるhomeに配置したバッチファイル
内容は下記の通り
@echo off REM %~d0で実行ファイルの存在するドライブに移動 %~d0 REM %~dp0で実行ファイルの存在するフォルダに移動 cd %~dp0 REM 環境変数の設定 set HOME=%~dp0 pushd %~dp0.. set PYTHONHOME=%CD%\miniconda set PYTHONPATH=%PYTHONHOME%\libs set LOCALBIN=%CD%\bin cd %CD%\vim set VIM=%CD% path=%VIM%;%PYTHONHOME%;%PYTHONHOME%\Scripts;%PYTHONPATH%;%LOCALBIN%;%PATH% start gvim.exe
環境変数でHOMEを設定することで、vimだけがUSBメモリに作成したHOMEフォルダを使用する。
(他のWindowsのソフトは通常のユーザー名のフォルダを使用)
PYTHONHOMEとPYTHONPATHはdllとlibファイルの場所を指定するために必要。
system32にdllがないので、PATHも追加しておく。
この状態でvimを起動して
echo has('python3') 1を返す py3 import sys; print(sys.version) でminicondaの3.5.2と応答があった
PYTHONPATHをPYTHON_PATHとしたりするとpy3の実行時にvimが落ちて動かないので注意。
単純な違いだけに、原因を見つけるのに時間がかかった。
vimのパッケージ管理はvim8のものにした。
予めダウンロードしといてフォルダにコピーすればいい。
使いたいのは
\home\vimfiles\pack\mypack\start
にプラグインをフォルダごと放り込んでおいた。
mypackは好きな名前でOK。
遅延実行はstartをoptにすればいい。
大量に入れてないので、これでいまのところは問題ない。
このやり方でいっとき運用してみる。
macOS Sierra でのキー入れ替え
長年使ってくると、効率良く使いたいって欲望が出てくるのは普通のこと。
そのために、キーボードを入れ替えるのは良くある。
さらに、配置やCTRL、コマンドキーに変わるものを導入するのも自然な流れ。
という訳で、これまではKarabinerを使ってたんですが、Sierraでは使えないとうまさかの事態!
Karabiner-Element ってのが代わりに出てますが、開発中でキーの入れ替えしかできない。
「⌘英かな」という別のソフトも出てますが、これも入れ替えに対応していて、ユーザー定義のモディファイヤーはまだ。
探してみたら、まさかのkeyhacが対応しているとは!
元はWindowsで有名なコマンドラインランチャー「CraftLaunch」(Alfredみたいなもの)を開発した人で、その人が作ったキー入れ替えソフトが「keyhac」。
管理者権限も不要で使えたので、限定されたときは使ってたんですが、ドライバをインストールするタイプにくらべると遅かったので、あまり使ってませんでした。
それが、mac版いれてみたら、かなり快適!
入力にAquaSKK使ってる人に多いSandS(Space and Shift)も簡単に設定できました。
インストール
ダウンロードやマニュアルは↓から。インストールまでは簡単じゃないかと。
https://sites.google.com/site/craftware/keyhac-ja
インストール後にまずやること。
設定には親切に色々な機能が盛り込まれてます。
右シフトが削除になってたり。
自分が理解できるために、がっつり削除しましょう。
import sys import os import datetime import subprocess from keyhac import *
これで、真っ新。
SandSにする。
以下を追記するだけ。
def configure(keymap): keymap_global = keymap.defineWindowKeymap() keymap.replaceKey("Space", "RShift") keymap_global["Ctrl-RShift"] = "Ctrl-Space" keymap_global["O-RShift"] = "Space"
これは以下の設定をしています。
3行目:スペースキーと右シフトキーを入れ替える
4行目:CTRLキーと右シフトキーを押す(上の行で入れ替えてるので、押すキーはCTRLキーとスペースキー)と、CTRL+Spaceを送る。これはAlfredでのホットキーをCTRL+Spaceにしているので、その対応。
5行目:右シフトキーを押したときに、他に何もキーを押さなかったらSpaceを押した状態にする。これが「ワンショットモディファイヤー」と呼ばれる機能になります。RShiftの前にある「O-」がこいつはワンショットモディフィヤーですよということ。
この内容にすると右シフトキー単独で入力した場合もSpaceが押された状態になるのでそれだけは注意を。
でもって、保存したら、keyhacのアイコンから「設定のリロード」を選べばOK
これでSandSが使えるようになりました。しかも反応速度はまったく問題がない!
次はSKK使いには不要な「英数」と「かな」の活用について
アプリの設定
- Alfredの設定
-
- CTRL+SPACEが日本語入力の入力ソースの変更に割り当てられているため、環境設定→キーボードからショートカットの中にある「入力ソース」のショートカットを解除する。
- 設定にてHotkeyをCTRL-SPACEに変更
- Appearanceの左下にあるOptionsからHide hat on Alfred WindowとHide menu bar iconにチェック
- DropBoxの設定
ログインして、1Passwordのファイルを取得
- 1Passwordの設定
- BatteryMonitor
- Preferenceから Login時起動(Open at Login)
- アイコンは隠す(Hide Icon)
- 残り時間のみ表示(Show Battery Time)
- システム環境設定の省エネルギーからメニューバーにバッテリーの状況を表示のチェックを外す
iCloudの設定以外に特になし