Hatena::Groupvimperator

VoQn.vimp

vimperator

2009-01-26

copy.js 用のテンプレート wedata Database 作った

03:22 |  copy.js 用のテンプレート wedata Database 作った - VoQn.vimp を含むブックマーク はてなブックマーク -  copy.js 用のテンプレート wedata Database 作った - VoQn.vimp

Item - データベース: vimp copy - wedata

文字通り。

これ作ったからwedata SITEINFO からコマンドひっぱってこれるよーっていうcopy.jsの改良は他のエロい御人たちにまかせる。

とりあえず自分がvimperatorrc.js に書いておいているモノはItem作成しておいた。

wedataでの説明についてが言葉足らずなので、あとでもうちょっとマシな文面にしたい。「こう書けば良いんでないの」という方アドバイスplz.

2009-01-04

Firefox3.0 からフォトライフに画像up しようとしてブラウザがフリーズする

17:37 |  Firefox3.0 からフォトライフに画像up しようとしてブラウザがフリーズする - VoQn.vimp を含むブックマーク はてなブックマーク -  Firefox3.0 からフォトライフに画像up しようとしてブラウザがフリーズする - VoQn.vimp

ところで firefox からfotolifeに画像アップロードしようとするとフリーズするんだけどこれ僕だけ? ivmperatorグループ作ったときからそうなんだけど。

他の人がそうでないんだったら自分のvimpか拡張の何かが悪さしてるんだろうなぁ…


twitter.js にecho追加してコミットした

17:37 |  twitter.js にecho追加してコミットした - VoQn.vimp を含むブックマーク はてなブックマーク -  twitter.js にecho追加してコミットした - VoQn.vimp

始めてのプラグインへのコミット。


やった事

  • 送信するステータスとその文字数をechoして返す
  • 送信するAPIに"source=Vimperator"を追加

Changeset 27879 – CodeRepos::Share – Trac


twitterに発言を投げたあとにecho追加

コミットした直後にスペルミスみつけてすぐ直した。

liberator.echo("[Twitter] Your post " + '"' + stat + '" (' + stat.length + " characters) was sent. " );

"Changeset 27880 – CodeRepos::Share – Trac"

発言した後に

[twitter]Your tweet "発言内容" (発言の文字数) was sent

ってechoする。


キャプチャ

文字数が多い時

f:id:VoQn:20090104173456p:image

文字数が少ない時

f:id:VoQn:20090104173457p:image

文字数が246越えたらpostしないでerrorMsg出すようにもしようかと思ったけど実際は尻切れでも投稿自体はできるんだからそのままにした。

echoの文頭に"Your tweet ..." をつけるのってあんまり意味がないかなーと思ったけどまぁいいか。


Post from Vimperator

xhr.send("status=" + encodeURIComponent(stat) + "&source=Vimperator"); 

Changeset 27880 – CodeRepos::Share – Trac

自分がプラグイン作成者じゃないので勝手にTwitterに送ってよいか悩んだのでそのままにした。id:Trapezoid さんに確認しようかと思ったけど深夜だったので自重した。

まぁとりあえずこのままtwitter側に認められたらtwitterの発言元に from:web じゃなくって from:Vimperator になる。

nokturnalmortumnokturnalmortum2009/01/05 14:37WinXP Fx3.0.5 ではアップロードでフリーズすることはありませんでした。

TrapezoidTrapezoid2009/01/06 23:36僕が英語かなり苦手なので、送ってもらえると助かるかもしれません。

2009-01-02参入障壁の低いvimperator導入のために

vimpをはじめる資格 → 「セキュリティリスクを覚悟できる」

01:13 |  vimpをはじめる資格 → 「セキュリティリスクを覚悟できる」 - VoQn.vimp を含むブックマーク はてなブックマーク -  vimpをはじめる資格 → 「セキュリティリスクを覚悟できる」 - VoQn.vimp

あくまでも個人的な意見ですよ。

しかしこのエントリタイトル自治厨くせぇな。

  • × vim使いである
    • 今だとLDR > LDRize > Minibuffer ってルートがある
    • vimに慣れたら〜、っていうよりvimpで基本操作慣れたのでvim使えるようになりました(経験談)
  • × unixコマンド/コマンドプロンプトを一通り使えてファイル操作ができる
    • 充分条件ではあっても必要条件ではないように思う。
  • × cvs/svn/gitなどのバージョン管理が使える。
    • むしろvimpでこれらのソフトの使い方覚えたって人多いし自分もその口だわ
  • ○ セキュリティ脆弱性のリスクがあることを理解できる事
  • ○ 転んでも泣かない意志を持っていること

