root/dotfiles/vimperator/retlet-vimperatorrc

Revision 36910, 9.1 kB (checked in by retlet, 9 days ago)

Install feedsomekeys_3.js

Line 
1" retlet .vimperatorrc
2" for Vimperator hg head
3
4command! -nargs=+ lazy autocmd VimperatorEnter .* <args>
5
6" prefs
7" ======================================================================
8" ページのアクセスキーを無効化
9set! ui.key.generalAccessKey=0
10
11" Awesomebarの補完対象にBookmarkletを含める
12set! browser.urlbar.filter.javascript=false
13
14" ポップアップ許可数を拡張 cf.http://la.ma.la/blog/diary_200611171115.htm
15set! dom.popup_maximum=9999
16
17" Gmail/LDR/Fastladder/OpenFL/はてブでは新規タブをバックグラウンドで開く
18autocmd LocationChange ^(?!https?://(mail\\.google\\.com/(mail|a)/|(reader\\.livedoor\\.com|fastladder\\.com|0\\.0\\.0\\.0\:3000)/reader/|b\\.hatena\\.ne\\.jp/(?!(entry|articles|guide)))) :set! browser.tabs.loadDivertedInBackground=false
19autocmd LocationChange ^https?://(mail\\.google\\.com/(mail|a)/|(reader\\.livedoor\\.com|fastladder\\.com|0\\.0\\.0\\.0\:3000)/reader/|b\\.hatena\\.ne\\.jp/(?!(entry|articles|guide))) :set! browser.tabs.loadDivertedInBackground=true
20
21" options
22" ======================================================================
23set defsearch=g
24
25" /,? 検索結果をハイライト
26set hlsearch
27
28" ex mode でインクリメント補完
29set wildoptions=auto
30
31" :[tab]open の補完対象と順番
32set complete=tsl
33
34" ブラウザタイトルの変更
35set titlestring=*g*
36
37" GUI Options
38set go=rb
39
40" タブを非表示
41set showtabline=0
42
43" リンクのURIをコマンドラインに表示
44set showstatuslinks=2
45
46" ページロード時にテキストボックスにフォーカスするのを防ぐ
47set focuscontent
48
49" Beep設定
50set visualbell
51hi Bell display: none;
52
53" mappings
54" ======================================================================
55" undo一覧から開く
56noremap U :undo<Space>
57
58" C-r でブラウザ再起動
59noremap <C-r> :restart<CR>
60
61" 上のディレクトリに移動
62noremap <BS> gu
63noremap <C-BS> gU
64
65" j/k でのスクロール幅を1行から3行に変更
66noremap j 3j
67noremap k 3k
68noremap <C-j> 3j
69noremap <C-k> 3k
70
71" J/K をC-d/u互換に
72noremap J <C-d>
73noremap K <C-u>
74
75" タブ移動
76noremap h <C-p>
77noremap l <C-n>
78
79" タブ順序変更
80noremap <C-h> :tabmove! -1<CR>
81noremap <C-l> :tabmove! +1<CR>
82
83" buffer
84noremap . b
85
86" 未分類のブックマークに追加/削除
87noremap ,a A
88
89" ! でページのCSSをon/off
90noremap ! :set invum<CR>
91
92" ページのエンコーディングを変更
93noremap ,es :set encoding=Shift_JIS<CR>
94noremap ,ec :set encoding=EUC-JP<CR>
95noremap ,eu :set encoding=UTF-8<CR>
96noremap ,ei :set encodeing=ISO-2022-JP<CR>
97
98" ex modeでC-jを無効化
99cnoremap <C-j> <Nop>
100
101" plugins
102" ======================================================================
103let g:plugin_loader_roots = "~/Sites/vimperator-plugins/trunk/ ~/.vimperator/load/ ~/Sites/git/littlefolk/"
104let g:plugin_loader_plugins = "_libly,char-hints-mod2,account_switcher,appendAnchor,auto_reload,copy,direct_bookmark,feedSomeKeys_3,gmperator,hatenaStar,hint-tombloo,ldrize_cooperation,maine_coon,migemo_completion,multi_requester,no-reading,pino,pixiv_tools,proxy,sbmcommentsviewer,tombloo,twitter,walk-input,stella,opener,heuristic-search,bitly"
105
106" no-reading.js
107let g:no_reading_on_statusline = 1
108
109" appendAnchor.js
110let g:auto_append_anchor = "true"
111let g:auto_append_anchor_once = "true"
112
113" sbmcommentsviewer.js
114let g:def_sbm_format = "timestamp,id,tagsAndComment"
115let g:def_sbms = "hdl"
116map b :viewSBMComments<CR>
117
118" direct_bookmark.js
119let g:direct_sbm_use_services_by_tag = "h"
120let g:direct_sbm_use_services_by_post = "h"
121let g:direct_sbm_is_normalize = "false"
122let g:direct_sbm_is_use_migemo = "true"
123noremap B :bentry<CR>
124noremap a :sbm<CR>
125noremap A :sbm<Space>
126"noremap ,a :btags<CR>
127autocmd VimperatorEnter .* :btags
128
129" hatenabookmark.js
130noremap s :hbtab<Space>
131noremap S :hbtab<Space>
132js <<EOM
133liberator.globalVariables.hBookmark_shortcuts = {
134    hintsAdd     : ' ',
135    hintsComment : ' ',
136    add          : ['C'],
137    comment      : ['c'],
138};
139if (typeof hBookmark != 'undefined') liberator.loadScript('chrome://hatenabookmark/content/vimperator/plugin/hatenabookmark.js', {__proto__: this});
140EOM
141
142" ldrize_cooperation.js
143let g:ldrc_captureMappings = "['j','k','p','o','?']"
144"let g:ldrc_intelligence_bind = "true"
145"let g:ldrc_skip = "0"
146noremap Q :toggleldrc<CR>
147
148" heuristic-search.js
149noremap ` :hsearch<Space>
150
151" multi_requester.js
152noremap ,t :twitter<Space>
153noremap ,T :twitter!<Space>
154noremap ,@ :twitter!@<CR>
155noremap ,mt :mr<Space>twitter-search-pcod-no-jp<Space>
156noremap ,mT :mr<Space>twitter-search-pcod-no-jp<Space>["retlet"]<CR>
157noremap ,mf :mr<Space>favotter-new<Space>
158noremap ,mF :mr<Space>favotter-new<Space>["retlet"]<CR>
159
160" copy.js
161noremap ,c :copy<Space>
162js <<EOM
163liberator.globalVariables.copy_templates = [
164  { label: 'titleAndURL',    value: '%TITLE% %URL%' },
165  { label: 'title',          value: '%TITLE%' },
166  { label: 'url',            value: '%URL%' },
167  { label: 'markdown',       value: '[%TITLE%](%URL% "%TITLE%")' },
168  { label: 'markdownsel',    value: '[%SEL%](%URL% "%TITLE%")' },
169  { label: 'htmlblockquote', value: '<blockquote cite="%URL%" title="%TITLE%">%HTMLSEL%</blockquote>' }
170];
171EOM
172
173" feedSomeKeys_3.js
174" Gmail
175lazy fmaps -u='^https?://mail\.google\.com/(mail|a)/' c / j k n p o u e x s r a # [ ] z ? gi gs gt gd ga gc
176" Tumblr (use: tombloo.xpi, dashboard+tombloo.user.js, reblogcommand.user.js, playontumblr.user.js)
177lazy fmaps -u='^http://[^\./]*\.tumblr\.com/' i,tj e,tk n,h
178" favotter (use: twitfavcommandminibuffer.user.js)
179lazy fmaps -u='^http://favotter\.matope\.com/' e,F
180" LDR/Fastladder (use: tombloo.xpi, ldr+tombloo.user.js, ldr_relative_rate.user.js)
181lazy fmaps -u='^http://(reader\.livedoor|fastladder)\.com/reader/' j k s a p v c z Z b,i B,b e r < > o,vj J,<Space> K,<S-Space> q w g u
182lazy fmaps -u='^http://(reader\.livedoor|fastladder)\.com/reader/' -events=keypress i,Tj T
183" iview
184lazy fmaps -u='^chrome://iviewfx/content/iview\.html' j k s a z o i,tj p
185" はてブ
186lazy fmaps -u='^http://b\.hatena\.ne\.jp/(?!(entry|articles|guide))' j k o,oj e a,b
187
188" js
189" ======================================================================
190" ステータスバーにfeedボタンを表示
191js <<EOM
192(function(){
193 var feedPanel = document.createElement('statusbarpanel');
194 var feedButton = document.getElementById('feed-button');
195 feedPanel.setAttribute('id','feed-panel-clone');
196 feedPanel.appendChild(feedButton.cloneNode(true));
197 feedButton.parentNode.removeChild(feedButton);
198 document.getElementById('status-bar').insertBefore(feedPanel,document.getElementById('security-button'));
199})();
200EOM
201
202" yourfilehost cookie削除
203" cf.http://anond.hatelabo.jp/20100108213648
204js <<EOM
205commands.addUserCommand(
206  ['removeCookieOfYourfile'],
207  'removeCookieOfYourfile',
208  function() {
209    liberator.execute('cookiemanager remove yourfilehostdatabase.com/');
210    liberator.execute('cookiemanager remove yourfilehost.com/');
211    liberator.execute('cookiemanager remove yourlifehost.jp/');
212        }
213);
214EOM
215
216" Tumblr DashboardでAutoPagerizeのBASE_REMAIN_HEIGHTを変更
217lazy autocmd GMInjectedScript '^http://www\.tumblr\.com/dashboard' :js liberator.eval("ap.remainHeight = 5000", plugins.gmperator.currentSandbox.window.AutoPagerize.addFilter)
218
219" LocalMappings
220" cf.http://vimperator.g.hatena.ne.jp/nokturnalmortum/20100128/1264675483
221js <<EOM
222function addLocalMappings(buffer, maps) {
223  maps.forEach(
224    function (map) {
225      let [cmd, action, extra] = map;
226      let actionFunc = action;
227      extra || (extra = {});
228
229      if (typeof action == "string") {
230        if (action.charAt(0) == ':')
231          actionFunc = extra.open ? function () commandline.open("", action, modes.EX)
232                                  : function () liberator.execute(action);
233        else
234          actionFunc = function () events.feedkeys(action, extra.noremap, true);
235      }
236      extra.matchingUrls = buffer;
237      mappings.addUserMap(
238        [modes.NORMAL],
239        [cmd],
240        "Local mapping for " + buffer,
241        actionFunc,
242        extra
243      );
244    }
245  );
246}
247
248addLocalMappings(
249  /^(http:\/\/(es|www).nicovideo.jp\/watch|http:\/\/(jp|www)\.youtube\.com\/watch)/,
250  [
251    ['p',  ':stplay',          ],
252    ['m',  ':stmute',          ],
253    ['c',  ':stcomment',       ],
254    ['zz', ':stlarge',         ],
255    ['r',  ':strepeat',        ],
256    ['+',  ':stvolume! 10',    ],
257    ['-',  ':stvolume! -10',   ],
258    ['S',  ':stseek! -10',     ],
259    ['s',  ':stseek! 10',      ],
260  ]
261);
262EOM
263
264" qmarks
265" ======================================================================
266qmark g https://mail.google.com/
267qmark c https://www.google.com/calendar/
268qmark p pp
269qmark l al
270qmark f af
271qmark t at
272qmark r recss
273
274" highlight/style
275" ======================================================================
276colorscheme vimplight
277
278" [tab]open等で長いタイトルがURIに被るらないように
279hi CompResult widht: 45%; overflow: hidden; max-width; 60%;
280
281" ステータスバーのアイコンの間隔を揃える
282style -name statusbar chrome://* <<EOM
283  #status-bar statusbarpanel { padding: 0 1px !important; }
284  statusbarpanel > * { margin: 0 !important; padding: 0 !important; }
285EOM
286
287" ex mode時IMEをOFF
288style -name commandline-ime chrome://* #liberator-commandline-command input { ime-mode: inactive; }
289
290" vim: set ft=vimperator:
Note: See TracBrowser for help on using the browser.