2014/03/08

OS X 10.9.2: MacVim

MacVim 7.4 をダウンロード して .vimrc の設定。

MacVim.app において...下記の設定をしていないと、

1, yank した内容が clipboard にコピーされない。
2, 日本語を入力しおわって esc した時、 IM が自動的に切り替わってくれない。:w する為に command + space で IM を切り替えしなくちゃいけなくなる。
3, ':' と ';' が入れ替わっていないといちいち shift key を押す必要にみまわれる。
4, 不思議なことに下記の設定がないと Visual mode にした時 Shift Key が思うように動かない。
(具体的に書くと、V して、複数の行を選択しようと Shift Key を押しながら ↓ Key を押すと
「自動的に最終行まで選択されてしまう」という残酷。2, 3 行だけ選択することができない。)

# .vimrc | .gvimrc

" MacVim.app に有効 (/usr/bin/vim には反映されない)

if has("gui_macvim")
  let macvim_hig_shift_movement = 1
endif
" http://vim-users.jp/2010/02/hack126/
" yank to clipbord
set clipboard=unnamed,autoselect

" http://yuroyoro.hatenablog.com
" insert モードを抜けると IM オフ
set noimdisable
set iminsert=0
set imsearch=0

inoremap :set iminsert=0
noremap :set iminsert=0

" 入れ替え
noremap ; :
noremap : ;

Single Mode Boot

$ cat /System/Library/LaunchDaemons/com.apple.diskarbitrationd.plist
$ sudo launchctl list | grep disk
$ man diskarbitrationd

$ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.diskarbitrationd.plist


RESTART してみたら歯車が回り続け、いつまでたっても Login 画面が現れなくなった。仕方なく電源を長押しして ShutDown...
launchctl unload -w してしまった Daemon を (何事もなかったかのように) load -w する為に

Power ON with command+S (Single Mode Boot)

$ /sbin/mount -uw /
$ cd /var/db/launchd.db/com.apple.launchd
$ vi overrides.plist

### delete key #########
#        <key>com.apple.diskarbitrationd</key>
#        <dict>
#                <key>Disabled</key>
#                <true/>
#        </dict>
#######################

# Single mode 終了
$ exit


ログインできたので、すかさず SHUT DOWN 。
再び Power ON 。通常どおり Login 画面があらわれて無事にログインできた。

2014/03/07

Published Date

2014 年 03月中に、Blogger へ投稿する際、mblogger を使って投稿しました。
順調に動いたと思っていたのは間違いでした。

% ./mblogger --update /path/to/投稿した記事に追記などを記入した.txt


を実行すると Blogger から割り振られた公開日時とは異なる公開日時で update してしまうことに気がつきました。
原因は下記で AM PM を含めた文字列を Time.parse すると文字列で指定した日付よりも未来の日付になってしまっていたのでした。
従って、きっちりと AM PM を削除した”文字列”を Time.parse するように変更して Blogger から振られた公開日時を維持しつつ update できるようになりました。

http://github.com/midore/mblogger には、まだ $ git push していない

# mblogger/lib/mblogger-xml.rb

def set_published
  return nil unless @h[:date]
  begin
    d = Time.parse(@h[:date].to_s.gsub(/AM|PM/,''))
    #  d = Time.parse(@h[:date])
  rescue
    return nil
  end
  @xentry.add_element("published").add_text(d.iso8601.to_s)
end


# 2014-03-07
2014年03月中に公開した記事の中には、公開日時が本日(日本時間 2014-03-07)よりも未来の日付になったままの記事が存在していたりしています。

# 2014-03-08
若干修正 & testing