htmlファイル、MacVimときどきSafari
htmlファイルをMacVimで編集しながらSafariで確認しつつ作業をすすめるには、どうしたらいいんだろうと思ったので少し調べてみた。
nnoremap <leader>] :!open -a Safari %<CR><CR> 追記(2012/12/14) これは間違い!
これでファイル(%)編集中に、ノーマルモードで \] とタイプするとSafariで表示されるようになります。\] にしたのは、キーが近かったというだけなので、たいした意味はないです。一番後ろの<CR>は、<CR>が1つだとPress ENTER or Type command to continue が表示されるから。Safariの箇所を、firefoxとかchromeとかにすればいいです。
以上、解散!
余談: tyruさんのopen-browser.vimを入れているので、
let g:openbrowser_open_commands=["open -a Safari"] 追記(2012/12/14) これも間違い!
とした後に、:OpenBrowser % とかでどうにかなるかと思ったのだけど、テスト段階のuriで .htmlをMacVimに関連付けていたらMacVimで開いてしまったりuriの処理が面倒そうなため諦めました。
mattnさんのzencoding-vimが大活躍。
■追記 2012/12/14
tyruさんからコメントをいただき、twitterでも教えていただきました。
まず、open-browserで自分自身を開く場合は、:OpenBrowser %で開けます。ただし、通常は何も設定していないとg:openbrowser_open_vim_commandにvsplitが設定されていてVimで開いてしまうため、
let g:openbrowser_open_filepath_in_vim = 0
を設定して、vimで開かないようにする必要があります。次に、.htmlをMacVimに関連付けて設定すると、openだけではMacVimで開いてしまう(何もアクションが起きない)ため、
let g:openbrowser_open_rules = {'open' : 'open -a Safari {shellescape(uri)}&'}
を設定しました。g:openbrowser_open_rulesで、open -a Safariとするとのが、正しいやり方のようです。ここらへんの使い方がよく分からなったので参考にどうそ。というわけで、tyruさんにほとんど教えてもらったものを総合すると、
let g:openbrowser_open_filepath_in_vim = 0
let g:openbrowser_open_rules = {'open' : 'open -a Safari {shellescape(uri)}&'} nnoremap[ :silent OpenBrowser %
このようになります。
tyruさんありがとうございました!
Mac Tips その9 〜Safari6 アドレスバー表示辞めました〜
■結論
色々試した結果、Safariはアドレスバーを含むツールバーの非表示
- View > Hide Toolbar (Option+Cmd+T)
- View > Hide Bookmarksbar (Shift+Cmd+B)
- View > Hide Tab bar (Shift+Cmd+T)
に至ったのですが、なぜそこに至ったかを書いてみたいと思います。
■発生した問題点
- Empty Pageで検索するとアドレスバーにカーソルのフォーカスが残る
これに尽きます。なぜこれが問題かというと、Mac Tips その6で取り上げたブラウザでの検索方法の設定で楽になってもまだ若干面倒くさいからです。
たとえば、「遅れてきた人によるメモ」をカーソルで選択して Shift+Cmd+.(ドット) で検索すると、Empty Pageに検索語句が渡されて検索されるらしく、そうなるとなぜかアドレスバーにカーソルのフォーカスが残ります。たとえば「1画面移動するSpaceバーがすぐ押せない!」ってことになりとても不便です。
※Shift+Cmd+.はMac Tips その6で設定したショートカットキー
私の場合、vimlike-onsafariを入れてjkjkしてるため、もっと切実だったりします。
■押してだめなら引いてみろ
最初は押して解決しようというわけで、アドレスバーにカーソルがあった場合、どうやってウインドウにカーソルを持っていくかを考えていたのですが、Tabキーでの移動だとウインドウ内にテキストボックスがあったらそこにカーソルが移ってしまってSpace押しても1画面移動とか、画面のリンク先になってない箇所をクリックしてアドレスバーのフォーカスを解除とか、筋の悪そうなものしかなかった。
押してだめだったので、気分転換でView(表示)欄をいじっていてアドレスバーを消すに至りました。
■ こんなんで大丈夫なの?
アドレスバーもツールバーもブックマークバーもタブバーも表示されていないSafariです。検索したいときやアドレスを入力したいときは、Cmd+Lでアドレスバーが表示されます。
しかし、ユーザーが Cmd+L をしない限りアドレスバーは表示されないため、
Shift+Cmd+. で検索してもアドレスバーにフォーカスがあたることはありません。
これで、Spaceでもjkjkでもすぐにできます。
やったね。
■余談: 非表示という考え方
最近は、携帯電話やiPadのような比較的画面が小さなものが普及して「本当に必要な表示情報とは何か?」が共通認識になり始めているかと思います。実際、私にとっては、アドレスバーを含むツールバーやブックマークバーは、志向の範囲外では非表示であっても構わないという結論に至ったわけです。表示したければ、Cmd+L, Option+Cmd+Tで表示できるし。常に表示するものこそ、真っ先にコストとして考えないといけないものだと思います。
Safariに関して分散してしまってるから1つにまとめてみようかな。
Mac Tips その8 〜Safari6 Extensions〜
■Safari6yよりSafari5の方が…
Mac Tips その6は、Safari5.1でMountain LionからはSafari6がインストールされるようになっています。基本的には拡張機能のSafari Extensionsは引き継いで使用できるのですが、Safari6では、Safari Omnibarが使えなくなりました。
需要はあると思ったので動向を見守っていたのですが進展もなく、いい加減、この不便な現状をどうにかしたいと思ったので、とりあえずSafari Extentionsから探してみることに…
■KeySearch
すんなり見つかりました代替手段。このKeySearchをインストールすると虫眼鏡ボタンが表示されます。クリックすると検索バーが出現しますが、検索にこれは使いません。
右のギア --> Setting で表示されるウインドウの[Enable KeySearch via address bar]にチェックがついていると、アドレスバーに「キーワード 検索語」とすれば検索されます。
KeySearchサイトトップのスクリーンショットには存在していないので、追加された機能だと思います。
右のギア --> Edit Keywords で、keywordが設定できます。ここで設定をします。検索タームが「@@@」であること以外は、Safari Omnibarでの設定と変わりありません。
Keywordsウインドウ左下のギアから、Import Keywordsを選択すると、コピペで導入できるらしいです。Import keywords fromでは、一番下のKeySearchを選択して下のものをペーストすると、Importできるらしい。
たとえば、上のKeywordの設定だとSafariのアドレスバーに「a common lisp」と入力すると、amazon.co.jpで「common lisp」を検索してくれます。Cmd+lを使ってアドレスバーに移動して検索。便利だね。
ただし、Safari Omnibarでは、アドレスバーに「a 」と入力したら「|Amazon.co.jp|」のように変換されるけど、SearchKeyでは現在のところそういうことは起こらず。ちょっとさびしいね。
[
{
"keyword": "default",
"name": "default",
"url": "http://search.yahoo.co.jp/search?p=@@@&ei=UTF-8",
"enabled": true,
"shortcut": ""
},
{
"keyword": "r",
"name": "reddit",
"url": "http://www.reddit.com/search?q=@@@",
"enabled": true,
"shortcut": ""
},
{
"keyword": "wiki",
"name": "Wikipedia",
"url": "http://en.wikipedia.org/w/index.php?search=@@@",
"enabled": true,
"shortcut": ""
},
{
"enabled": true,
"keyword": "ac",
"name": "Amazon.com",
"url": "http://www.amazon.com/s/field-keywords=@@@",
"shortcut": ""
},
{
"enabled": true,
"keyword": "t",
"name": "Twitter Realtime",
"url": "http://realtime.search.yahoo.co.jp/search?&p=@@@&ei=UTF-8",
"shortcut": ""
},
{
"enabled": true,
"keyword": "a",
"name": "Amazon.co.jp",
"url": "http://www.amazon.co.jp/s/field-keywords=@@@",
"shortcut": ""
},
{
"enabled": true,
"keyword": "h",
"name": "HyperSpec",
"url": "http://www.lispworks.com/cgi-bin/search.cgi?q=@@@&cmd=Search%21&t=-D--HB-",
"shortcut": ""
}
]
■余談
Keywordsウインドウ左下のギアで、「Import Keywords」でも「Export Keywords」でもない箇所をクリックしてしまうと真っ白なウインドウが表示されてしまうバグに遭遇。そんなときは、Cmd+,で環境設定表示してExtensionsタブのKeySearchにある「Enable KeySearch」のチェックを一度外してつけ直すと元に戻ります。
Mac Tips その7 〜多重ウインドウめぐり〜
どうもMacだとブラウザでは、新規に開くときタブよりも新規ウインドウの方が好きです。そうなるとウインドウの移動ショートカットを考えないといけなくなるので、今更ながら重い腰をあげて調べてみました。
環境設定 > Keyboard Shortcutsタブ > Keyboard &Text Input項目 > Move focus to next window
これが該当項目らしい。
*初期設定だとCmd+F1が設定されています。
ファンクションキーって使えないよねー というわけで、Ctrl+Tにしちゃいました。
これは、別にSafariに限ったことではなくFinderとか知らない間に多重ウインドウになってしまっているものでも使用可能。理由は特にないです。単にタブっぽい気分になりたかっただけです。
[余談]ちなみにCtrl+Tは、Macでは文字入力の際、カーソル左1つ隣と2つ隣の文字を入れ替えます。おそらく、単語入力で「as」を「sa」とうってしまった後にでも使ったりするのでしょう。日本語では出番なさそうですね。
Safari6バグ in Mountain Lion
Safari6で使いにくくなりました。
そして、Downloadの表示増殖するバグが発生します…
タブを使用せずに別ウインドウでダウンロードをすると、
前のウインドウで増殖バグが発生。
Version 6.0 (8536.25)
■追記 2012.09.02
どうやら直ったらしい
Mac Tips その6 〜Safari Extensions他〜
こんにちは
このはてなブログというサービスはMacのSafariではまともに書けない悲しい仕様だったため未だに怖くて、この文章はFirefoxを使っているのですがSafariを使う方が何かと便利なのでいつもはSafariを使用しています。使っていると不満も出てきます。たとえば、「えっ、この広告でてくるのウザすぎ!」や「最近ネットのトラフィックとか心配だわー」みたいなお茶の間なものから、「Vimとブラウザ」みたいな哲学的なものまで。私はまだVimでTwitterする程度しか訓練されていない軟弱者のためSafariを使うわけです。こういう疑問が出てきたときは先人の教えに従うのがベターでしょう。
■ショートカットで調べもの
辞書だったら、カーソルあわせてCmd-Ctrl-Dなわけですが、調べたい単語をSafariで検索するとき、どうしていますか?
私は色反転させてショートカットキーを使ってます。環境設定[キーボード]の[キーボードショートカット]の[サービス]にある[検索]に、その問題のショートカットキーがある。「Search with Yahoo!」とあるのはYahoo!をデフォルトにしてるから(GoogleだったらGoogleと表示される)。おそらく、デフォルトでは「Shift-Cmd-L」になっているはず。で、何が問題かというとSafari 5から追加された機能のリーディングリストにそのショートカットキーが奪われてしまって機能しなくなってるわけです。というわけで「Shift-Cmd-.(ドット)」にしました。これだと右手だけで気軽に検索できます。
Safari以外を色反転しても使えることが多いので、この機能が使えるからSafariを使っていると言ってもいいかもしれません。
■vimlike-onsafari
SafariをVimっぽく使うためのExtention。なので、矢印移動のhjklが使える。リンク先にキーバインドが書かれているので詳細はそちらで。[normal]モード(通常)でfか/を押すと、リンクがある箇所の左上に文字が表示されます。「D」と表示されている場所だったら、dとタイプしたらフォーカスがあたるので、returnを押すとリンク先に移動する。ちなみにリンク先にはないのだけど、Cmd-Returnだと新しい窓で表示される("F"の後にReturnでも別窓になるらしい)。文字を表示したけど画面をC-dで下に半分スクロールしたい場合とかは、fや/で表示したリンク先の文字はSpaceで非表示になります。他には、ggで一番上に移動するのとGで一番下に移動するのを覚えておけば大丈夫だとおもいます。
このブログでfでリンク先を表示してdで選択した際のキャプチャ
[追記] このExtensionは、Flash内での文字入力や普通のテキスト入力でも機能がOFFにならないことがあります。入力時にタイプした文字を拾ってしまうのですが、そういうときのための[useonline]モードがあるみたいです。これは、Shift-Escとタイプすると[normal]モードから移行します。Vimでいうところの[insert]モードでしょうか。
[さらに追記] "r"で更新、"d"でブラウザを閉じる、これに独自定義(KeyBindingsEditor使用のCtrl-mにinsertNewline: 改行のこと)が便利です。Safariでは、タブがFlashとかのプラグインの読み込みのためには表示しないといけないらしく(経験的勘)不便なので、使っていません。ここらへんどうにかなってたらうれしいんだけどな。タブ移動でJKJKできるから。
AdBlockは表示されるページから不必要なものを非表示にするExtension。別に広告を非表示にするだけではなく、このサイトのこのカラム邪魔じゃん…っていうときとかにも使える。条件にマッチした要らない子を非表示にしてしまうすぐれもの。ただし、前処理をするため、やり過ぎると表示が遅くなってしまうため注意が必要。OptionsでFilter ListにあるJapanese filtersを選択していれば、
これが、
こうなる。
ほかには、「Facebookとか何それ?」なので、
[Block on ad on this page]を選択して該当するところをクリックしたら、
つまみが出てくるので、広げて表示に問題がなければ[Looks good]します。
このブログで例を作ろうと思ったのだけど全然面白くなかったので、普段見ないサイトで作成。
■Do Not Track Plus
Do Not Track Plusでは、「トラッキングって怖いわよねー、でも実際のところどうなってるの?」が視覚的に分かるようになります。ためしに、自分のブログを見ると
こんな感じにブロックしたものと数が表示されます。
別のサイトを見ると、
まあ、しがらみのように色んなものがでてくるわけです。これ自体は、ブロックすることは可能であっても非表示することはできないのでAdBlockとの合わせ技が必要になります。
■Awesome Screenshot
Awesome Screenshotは、このTipsを書こうと思い立って、ブラウザのスクリーンショットを撮るのが意外と面倒そうだったので探したExtension。使い方は、簡単なので紹介のみ。ちなみに、vimlike-onsafariで使用した画像はこのExtensionで加工したものです。
2013.10.13追記
画像をマウスオーバーすると「See Similar」と出てきていい加減鬱陶しくなったので調べてみたら、Awesome Screenshotに「Enable similar product search powered by Superfish」というチェックボックスがあった。このチェックを外せば出てこなくなるはず。そろそろ、さよならした方がいいのかな。
おまけ
■Safari Omnibar (Safari6には非対応!)
Safari Omnibar Safari 5.2以降は検索欄がなくなるらしいと聞いて。アドレスボックスの表示される履歴が荒れるのを嫌って検索ボックス派でしたが、設定で"alc test"でalcで検索できるとか"a Common Lisp"でamazon.co.jpで検索とか便利すぎたので、最近導入しました。
- Yahoo! Japan y http://search.yahoo.co.jp/search?p={searchTerm}&ei=UTF-8
- Amazon.co.jp a http://www.amazon.co.jp/s/field-keywords={searchTerms}
- Amazon.com ac http://www.amazon.com/s/field-keywords={searchTerms}
- Twitter Realtime t http://realtime.search.yahoo.co.jp/search?&p={searchTerms}&ei=UTF-8
- alc alc http://eow.alc.co.jp/search?q={searchTerms}
- HyperSpec h http://www.lispworks.com/cgi-bin/search.cgi?q={searchTerms}&cmd=Search%21&t=-D--HB-
とりあえず、まだまだ周回遅れな感じがするけど仕方ない。
Mac Tips その5 〜Finderショートカット〜
こんにちは、MacのFinderはカラム(Cmd+3)で使う派です。
普段は矢印キーで移動していて、Cmd+Shift+Hがホームディレクトリーに移動する程度しか覚えてないのですが、いい加減、Downloads(ダウンロード)とかへショートカットキーで移動したくなりました。
というわけで、FinderのGoを見れば一発です。
■説明
⌘(Cmd): 言わずと知れたコマンドキー、保護者のから最近独立
⇧(Shift): シフトキー、上にシフトするってことでしょうか
⌃(Ctrl): Windowsとは役割の違うコントロールキー(今回出番なし)
⌥(Option): 扱いに困るオプションキー
基本的にはCmd+Shift+"頭文字"ですが、Downloadsのみ例外でOption+Cmd+L。"D"のように多用される頭文字は、使用頻度(?)で次の文字もしくは印象に残りそうな文字が使用されているようです。
ダウンロードさん、みたいに訛っているようです。
このショートカット、「ファイルを開く」のようなファイル選択のときにも使えます。
ちなみに「ファイルを開く」では、Cmd+Dでデスクトップに移動できますが、普通のファインダーではCmd+Dが現在選択しているファイルを複製(コピー)してしまうので大人しくShift+Cmd+Dを使用しましょう。
最近、簡単なネタになっていますが仕様です。
■Macのキーで参考にしたページ
Special Key Symbols
http://macbiblioblog.blogspot.jp/2005/05/special-key-symbols.html