Emacsの記事ばっかりでVimからEmacsに乗り換えたのか??と思われると寂しいので、Vimのウィンドウを便利にする設定の紹介です。。。。といってもたいしたことはしていないのですが。
Vimの設定ファイルに以下を追加します
set statusline=[%{winnr('$')>1?''.winnr().'/'.winnr('$'):''}]\ %<\ %f\ %m%r%h%w%y%{'['.(&fenc!=''?&fenc:&enc).'\|'.&ff.']'}%=%l/%L\ (%P)
nnoremap <silent> <TAB> <C-w>w
現在のステータスバーの設定がある人はそこに
[%{winnr('$')>1?''.winnr().'/'.winnr('$'):''}]の部分を追加します。
上記の設定をするとステータスバーが以下の画像のような表示になります。

一番左に表示されているのが分割ウィンドウの番号なので、ノーマルモードで 「移動したいウィンドウの番号<TAB>」 と入力すると、そのウィンドウに移動することができます。もしタブに割り当てするのは。。。という場合は、「移動したいウィンドウの番号<C-w>w」 で移動することができます。上の画像のウィンドウに移動するときは「1<TAB>」
よかったらつかってみてください。
でわでわ、たかともでした。
blogit.vim、便利ですね♪
ただ前回の変更だけではバグがあり、
なぜか投稿がすべて9時間後になってしまっていました。
WordPressの管理画面で記事のチェックがてら、投稿時間を変更すればいいかな?
なんておもっていたのですが、やはり手間だなぁ〜と。。。
というわけで修正していきます。
~/.vim/plugin/blogit.vimの894行目
self.set_server_var__Date_AS_DateTime(DateTime())
ここを以下の通り変更
self.set_server_var__Date_AS_DateTime(DateTime(gmtime()))
ただしこの変更には副作用があって投稿した記事を表示したときに
表示される時間が標準時を基準とした時刻になります。
また、予約投稿するときには標準時を基準とした時間の指定が必要です。
=日本だったら9時間マイナスした時間に設定する。
もともとの原因は投稿を送る際に、
ローカルの時間を投稿日時に設定→送信→WordPress側の設定でさらに時差を調整。
のように2重で調整されてしまっていること。
これを防ぐにはWordPressのタイムゾーンを世界標準時にする。
もしくはコードをいじって標準時で送信する。
WordPressの本体の設定を変えるよりは、
こちらの方が副作用が少ないと思われます。
blogit.vimなんてマイナーなプラグインを使う人は少ないと思いますが、
導入するときは参考にしてください。
そのうち日本時間で指定できるようにいじるかもしれません。
でわでわ、たかともでした。
ちなみにblogit.vimで投稿するときはDate: の後は一行の空行が必要です。
← 気がつかないで、だいぶはまりましたorz
一日中、Vimをいじってる気がします。
ブログを更新する際にVimpressを使って更新していこうと思ったのですが、
あまり自分の好みの動作ではなかったので、「blogit.vim」というプラグインを使うことにしました。もともとこのプラグインを使おうとしていたのですが、Macで使おうとするとエラーがでてしまって使えなかったのです。そんなわけでプラグインに手を加えて動くようにしました。
変更点は以下
- .vim/plugin/blogit.vimを開く
- :%s/getpreferredencoding()/’utf-8′/g と置換の処理をする。
以上です。
getpreferredencoding()で文字コードの判別をしているのですが、Macの場合だとうまく判定できないようだったので強制的にutf-8をいれるだけです。これだけで動くならもっと早くやればよかった。。。。
というわけで、
あとは:Blogit new して :Blogit push したり、
:Blogit ls して記事を選んでenter → 編集して :Blogit push したりするだけ。
キーマップを定義してもいいかもしれないですね。
ShellはVimShellをつかって、
TwitterはVimShellからTermtter、
LingrはLinger.vim。
Xcodeはcocoa.vim + neocomplcache。
ますますVimから離れられなくなってしまいそうです。
ではでは、たかともでした。
日本語入力のオンオフで悩まされるのはもうごめんですっ!!
Vimを使っているとノーマルモードで日本語入力がオンになっていて、誤作動。
「ふがぁ〜」となることが多いので、Insert-modeを抜けたらすぐに日本語入力をOFFにする設定をしてみました。ついでにVimを起動したときにも日本語の入力をオフにするようにしています
autocmd VimEnter,GUIEnter,BufEnter,BufNew,InsertLeave * call g:changeToUS()
function! g:changeToUS()
call system ("osascript -e \'"
\ ."tell application \"MacVim\" to activate \n"
\ ."tell application \"System Events\" \n"
\ ."tell application process \"MacVim\" \n"
\ ."key code 102 \n"
\ ."end tell \n"
\ ."end tell \n\'")
endfunction
Vimの中からosascriptを呼び出して、AppleScriptで英数キーをたたいているだけなのでたいしたことはしていません。
この設定ですが、いくつか問題があります。
1つ目は
タイミングの関係でATOK、ことえりの英字入力は使えません。
言語環境設定からATOK、ことえりの英字入力をオフにしてUSモードをオンにしてください。
2つ目は
またインサートモードを抜けたタイミングでUSに切り替えをしてしまうので、
inoremap <C-e> <C-o>$ と設定してC-eした場合USモードへの切替が行われます。
まぁ、副作用はあるものの、ノーマルモードで日本語入力がオンになるよりは、使い勝手がよくなると思います。かなり便利な設定だと思うので、使ってみてください。
でわでわ、たかともでした。
ほんとはBlot_itというVimプラグインを使いたかったのですが、どうしてもエラーがでてしまうので(python関係?)VimPressを使うことに。
ローカルの画像を挿入すると自動でアップロードしてリンクに変換してくれるという機能が便利で「ecto」というアプリケーションを使っていました。
変更した理由はただVimを常時起動していることが多いので、Vimをつかってそのまま編集できたほうが、別のアプリケーションを起動する手間が省けていいかなぁというだけのことだったりします。
それに編集の機能だけならVimの方がectoよりも数段上というのもpoint。
Vimのノーマルモードで日本語入力がオンになっているとかなり誤作動してしまうので、挿入モードを抜けたときやコマンドモードに入ったときに日本語入力をOFFにしてくれるような設定はしなければなぁ〜とは思っています。
これができないとectoに戻ってしまうかも。。。
というわけでテストがてらの投稿でした。
タグのテスト
ほげほげ
ふがふが
ぴよぴよ
まんたん
test