よく考えたら本当はFirefoxを使う時点で下二つは持ってなきゃいけないと思うし、それも持たずに拡張ガンガンいれたりgreasemonkey入れまくって「グリモン便利〜」とか言ってたら…。

それは無邪気だけど暴れはじめたら一番タチが悪い輩だろうと思う。

セキュリティリスクを受けいれて、且つ問題が起きても基本的に自分で解決しようとする人だったら無知のままvimp入れちゃっても大丈夫だと思う。

ちなみに自分は転んだら泣きつきっぱなしのような気がしています。反省

参入障壁の低いvimperator導入のためのRCファイルとランタイムディレクトリ

09:51 |  参入障壁の低いvimperator導入のためのRCファイルとランタイムディレクトリ - VoQn.vimp を含むブックマーク はてなブックマーク -  参入障壁の低いvimperator導入のためのRCファイルとランタイムディレクトリ - VoQn.vimp

初心者向け記事とかほんとは書きたくないけど機会が増えてきたので

vimperatorへの導入記事は山ほどあるし、元々vim使いでもないわjsプログラマでもないので自分が「みなさんのために!」系の日記を書くのはアレ*1で抵抗があったけど、「知人が始めて「オイ!ぜっんぜんわかんねぇ」って言われた時にとりあえずどうやったら自分で使いこなせるようになるまで軌道にのせるか」っていう思考実験として。

自分が導入したのは実質0.6あたりからか。もっと前からインスコしては「やっぱりムリかなー」って外したりを繰り返してはそろそろ一年が立つ。きっかけは id:retlet が使ってるのを見てからだった。

不可視ファイル、不可視フォルダがとっつきにくいんじゃないかと考えた

たしかにunixの各shell,vi/vimに慣れた人だったら不可視ファイルでもぜんぜん「見」えるんだけど、その時点で諦めてしまう人が多いし、じゃぁ「dotfileでたじろぐ」→「vimpはじめる資格なし」ってわけでもないだろうと思う。

自分の場合、デスクトップにあるキャッシュの不可視ファイルが異様にHDの容量使ってたのを調べるためにOnyX入れてたから不可視ファイルをFinderで弄ることができたからvimpvimemacsを導入できた、って経緯がある。

むしろvimpを契機にUnixシェルだったりvim/emacsの世界に入っていけるのだってアリなんじゃないか、なんて考えてる。シェル操作覚えるとGUIの操作より速く作業できたりするしね。

_vimpeatorrc

.vimperatorrc、vimprcって略したいよね。

:mkvimperatorrc で生成すると_vimperatorじゃなくて.vimpeartorが作られる。

ここで

  • :mkvimperatorrc しないで、自分であらかじめ _vimpeatorrc をテキストエディタで作っておく
  • :mkvimperator してからterminal で mv .vimperatorrc _vimperatorrc

のどっちかをすれば良い。

とりあえずRCファイルを_vimperatorrcにしておけば任意のエディタからGUIナビゲーションで開いて編集できる。たぶんここが大きいと思う。自分はOnyXで表示させておいてvim覚える以前はCotEditorで.vimperatorrc編集していた。当時これ知ってたらと思う。

RUMTIME

ランタイムディレクトリ - vimperatorグループの通りなんだけど、:mkvimperatorrc だとフォルダも不可視(.vimperator)になる。なのでこれも設定する。

terminalで

mv .vimperator/ vimperator/

_vimperatorrcに。.vimperatorフォルダが無ければ別にいい

set rumtimepath=$HOME/vimperator
" $HOME: ~/vimperator

pluginもsvn co とか git clone とかで持ってくるのが早いんだけど、僕も最初の頃はいちいちcodereposからoriginal formatダウンロードしてたわ。なのでFinderから整理できた方がいいよね。

まとめ

やりかたは二つ

  • vimp導入のタイミングで自分で _vimperatorrc ファイルと vimperator フォルダをホームディレクトリに作っておいておく
  • vimperator導入後、vimperatorから:mkvimperator して、コマンドシェルから mv .vimperator vimperator && mv .vimperatorrc _vimperatorrc

ちなみに自分はdotfileがHOMEにたくさんできて煩わしくなってきたのでvimvimpは_ではじまるように設定してます。finderだと一番上にソートされるし。

(追記) mac向けの話のつもりで書いてなかったんだけど、そういえばwinほとんど使わないからケアレスミスした。

