Pistolfly のすべての投稿

Software Engineer in Tokyo, Japan

cygwinのgitで日本語を文字化けさせない

cygwinのgitでは、以下を設定すれば、vimでのコミットメッセージに日本語が使用でき、コミットログもUTF-8に統一された。
(cygwinのターミナルはPoderosaを使用して、エンコーディングをUTF-8にしておく。)
.vimrcに以下を設定する。

set termencoding=utf-8
set encoding=utf-8
set fileencodings=utf-8,iso-2022-jp,shift-jis,euc-jp

・git configで以下を設定する。

$ git config --global i18n.commitencoding UTF-8

参考: cygwinのgitで日本語を文字化けさせない - もうカツ丼でいいよな
・git logがpager(lessとか)で表示されると、UTF-8のログメッセージがエスケープされて表示されるので、pager を cat にする。

$ git config --global core.pager cat

参考: git-config core.pager を cat にした / core.editor を emacsclient にした - 刺身☆ブーメランのはてなダイアリー
■ 問題点
.vimrcのfileencodingsの一番目をutf-8にしたことにより、どのファイルを開くときもutf-8として認識されてしまう。でもそうしないと、最初に開くときに既にASCIIだけのテキストであるgitのコミットメッセージはUTF-8にならない。
参考
ずんWiki - vim

vim の文字コード判定の仕組みは以下の通りです。
fileencodings の設定を前から順に試してはじめにマッチしたものが採用される
* encoding や fileencoding の設定値が途中に発見されるとそこで判定を止めてしまい後の設定は無視される
o この動作により、UNIX環境(euc-jpの場合)では euc-jp が fileencodings の前の方に設定されていると、cp932 や utf-8 で書いたファイルが文字化けてしまうので気をつける必要がある。
* encoding に設定される文字コードは fileencodings に見つからなかったときのデフォルト値に使われるので fileencodings に設定する必要は無い。

Poderosaで公開鍵認証

Tips&Tricks » Poderosaで公開鍵認証
PoderosaではOpenSSHの秘密鍵ファイルは変換しないと使えない。
puttygenで、OpenSSHの秘密鍵をインポート→SECSH(ssh.com)でエクスポートすることで、変換できる。
puttygenでの変換方法。

  1. puttygenを起動。
  2. メニューのConversions > Import keyでOpenSSH(またはSECSH)の秘密鍵を開く。
  3. メニューのConversions > Export ssh.com key(またはExport OpenSSH key)でエクスポート。

sshの公開鍵はいろんな種類があるみたい - blog@longkey1.net
SSHクライアントの秘密鍵/公開鍵についてまとめ : ひろ式めもちょう
端っこなひとの備忘録: PoderosaのSSH2の秘密鍵をOpenSSHで使う