個人的なブラウジングパターン例

mac
私の日々の適当ブラウジング日記のようなものです。正直なところ、あまりブラウザ使ってないです。というよりも、あまり使いこなせていないが正しいのですが...。

photo credit: cmdm


ブラウザには、様々な機能がありますが、ブラウザの主な用途に、Webサイトの閲覧があります。私も日頃の情報収集の結果として集まった記事は、GUIブラウザで閲覧します。ブラウザは、 Google Chromeというものを使っています。


しかし、基本的には動画すら見ないため、基本機能をオフにしていることが多いです。例えば、私の場合、動画を再生するときには、Terminalからコマンドを打ち込み Flash Playerを有効にしなければなりません。


このように、私は、ちょっとだけブラウザの使い方が独特な気がします。よって、今回は、私の日々のブラウザの使い方を記事にしてみたいと思います。


開く



まず、気になった記事は、Twitterに共有し、一気に開きます。 TweetVimなんか便利です。また、テキストにあるものを開いても良いと思います。私の場合、URLは、テキストに保存し、Dropboxなどで共有することがあります。

#!/bin/bash
line=`cat $1 | wc -l | tr -d ' '`
a=`expr $line + 1`

for (( i=1; i<$a; i++ )); do
url=`sed -n ${i}p $1`;
echo $url;
open -a Google\ Chrome "$url";
done

exit 0



$ cat url.txt
http://www.google.co.jp/
http://mba-hack.blogspot.jp/

$ chrome_open_url url.txt



読む




Terminalの透過度をMAXにして、Terminalからブラウザを操作して記事を読んでいきます。ここで、単純操作は、 AppleScriptを利用します。





-- chrome.scpt: control Google Chrome
-- Author     : ramusara<ramusara@gmail.com>
on run argv
tell application "Google Chrome"
tell active tab of window 1
if ("next" = item 1 of argv) then
execute javascript "var x = document.documentElement.scrollLeft || document.body.scrollLeft; var y = document.documentElement.scrollTop || document.body.scrollTop; y += 200; window.scroll(x, y);"
else if ("previous" = item 1 of argv) then
execute javascript "var x = document.documentElement.scrollLeft || document.body.scrollLeft; var y = document.documentElement.scrollTop || document.body.scrollTop; y -= 200; window.scroll(x, y);"
end if
end tell
end tell
end run


Google Chromeで閲覧中のページをEmacsからスクロールする


tell application "Google Chrome"
close active tab of window 1
end tell



Google-Chrome AppleScript Dictionary


あとは、実行権限を与え、パスの通った場所にコピーしましょう。


chmod +x *.scpt

echo $PATH

sudo cp *.scpt /usr/local/bin



主に、Vimを開いている時に読むことが多いので、キーでも設定しておきましょう。ここでは、一応再利用を予定し、プラグイン化しておきます。


command! -bar ChromeScrollDown silent !which chrome_scroll.scpt | xargs -J i osascript i next

command! -bar ChromeScrollUp silent !which chrome_scroll.scpt | xargs -J i osascript i previous

command! -bar ChromeTabClose silent !which chrome_tab.scpt | xargs osascript



nnoremap <silent> <Leader>j :ChromeScrollDown<CR>
nnoremap <silent> <Leader>k :ChromeScrollUp<CR>
nnoremap <silent> <Leader>q :ChromeTabClose<CR>



これで、Vim上で <Leader> + jを押すと、Chromeで開いているアクティブなタブが下にスクロールします。おすすめのキーバインドがあれば、是非教えて下さい。


submode.vimとか便利かもです。


NeoBundle 'kana/vim-submode'



call submode#enter_with('cscroll', 'n', '', '<Leader>j', ':ChromeScrollDown<CR>')
call submode#enter_with('cscroll', 'n', '', '<Leader>k', ':ChromeScrollUp<CR>')
call submode#map('cscroll', 'n', '', 'j', ':ChromeScrollDown<CR>')
call submode#map('cscroll', 'n', '', 'k', ':ChromeScrollUp<CR>')


submode.vim とその設定例なんかを紹介 - 永遠に未完成

submode.vimをより便利に使う


ヒント



osascript -e



ちなみに、コマンドから直接、AppleScriptを実行したい場合は、以下のように -eオプションを付けます。


osascript -e 'tell application "Google Chrome" to get copy selection of active tab of window 1' && pbpaste



vim command



また、例えば、上記をVimコマンドで実行したい場合は、以下のようになります。

:r! osascript -e 'tell application "Google Chrome" to get copy selection of active tab of window 1' ; pbpaste



以上よりこれらを設定ファイルに直接書けば、上記の手順をかなり省略できます。 AppleScript及び、 VimPluginは、繰り返し再利用することがないのであれば、設定ファイルに直接書きましょう。


Google Chrome meets AppleScript


xargs -J



xargsは、 -Jオプションを使うことで、引数を任意の位置に配置できます。


$ ls
url.txt

$ tr : '\n' <<<$PATH | grep "local/bin" | head -n 1 | xargs -J % sudo cp url.txt %



上のコマンドは、パスの通った場所にファイルをコピーするコマンドです。


iTerm2



iTerm2では、スクリーンの透過度を設定出来ます。例えば、透過度をMAXにしたプロファイルを作成しておき、それをショートカットキーに登録します。


このようにすることで、ショートカットキーで、手軽に透過度をMAXにできます。


また、 Command + uで透過度なしにできます。


例えば、何かを書きながら、記事を参照したい場合などには便利です。




URLとタイトル



現在、Chromeで開いているページのURLとタイトルを取得したければ、 currentwebpageを利用するなり、AppleScriptを利用するなりしてください。

tell application "Google Chrome"
set pageURI to get URL of active tab of window 1
set pageTitle to get title of active tab of window 1
return pageTitle & space & pageURI
end tell



$ open -a Google\ Chrome

$ osascript chrome_url_title | pbcopy && pbpaste



AppleScriptは、パスの通った場所にでもコピーして、以下を実行しましょう。


which chrome_url_title | xargs osascript



何が嬉しいのか



Terminalからブラウザを操作して、何が嬉しいのかというと、一番は、メモリやCPUの節約ができるからでしょうか。


特に、Macで使う Chromeはメモリをかなり消費します。よって、私の場合は、起動時にプロセスを制限し、各種機能、プラグインを無効化して使っています。また、アドオン(拡張機能)もあまりインストールしていません。


しかし、特に不便はありません。なぜなら、 気になった記事があれば、Terminalからでも、コマンド一発でコメント付きのTwitter共有をすることもできますし、他のSNS共有も同じです。


そんなこともあり、Terminalからのブラウザ操作は、意外とおすすめだったりします。