*1:なんか中途半端に知るとつい作ってしまう○○講座のよう

2008-12-22鉄郎「母ちゃん、おれ、wedataが無くても生きていける体になるよ!」

vimperator.g.hatena.ne.jp v0.0.2

05:15 | vimperator.g.hatena.ne.jp v0.0.2 - VoQn.vimp を含むブックマーク はてなブックマーク - vimperator.g.hatena.ne.jp v0.0.2 - VoQn.vimp

できてから一週間過ぎました。

ちょっとだけグループトップのCSSを弄ってvimpデフォルトの配色に似せました。

サイドバーの上下にvimperator.orgとmozila.jpのfirefoxバナーを。

あとこのグループのfaviconをvimperator.orgのfaviconにした。

一週間で参加者31人でこのグループの各々の日記のブクマ数やアクセス数を見てもvimpがネットジャンキーに注目されてる度合いがわかりますね。

そろそろ自分の.vimperatorrc .vimperator.js を公開しようかな。

普通に色々人のを見てコピペしてちょこっとだけ自分の好きに変えてる程度だから参考にならんと思うけど。

僕の copy.js

23:57 |  僕の copy.js  - VoQn.vimp を含むブックマーク はてなブックマーク -  僕の copy.js  - VoQn.vimp

runtime/.vimperator.jsjs関係はみんな書いておいてる。.vimperatorrc に書くともう量が多いし

// .vimperator/.vimperator.js
// copy.js
liberator.globalVariables.copy_templates = [
	{ label: 'titleAndURL',    value: '"%TITLE%" %URL%' },
	{ label: 'titleAndTinyURL', value: '"%TITLE%" %tinyURL%', custom: function(){return '"' + buffer.title + '" ' + util.httpGet('http://tinyurl.com/api-create.php?url=' + encodeURIComponent(buffer.URL)).responseText;} }, 
	{ label: 'title',          value: '%TITLE%' },
	{ label: 'hatena',         value: '[%URL%:title=%TITLE%]' },
	{ label: 'hatenacite',     value: '>%URL%:title=%TITLE%>n%SEL%n<<' },
	{ label: 'markdown',       value: '[%SEL%](%URL% "%TITLE%")' },
	{ label: 'htmlblockquote', value: '<blockquote cite="%URL%" title="%TITLE%">%HTMLSEL%</blockquote>' },
	{ label: 'ASIN',   value: 'copy ASIN code from Amazon', custom: function(){return content.document.getElementById('ASIN').value;} },
	{ label: 'tinyURL',	value:	'Get Tiny URL', custom: function(){return util.httpGet('http://tinyurl.com/api-create.php?url=' + encodeURIComponent(buffer.URL)).responseText; }}
];

Vimp の デフォルト highlight_setting にするカラースキーム作った

20:46 |  Vimp の デフォルト highlight_setting にするカラースキーム作った - VoQn.vimp を含むブックマーク はてなブックマーク -  Vimp の デフォルト highlight_setting にするカラースキーム作った - VoQn.vimp

またカラースキームネタ。

カラースキームをデフォルトにもどしたい」

たとえば任意のカラースキーム使ってると「元にもどしたい」とか、見た目の問題でカラースキームが起こしてるんじゃにのこれって時があって、そういう時に.vimperatorrc開いて:colorscheme の箇所をコメントアウトして再起動とか明らかにめんどい。

あるいは自前でカラースキーム作るのに:hi と打って確認するのがめんどい。

じゃぁ作ってしまえという事で default.vimp を作りました。

/lang/javascript/vimperator-plugins/trunk/colors/default.vimp – CodeRepos::Share – Trac

使い方

使い方は普通のカラースキームと同様、 rumtime/colors/ にdefault.vimp を置いて

:colo[rscheme] default

あと.vimperatorrc に

" colo default
colo "*/ 自分が設定している colorscheme /*"

と書いておいて デバッグとして記述しておくのも良いかもしれません。

むしろ自分がやりたかったのは「コピーしてリネームして新しくcolorscheme作るのが楽になる → 元々設定項目がリストになってて、値変えて作れる土台があれば良い」だったので、そっちの目的の方がメインです。

highlight の定義は ver2.0alpha1(nightly_2008-12-16) のものを準拠しています。

vimpの本体の仕様かわっちゃったら、まぁ調整すれば、ということで


(追記)はえぇえ!!!

mkcolor.js: highlight 書き出しプラグイン。 - anekosの日記 - vimperatorグループ

