VimperatorがないからとChromeを使わずにFirefoxばっかり使ってたけど、cVimがなかなか悪くなかった。
上のリンクからダウンロードできる。自分がよく使う範囲でVimperatorと違う点はタブの消去がd
ではなくx
なくらいで、大体同じようなノリで使える。
Vimperatorではh
、l
でタブの移動する以外は、yt
でページのタイトルコピー、ym
でマークダウン形式のリンクでコピーってのを設定してるので、cVimでも同じことをできるようにしてみた。
map l nextTab
map h previousTab
copyTitle -> {{
var title = document.title
document.addEventListener('copy', function(e) {
e.preventDefault()
e.clipboardData.setData('text', title)
document.removeEventListener('copy', arguments.callee, false)
})
document.execCommand('copy')
Status.setMessage('Copied: ' + title)
}}
copyMdLink -> {{
var title = document.title
var url = location.href
var text = '[' + title + '](' + url + ')'
document.addEventListener('copy', function(e) {
e.preventDefault()
e.clipboardData.setData('text', text)
document.removeEventListener('copy', arguments.callee, false)
})
document.execCommand('copy')
Status.setMessage('Copied: ' + text)
}}
map yt :call copyTitle<CR>
map ym :call copyMdLink<CR>
'copy'
イベントでevent.clipboardData.setData('text', text)
でコピーする文字列を差し替えてる。JSのちょっとした操作をショートカット登録できる環境としても便利そう。
でも共通処理を関数にまとめようとすると、その関数を書くところがないってところにモヤっと。document
とかに埋め込むのが一番早そうだけど綺麗ではないよね。
あと気になったのはVimperatorが ~/.vimperatorrc
に設定ファイルを書けるに対して、一応
let configpath = '/path/to/.cvimrc'
で外部ファイルに設定を書けることになってるけど、/path/to/.cvimrc
に書いてなぜか設定が適応されない。なんででしょう。