キーボードを買った話

こんにちは、いなむーです。
先日、会社の人がErgoDoxという変態極まりないキーボードを購入されてまして、私も触発されて会社で使うようのキーボードを購入することにしました。

散々池袋のビックカメラで探して、悩んだ挙句、秋葉原まで行くことに。
久しぶりに行った秋葉原ですが、通称エウリアンと呼ばれる綺麗なお姉さん達がラッセンの絵を高額な値段で販売していたお店や、いつも閉店セールしていたお店がどちらもなくなっていました。
少しづつ浄化されつつあるのでしょうね、きっと。

肝心のキーボードについてですが、スマホで調べてみるとキーボード専門店が軒並み潰れてしまったようで、ドスパラとツクモへ行きました。
ツクモで、いくつか試し打ちした結果、「BlackPawn」という機種を購入することにしました。

実際の写真はこちら
blackpawn

見ての通り、キーの裏から青色LEDが光り輝く主張の激しい所に一目惚れしました。
また、サイズもファンクションのところから、テンキーのところまでザックリなくなっているのでフルキーボードと比較すると、かなりコンパクトに感じます。
で、実際に家で試したところ、今まで使っていたメカニカルキーボードは青軸でしたが、今回は茶軸にしたので軽快感を残しつつ、音は控えめな感じで大変満足しました。
値段も、メカニカルキーボードの中では安めの13000円程度でしたので、FILCOと同等程度です。

そして、しばらく試していたところ、ちょっと困ったことが起きました。
家ではMacとWindowsを使っていて、Windowsでは問題無いのですが、Macだと|(パイプ)と _(アンダーバー、アンダースコア) が入力できないということに気が付きました。
元々JIS配列のMacで、JIS配列のキーボードだったので大丈夫かな〜と安易に思っていたのですが、そのままでは入力できないことに気が付き大変焦りました。
このキーはどう考えても仕事で使うキーなので、入力できないと大変困るというか、仕事にならないわけです。

そもそも、Macではkarabinerというキーマップツールを使用して、FILCO Majestouchというメカニカルキーボードを既に利用していたため、karabinerを使ってもダメなのか。。。と嘆いてました。
返品も検討するくらいでしたが、もう一度karabinerでちゃんと設定を見直したところ、キーマップ出来る個所がありました。

パイプについては、pipeと入力して、下記該当個所にチェックを入れると、Shift+Deleteでパイプが入力できるようになります。
pipe

アンダーバー、アンダースコアについては、下記該当個所にチェックを入れると、Shift+0で入力できるようになります。
※ちなみにバックスラッシュはAlt+Yで入力できます。円マークorバックスラッシュはMacの決め打ち&エディタの文字変換により異なるようです。

unserscore

これで業務に支障なくなったので、安心して使用できるようになって良かったです。
※ちなみにこの記事はBlackpawnで書きました。

以上。

pecoとconfigでsshを楽にする

Macユーザーになって数年経つのですが、Pecoというツールを知ったのはついこの間です。
PecoはMacやLinuxにインストール可能なフィルタリングコマンドです。

具体的には、Gitのリポジトリを管理しているディレクトリで、文字を入力することなく対象ディレクトリへアクセスしたり、今回ご紹介するSSHのコマンドを省略できたりする便利ツールです。

ツールそのものはとてもシンプルで、きっと他にも活用例があると思いますが、今回はSSH接続の例でご紹介します。

環境はMacを想定しておりますが、インストール以外は基本使い方は一緒だと思います。

環境

MacOS 10.11

インストール方法

$ brew install peco

これだけです。

シェルのconfigファイルに下記を追記

※私の場合は.zshrcでしたがbashであれば.bashrcです。