もうこれで default.vimp は自作colorscheme用のテンプレってことでいいな

2008-12-16今設定しているカラースキームに夢中になって破滅する

ColorScheme - Sweets.vimp

16:48 |  ColorScheme - Sweets.vimp - VoQn.vimp を含むブックマーク はてなブックマーク -  ColorScheme - Sweets.vimp - VoQn.vimp

(追記)そのうち codereposにあげますが、やりかたがまだわからないので各自でコピペして sweets.vimp としてruntime/colors/ に保存してください。

(追記2)codereposに上げました。色指定が足りないなーって思ったらガンガンコミットしちゃってね

ColorSchemeは弄りだすと止まらないね

Hintモードのハイライトの文字が時々小さくてモニタに顔を近付けたり、コマンドラインとか諸々のフォントサイズが小さい上にBoldかかってたりとかがあったのでhiを弄りはじめたらこれはすごい時間泥棒だった。 Motsu_Tabetai 並み。

前の日記でも触れたんだけど、この頃のMacOSでのvimp2.0preのタブの表示が良くなくて、とくに前回の日記の状態だと「未読のタブ(バックグラウンドで開いただけのタブ)」「今見ているタブ」が差別化されてなくって、「今どこらへんのを読んでるんだっけ」ってなってた。なのでタブバーまわりを弄るcssについてちょっとだけ調べていた。

id:teramakoさんのevenig.vimpを見ながら色つけしてた。

キャプチャ

Hint

f:id:VoQn:20081216163909p:image

Command

f:id:VoQn:20081216163908p:image

Sweets.vimp

" ==Vimperator_Color_Scheme==
" name: Sweets
" ==Sweets_Color_Scheme==
hi Hint			font-family: monospace; font-size: 15px; font-weight: normal; color: lightyellow; background-color: black; border-color: ButtonShadow; border-width: 0px; border-style: solid; padding: 0px 5px 0px 5px; 

hi HintElem		background-color: pink;		color: black;
hi HintActive		background-color: hotpink;	color: white;

hi StatusLine 		color: DeepPink;	background: #000;	font-weight:normal;font-size:10pt;

hi Normal 		color: LightYellow;	background: #333;	font-size: 10pt;
hi InfoMsg		color: LightYellow;	background: #333;	font-size: 10pt;
hi ModeMsg		color: LightYellow;	background: #333;	font-size: 10pt;
hi MoreMsg		color: LimeGreen;	background: #333;
hi LineNr		color: DeepPink;	background: #333;	font-size: 10pt;
hi Question		color: Yellow;		background: #333;	font-size: 10pt;
hi WarningMsg		color: DeepPink;	background: #333;	font-size: 10pt;
hi NonText 		background: #333;
hi Null			color: CornflowerBlue;
hi Tag			color: CornflowerBlue;

hi CompTitle		color: magenta;		background:#222;	font-weight: bold;
hi CompItem[selected]	color: DeepPink;	background: Black;
hi CompDesc		color: Pink;
hi GradientRight	background-color: Black;

hi Title		color: white;
hi Indicator		color: DodgerBlue;
hi String		color: Orchid;
hi Number		color: Orchid;
hi Object		color: Khaki;
hi Function		color: SkyBlue;
hi URL			color: LightGreen;

hi TabNumber		color: white; font-weight: bold; font-size:10pt;

style -name tab chrome://* <<EOM
#content { background-color: #ddd;} /* tabbar */
.tabs-alltabs-button { padding: 0 !important; }
.tabs-container { height: 20px; border-bottom: 2px solid #000; }
.tabs-container > stack { display:none; } /* remove tab selection menu */
.tabbrowser-tab {
	-moz-apperance: none !important;
	margin: 0 !important;
	padding: 0 !important;
	-moz-border-radius-topleft: 0 !important;
	-moz-border-radius-topright: 0 !important;
	-moz-border-radius-bottomright: 0 !important;
	-moz-border-radius-bottomleft: 0 !important;
	border: 2 !important;
	background-image:none !important;
	background-color: #ff69b4 !important;
}
.tabbrowser-tab[selected=false] { background: #999 !important; }
.tabbrowser-tab[selected=true] > .tab-text { color: #ddd !important; }
EOM

style -name statusbar chrome://* <<EOM
#status-bar statusbarpanel { padding: 0 1px !important; }
statusbarpanel > * { margin: 0 !important; padding: 0 !important; }
EOM

ha1tha1t2008/12/20 02:28ありがたく使わせていただきます!超かっこいい!