今回は、Google Chrome
というブラウザでのブラウジングを快適にする様々な小技を提案していきたいと思います。
ここで、ブラウザとは、インターネットを閲覧するアプリのこと。ブラウジングは、インターネットの閲覧のことと考えていただければと思います。
ただし、あくまで提案ですので、完璧に便利なものとは言いがたいです。
よって、簡単なハックで、便利にできるかもしれません。もっと良い方法を思いついた方は是非コメントのほうをよろしくお願いします。
##起動オプション
Chrome
には、起動オプションというものがあります。私は、以下のようにしてコマンドラインから起動するのですが、エイリアスというショートカットを利用して、様々な起動オプションを付けて起動することにしています。
open -a Google\ Chrome
open -a Google\ Chrome --args --incognito --disable-javascript --disable-java --disable-plugins --disable-background-mode
alias g="open -a Google\ Chrome --args --incognito --disable-javascript --disable-java --disable-plugins --disable-background-mode"
これで、g
コマンドでChrome
を起動オプション付きで起動出来ます。以下、おすすめオプションの解説です。ちなみに、Macユーザーの場合は、 --args
を追加しましょう。
オプション | 内容 | おすすめ度 |
---|---|---|
--incognito | シークレットモードで起動する | ★★★ |
--purge-memory-button | Chromeのタスクマネージャにメモリ解放ボタンが追加されるらしい。しかし、すでに廃止している可能性。 | ★ |
--disable-background-mode | バックグラウンドモードを無効にする | ★★★ |
--disable-javascript | JavaScriptを無効にする | ★★ |
--disable-java | Javaを無効にする | ★★★ |
--disable-plugins | プラグインを無効にする | ★ |
--gpu-startup-dialog | GPUプロセスが起動するときにダイアログを表示 | ★ |
起動オプション - Google Chrome まとめWiki
##基本機能
プロセスを監視、終了するにはタスクマネージャーを起動します。Windowsの場合は、 Shift
+ Esc
です。Macの場合は、メニューバーの ウィンドウ
から起動出来ます。また、アドレス:chrome://memory-redirect/
なども便利です。
アドレス : about://plugins/
にて、必要ないなら全て無効にできます。
Google Chromeの「about :コマンド」一覧 | 気ままな宇宙人
##Feedly
最近、RSSリーダーのGoogle Reader
の終了に伴って、Feedlyが人気です。ここで、登録が面倒という人もいるのではないでしょうか。よって、現在開いているRSSのURLページを簡単に登録する方法を紹介します。
ちなみに、RSSというのは、個別サイトの更新を配信する仕組みで、RSSリーダーというのは、たくさんのRSSをまとめて配信するような仕組み。RSSクライアントは、RSSリーダーの配信を分かりやすく、かつ見やすいようなインターフェイスを提供するものと考えていただければと思います。
一例として、現在開いているページのURLを取得し、そこに、Feedly Add…
用のURLを付け足しブラウザで開きます。必要なものとして、 currentwebpageを使います。
git clone https://github.com/hetima/currentwebpage.git ~/Downloads/currentwebpage
cd ~/Downloads/currentwebpage
xcodebuild
cd ~/Downloads/currentwebpage/build/Release
./currentwebpage
sudo cp currentwebpage /usr/local/bin
exec $SHELL
function feedly(){
url=`currentwebpage -u`
open -a Google\ Chrome "http://www.feedly.com/home#subscription/feed/$url"
}
source ~/.zshrc
これで、Feedly
コマンドで現在開いているRSSページをFeedlyに簡単登録出来ます。
##Chromeでのブラウジング
ブラウザには、様々な機能がありますが、ブラウザの主な用途に、Webサイトの閲覧があります。私も日頃の情報収集の結果として集まった記事は、GUIブラウザで閲覧します。ブラウザは、 Google Chrome
というものを使っています。
しかし、基本的には動画すら見ないため、基本機能をオフにしていることが多いです。例えば、私の場合、動画を再生するときには、Terminal
からコマンドを打ち込み Flash Player
を有効にしなければなりません。
このように、私は、ちょっとだけブラウザの使い方が独特な気がします。よって、今回は、私の日々のブラウザの使い方を記事にしてみたいと思います。
###ChromeでURLを開く
まず、私は、気になった記事は、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
###Chromeで閲覧する
Terminalの透過度をMAXにして、Terminalからブラウザを操作して記事を読んでいきます。ここで、単純操作は、 AppleScript
を利用します。
以下のスクリプトは、Chromeで現在開いているアクティブなタブを、上下にスクロールするために使用するものです。基本的には、$ osascript chrome_scroll.scpt next
のように使います。
-- 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 += 100; 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 -= 100; window.scroll(x, y);"
end if
end tell
end tell
end run
Google Chromeで閲覧中のページをEmacsからスクロールする
次は、Chromeで現在開いているアクティブなタブを閉じるスクリプトです。$ osascript chrome_tab.scpt
のように使います。
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
exec $SHELL
主に、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'
vim +NeoBundleInstall! +qall
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 とその設定例なんかを紹介 - 永遠に未完成
また、ブラウザ操作は、基本、vimshell
上で行うと、良いかと思います。
##ヒント
###osascript -e
ちなみに、コマンドから直接、AppleScriptを実行したい場合は、以下のように -eオプションを付けます。例えば、以下は、Chromeで開いているアクティブなタブで範囲指定している部分のテキストをコピー&ペーストするコマンドです。
osascript -e 'tell application "Google Chrome" to get copy selection of active tab of window 1' && pbpaste
上記をVimコマンドで実行したい場合は、以下のようになります。
:r! osascript -e 'tell application "Google Chrome" to get copy selection of active tab of window 1' ; pbpaste
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
上のコマンドは、現在Chromeで開いているページのタイトルとURLをコピー&ペーストするコマンドです。
AppleScript
は、実行権限を与え、パスの通った場所にでもコピーして、以下を実行しましょう。すると、以下のコマンドで簡単に呼び出せます。
which chrome_url_title | xargs osascript
###何が嬉しいのか
Terminalからブラウザを操作して、何が嬉しいのかというと、一番は、メモリやCPUの節約ができるからでしょうか。色々なプラグインやアドオンを使わなくて済みます。
特に、Macで使う Chromeはメモリをかなり消費します。よって、私の場合は、起動時にプロセスを制限し、各種機能、プラグインを無効化して使っています。また、アドオン(拡張機能)もあまりインストールしていません。
しかし、特に不便はありません。なぜなら、 気になった記事があれば、Terminalからでも、コマンド一発でコメント付きのTwitter共有をすることもできますし、他のSNS共有も同じです。
そんなこともあり、Terminalからのブラウザ操作は、意外とおすすめだったりします。
##プロセスを制限する起動オプション
open -a Google\ Chrome --args --renderer-process-limit=2
##Twitterへの共有
alias tt='vim +TweetVimSay'