$ vim ~/.zshrc
#peco&ssh
function peco-ssh () {
local selected_host=$(awk '
tolower($1)=="host" {
for (i=2; i<=NF; i++) {
if ($i !~ "[<em>?]") {
print $i
}
}
}
' ~/.ssh/conf.d/</em>| sort | peco --query "$LBUFFER")
if [ -n "$selected_host" ]; then
BUFFER="ssh ${selected_host}"
zle accept-line
fi
zle clear-screen
}
zle -N peco-ssh
bindkey 'SS' peco-ssh</code>

$ sourc ~/.zshrc

これで”SS”とキーボードで入力すると、~/.ssh/configが読まれます。

### sshのconfig管理
sshクライアントのconfigではconf.dのようなinclude機能はないようで、他の方のを参考にしたところ、一番分かりやすい方法がありましたのでそれを私は採用しました。

$ mkdir ~/.ssh/conf.d
$ cd ~/.ssh/conf.d
$ vim config
## ここにホスト以外の共通の設定を記載する。
Host *
ServerAliveInterval 10
TCPKeepAlive yes

グループごとに◯◯.confを作成して、通常どおりconfigを記載する。
最後に~/.ssh/configに記述するスクリプトを作っておく。
※手でコマンド入力しても良いですがこっちのほうが楽です。

$ vim ~/.ssh/makeconfig.sh
#!/bin/bash

cat ~/.ssh/conf.d/config ~/.ssh/conf.d/*.conf &gt; ~/.ssh/config

$ chmod u+x ~/.ssh/makeconfig.sh
$ ~/.ssh/makeconfig.sh

以上です。
conf.d配下のconfigを追加編集したら、都度makeconfig.shを実行すれば更新されます。

pecoを使ってsshしてみる。

peco

こんな感じでホスト一覧が出るので、キーボードで選択するor文字を入力して対象を絞ることができ、そのあとはsshコマンドを入力したのと同じになります。
とても便利ですのでホストをコピペしている人はお試しあれ。

以上。

理想的なターミナル環境を求めて

3連休はみなさんいかがお過ごしですか。
私は、妻と子供が帰省しているのでなにもせずにまったりと過ごしております。
新しい会社に転職し、毎日覚えることが沢山あり、また、慣れない早起きに疲弊していたところだったのでこの3連休は大変助かります。

体をゆっくり休めるためにも、本を読みつつゆっくりと休養しているわけですが、折角なので前から気になっていたターミナル環境の改善をしてみようと挑戦してみることにしました。

zshの導入

今まで何年もbashしか触れてきていなかったのですが、会社ではzshを使っている人が多いように思います。(ていうか半分以上?)
zshなんて奇特な開発者しか使わないと思って(偏見ですねすいません。。)調べてもこなかったのですが、導入してみるとこれがとんでもなく便利であることを知りました。
具体的には下記サイトを見ていただけるとbashユーザーは「へー」となると思います。

cdがとにかく簡単になります。っていうかCDコマンド要らなくなります。
zsh

また、Gitやシェル・コマンドのオプションを補完してくれます。
zsh-cmd

このオプション補完はとんでもなく便利だと思います。
中々覚えていないオプションなどはこれで補完できます。

また、GIFにもあるようにテーマを変えることで、ブランチ名とgitの状態を表示させることが可能です。
zsh-git

zshのテーマや設定については、賛否あるようですが、最もよく使われているのがoh-my-zshのようです。
これを導入することで、zshの様々な設定やテーマを簡単に変更可能です。

私が導入したのはPowerlineというテーマで、GIFのようにカラーでgitのブランチ状態などを表示してくれます。
ちなみにPowerlineを使用するには、
1.Powerline用のフォントをインストールする
2.itermで使用するフォントをPowerline対応のものに変更する
以上の対応が必要です。

具体的には下記Githubのリポジトリをクローンして、中のinstall.shを実行するだけです。※結構時間がかかります。
その後にitermで「◯◯-powerline」とついたフォントを選択すると、Powerline対応のフォントで表示できるようになります。
ちなみに設定ファイルはGithubで管理して、ファイルそのものはシンボリックリンクにしてます。
多分これが一番楽な共有方法かと思います。※Dropboxで共有されている方がいましたが、Git管理しない場合はその方法が楽かと思います。

ざっくりと書きましたが、簡単な手順を下記にまとめてます。

以上です。