ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2012年10月31日水曜日

xmodmapでvimっぽくカーソル動かせるようにした

左手マウスのおすすめ
http://www.biwa.ne.jp/~chiro/kannkyou/mausu.htm
これを見て、試してみました。

気付いたことは
・左手は案外不器用で、軽いマウスだとなかなかポインタが定まらない
・これまでCtrlキーを常にインレンジにおさめていた左手が動くことで
 ショートカットキーを案外打ち損ねる
・右手をあまり動かさないようになると、思ったよりカーソルやPage Up/Down,Home/Endが
 遠く感じるようになる

特に最後のが結構意外で、結構右手首を小指側にぐっと曲げるような動きになってしまいます。

私はデスクのできる限り奥にモニタとキーボードを置き、
デスクの上に両肘をがっちりついてタイピングするのですが、
これまではマウスを動かすため右腕は頻繁に肘を浮かさざるを得ず、
そのためカーソルなどへも特に気にせず手を動かしていました。
ですが、右手の動きが減ると今度はそこが気になり、
しばらくすると少し右手首が痛くなってきてしまいました。

カーソルをvimっぽくhjklあたりで動かせればいいのにな…と思い、
xmodmapを書いてみました。

CapsLockを押しながらhjklでカーソル、
y/bをHome/End、u/nをPageUp/Downにしてみました。
間違って押すと鬱陶しいCapsLockも殺せて一石二鳥。

ついでに勢い余ってgにBackSpace,スペースバーにEnterまで割り当ててみたものが以下。

~/.Xmodmap
clear Lock
remove Control = Mode_switch
keycode 66 = Mode_switch
keycode 29 = y Y Home Home
keycode 30 = u U Prior Prior
keycode 42 = g G BackSpace BackSpace
keycode 43 = h H Left Left
keycode 44 = j J Down Down
keycode 45 = k K Up Up
keycode 46 = l L Right Right
keycode 56 = b B End End
keycode 57 = n N Next Next
keycode 65 = space NoSymbol Return
ちなみに一応書いておくと環境はUbuntu 12.10、英語キーボードです。

慣れたら相当快適なんじゃないかという予感を感じております。

#HHK使えばいいんじゃねとか禁止w

ちなみにエントリの趣旨的にもはやどうでもいいことですが
個人的にはマウスのボタンは入れ替えない方が使いやすく感じました。

2012年6月10日日曜日

gitで名前やメールアドレスを置換する

毎回調べてしまうので自分用メモ。
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "【修正前の名前】" ]; then
    GIT_AUTHOR_NAME="【修正後のAUTHORの名前】"
    GIT_AUTHOR_EMAIL="【修正後のAUTHORのメールアドレス】"
    GIT_COMMITTER_NAME="【修正後のCOMMITTERの名前】"
    GIT_COMMITTER_EMAIL="【修正後のCOMMITTERのメールアドレス】"
fi
git commit-tree "$@"
' HEAD

2012年6月4日月曜日

あるディレクトリ以下のファイルの拡張子の一覧を取得するワンライナー

find -type f | sed -e 's/^.*\([\.|\/].*\)$/\1/' | sort | uniq
拡張子無しの場合はファイル名を出す。ような動きになるはず。

こういうの書くときsedよりperl使うようにしようかなー。
perlの正規表現の方がメジャーだし。
いい思い出ないけど。

2012年5月31日木曜日

Vimで文字コード変更

MySQL4にEUCで入っているデータをUTF-8に変換しようとして、
mysqldumpでSQL出してnkfで文字コード変換した。

それを流し込んだところ、SQLの構文エラーが出る。
よく見てみたところ、SQL内の文字列の終わりのクォーテーションが無い。
(1,2,'あいうえお1かきくけ,'さしすせそ')
みたいになっている。

nkfの変換前のデータをあらためて調べてみると、
その部分にマルチバイト文字の前半がゴミとして挟まっていた。
(1,2,'あいうえお1かきくけゴミ','さしすせそ')
こんな感じ。
nkfだとそのゴミを直後のクォーテーションと絡めて消してしまうようだ。

さほど巨大ではないSQLだったので、Vimで変換した。
Vimで開き、
:e ++enc=eucjp-ms
:set fileencoding=utf8
:wq!
これでEUC→UTF-8に変換して保存できる。

該当箇所のゴミは「?」になるようだ。
(1,2,'あいうえお1かきくけ?','さしすせそ')