文字化けに立ち向かう

Macを使っていると、Windowsな人から送られてきたCSVを開いたときに文字化けしててツライ、的なことがよくあるので、備忘録的によく使う対処方法をまとめておく。

Vimで立ち向かう

:e文字コードを指定して開き直してやる。

:e ++enc=cp932

このまま編集して保存すると指定した文字コードで保存される。

ちなみに :set enc?Vimの内部で使われる文字コードが、 :set fenc? でファイルの文字コードが確認できる。
注意したいのは、:set fenc? は文字化けしている状態だと fileencoding=latin1 などと表示され、うまく機能しない。
また :set enc? は、先ほどあげた :e で指定した文字コードは関係なく、Vim内部で使われる文字コードが表示される。

いま開いているファイルを別の文字コードに変換したければ :set fenc=cp932 などする。
ただし、文字化けしている状態で変換処理をかけてはいけない。
必ずファイルの文字コードを正しく指定してから開き、変換処理をかける。

下記のようなエラーが出た場合は文字化けしていることが多いので確認する。

E513: write error, conversion failed (make 'fenc' empty to override)

どうしてもこのエラーが取れない場合は :set fenc= とやると解消される。

なお、Vimには文字コード自動判別機能があるので .vimrc に設定すれば適切な文字コードで開いてくれる。

" .vimrc
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,cp932,utf-8

コマンドで立ち向かう

iconv コマンドを使うことで異なる文字コード間の相互変換ができる。
結果は標準出力なので、ファイルに出力したい場合は -o オプションやリダイレクトを利用する。

$ iconv -f CP932 -t UTF=8 original.csv > converted.csv

パイプを使って grep と組み合わせたりすると便利。

$ iconv -f CP932 -t UTF-8 anime.csv | grep "ドラえもん" | less

家庭内Slack運用はじめて1ヶ月くらい経った

家庭内でSlackを使う試みは2年くらい前にも一度やったのだけど、そのときはあまり継続しなくって、SlackのUIが日本語対応したタイミングで、もう一度使い始めてみた。
やっぱり日本語に対応しているのは大きいのか、今度はすんなりいって、すっかり定着してしまった(ぼくは英語のまま使ってて嫁さんは日本語)。
以前はMessengerだったが、テキストベースのやりとりは全部Slackになった。

f:id:tomcky:20180112221652p:plain:w160

generalrandom はまったく使ってない。
パッと名前見たときにトピックがわからないので、本来ならそれらのチャンネルっぽいものでも別で新しくチャンネル作ってる。

チャンネルを分けてトピックごとにやりとりできるのは見返すときにやっぱり便利だなと思う。
番号振っているのはチャンネルの順番を制御したいからなんだけど、、、チャンネルの並び替え機能っておそらくないよね?

2_xxxxxx はこどものことについて共有するためのやつ。
3_ごはん は"いつか食べたいものリスト"ってことで、いつの間にか嫁が勝手に作ってたんだけど、実際は"嫁が外で食べてきた美味しいもの画像投稿チャンネル"になってて、ただの飯テロチャンネルなので、そろそろ抜けてやろうかと思っている。

天気は「myThings」を使ってYahoo!天気から取ってきた情報を毎朝流してる。

mythings.yahoo.co.jp

気象予報士Twitterアカウントを追ってそれを流したりとかもしてる。
Yahoo!天気でも十分なんだけど。Yahoo!天気最強。

それとこれがいまのところ一番便利で、家族共有しているGoogleカレンダーとの連携。
もうとてつもなく便利。
これ使う前までは、カレンダーにいつの間にか共有されてて「え?いつの間に予定入れてたのですか?」とか、逆に「月末に予定が入ったんだけど」「わかった、それカレンダーに入れといて」→カレンダー入れ忘れ→「え、この日予定あるの?カレンダー入ってなかったじゃん!」とか、そういうのが割とあったんだけど、カレンダーに予定入れるだけで自動で投稿してくれるので気づけるし、変更とか削除とかも通知してくれるのでわざわざ共有しなくてもよくなった。
これは嫁もめちゃくちゃ助かってるぽい。

というように、いい感じで使えているのだけど、ちょっと不便なこともあったりする。

アプリの起動が他のメッセージングツールに比べて遅い。
それに加えて、アプリ起動時に別のチームにいるとチーム切り替えなきゃいけないので、ちょっと面倒。
サクッとやりとりしたいときはMessengerやLINEがやっぱり早い気がする。

それでもいまのところ便利さの方が上回っているので、しばらくSlack運用続きそう。

あ、ちなみに ボーナス は、ぼくのボーナスを何に使うかを投稿するっていうチャンネル。なにそれ辛い。

気楽に小さなアウトプットを積み重ねる

もう10日ほど経ってしまったが、2018年の抱負というか、心がけたいことというか。

「綺麗で読みやすい文章を書こう」とか「これ誰かがもうやってしまっているよな」とか「大した内容じゃないしブログに書くことでもないな」とか。
そういうのあまり深く考えこまずに、小さくひとつひとつ、楽な気持ちでアウトプットを積み重ねようと。

自分がどんなことをやってきたのかを目に見える形でできるだけ多く残していきたいっていうのと、アウトプットしようと思うと一旦頭の中に入れることが強制されて、かつ必然的に手を動かすことになるので、インプットの質もあがるんじゃないかと思っている。  

"気楽に小さな"っていうのは続けるためだけの心構え的なもので、質の高いアウトプットであればあるほど良いに決まっているんだけど、質を上げようとすると考えすぎて手が止まって最終的に全くやらなくなってしまいがちなので、そうなるくらいならハードルを下げてでも継続できたほうがいいよな、という考え。

幸い、ブログの更新を続けることができていて、このままの調子で続けていけたらなーと思うし、ブログって形にこだわっているわけでもないので、何かしらの形で積み重ねられればいいと思う。

まぁでも。
気負いすぎてもしんどくなるので、できる範囲でやっていきたい気持ち。