シェアがドンドン下がっている事についてmozillaって何か思う所はないのかな

今月のシェア 先月のシェア
Firefox 10.52% 11.15%

もう去年の年末から物凄い勢いで下がってる気がするが。はっきりいってfirefoxのキーとなる拡張、いやもっと極端に言ってしまうと今のブラウザにおけるキーとなる拡張はuserChromeみたいなのと、keySnailやVimperatorみたいなキー設定の拡張。だと思うんだよ。っていうか他に何があるんだよ逆に。そこさえ残して高速でもWE化でもすればよかったと思うが一番大事な差別化できるところを削ってしまった。その辺以外の拡張は大体どのブラウザもあるので差があんまりつかない。だから速度の方が大事になる。でもfirefoxにはその辺の機能で差別化できるだけのメリットが残っていた。でも58以降のfirefoxには総じてそこがない。firefoxfirefox以外で比較した時に何が残っているのか。一体何を売りにしようとしているのか。firefoxはどこに向かっているのか。

Emacsでもwinkey.l

少し前からemacsを色々試していてそれなりに便利に使えるように調整は出来てきたなとは思っていたのだけど、xyzzyでいうところのwinkeyっぽい挙動にするlispがあるのかどうか良く分からなかったので適当に作ってみたりした。ついでにxyzzyのWinkeyと少し変えてクリックしている時にはC-vでpasteも出来るようにしたら何気に便利。もうこれでWindowsキーバインドとの衝突は起きないですむし複雑なキーバインドも必要なくて極めて直感的になった。xyzzyと違うのはクリップボードとキルリングが同じなのでemacsの方がやや低機能になってしまう所だけどキルリングが同じだから便利みたいな所もあるような気がする。

org-modeを最近使っているのだけどorg-modeは何気に重い。最近のPCでもまだemacsが重いとは思ってなかっただけにちょっとびっくりした。その点xyzzyは相当やっても異常に軽いのはWindowsとの親和性と基本性能の高さによるのかもしれない。あとはマイナーモードで使うアウトラインモードの設定もイマイチよく分からないのと、grepが結局xyzzyの方が簡単というかgrepの基本UIが高性能とか不満はまだ残っている。逆にemacsでファイラがないから仕方がなく使ってた、diredが慣れてくると逆に便利だというのに気づいたので、xyzzyでも移植されていたxdiredを導入してみた。xdiredを入れるまでは結局全部バッファに呼び出してoltでバッファを切り替えていたのだけど、xdiredだとそもそもバッファ呼び出さなくてもC-c C-d でフォルダからそのつど編集する奴を開けば十分だというのに気づいた。その方がバッファの数が少ないのでC-xC-bやらF2、スイッチバッファでのバッファの切り替えが楽。まあxyzzyだとemacsと違って何個バッファ開いてもほぼ重さは変わらないけど、

細かい所の使い方がある程度分かったら最近のバージョンのEmacs日本語環境で、定番カスタマイズの話でも書くかも。

firefox57 の代替アドオン!

そんなものは存在しなかった
一応様子見しながら57出ても何とかなるんじゃないかなとか思ってたけどfirefoxは普通に死んだかも。わりと真面目にどうやって元のfirefoxユーザーが57以降も使い続けれるのか調べて見ても方法が今の所見当たらない

Firefoxの以前と同等程度か若干劣化程度の代替手段が存在しない拡張

 キーカスタマイズやマウスジェスチャがない時点で「え?」ってなるが、ダウンローダもないので基本的な拡張機能はほぼ代替品がないと見ていい。
 特にKeySnailとかvimっぽい挙動にする拡張の類が軒並み死んでいるのが痛い。これらの拡張の実情はemacsvimっぽいキー設定の特殊な拡張というよりはむしろ汎用のキーカスタマイズの拡張であり、2段階キーマップとか同時押しの割り当てができたりするための割と普通のキー設定の拡張でもあった。そう別にemacs風にしなくてもvim風にしなくても、キーカスタマイズしたい場合はその辺の拡張が普通に一番便利だった。そこにjavascriptで独自の動作を割り当てれをちょこちょこ書くと、ちょっとした動作も出来るというカスタマイズ機能がついていた。だからエディタの宗派によらず誰が使ってもfirefoxのキーカスタマイズが今あったブラウザでは普通に最強だったと思う。
webページ上だけのキー設定ならば(Chromeとかでもできるような)、割と簡単でそれだけならbookmarkletとかでも普通に動くのだけど、ブラウザの機能にアクセスできる機能というとChromeとかは全く存在していない。例えばテキストエリアのキー設定をemacs風にするのは簡単だけど、それが検索バーやアドレスバーでも有効かと言うとそうではない。またブラウザが独自に持っているショートカットキーを上書きできないパターンとか。例えばC-nで次の行で移動したい時に新規ウィンドウとかが開いてしまったりする。上手く元の機能を潰す必要もあってChromeでは中々一筋縄ではいかない。さらにHoK的なブラウズする時にキーボードでリンク先を移動する機能がまた劣化するなど色々Chromeは不便になってしまう。ソウイウコトを考えると、現状のブラウザではキーカスタマイズソフトでやった方がEmacs風にするだけなら早くなっている*1
似たようなブラウザの機能にアクセスできない問題がありとあらゆる所で起きている。マウスジェスチャでもjavascriptでカスタマイズしたジェスチャが割り当てれなかったり、2chブラウザ的なものも全て消滅(これは2chが死に掛かっているので大きな問題ではないけど)。割と今まで他のブラウザに差をつけれていたカスタマイズ部分が軒並み平凡になってしまった。

といっても乗り換え先があるわけでもない。他のブラウザでは拡張性が低いので元々firefoxと同じような事は出来なかった。だからFirefoxがダメというより、唯一できたfirefoxが死んでしまい、代替するブラウザがなくなっただけではある。拡張を抜きに考えると、重さや挙動からfirefox以外が選ばれる可能性が非常に高いのでfirefoxはほぼ死に体であることは代わりがないけど。

ビックバンを引き起こす
わけがねーだろと。正気かと。
この記事前見た時も思ったけど案の定

*1:勿論ブラウザの機能にはアクセスできないのでkeysnailよりははるかに劣るけど

検索エンジンを追加する

firefox検索エンジンの追加で検索すると、こういうヘルプがトップに来てしまうので、本当に知りたいほうのメモ。

まず少し前はだいたいxmlファイルをいじれば何の問題もなく直ぐに変えれた

Windows
    %APPDATA%\Mozilla\Firefox\Profiles\xxxxxxxx.default\searchplugins\
Mac OS X
    ~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/searchplugins/
Linux
    ~/.mozilla/firefox/xxxxxxxx.default/searchplugins/

前はこういう場所のxmlファイルを適当にエディタで書き換えるだけで簡単に変更できたのだけど、その後検索エンジンをインストールできるようになったり、設定場所が隠されたりとなんか色々複雑に。多分デフォルトの検索エンジンに設定する事でお金がfirefoxに行く仕組みなので簡単に変えれなくしているのだろうけど、表向きの理由はセキュリティとかそういうような話になっている。


■調べたら面倒だったのでURLの所から検索できる奴を利用する事に
で、非常に面倒だったのでロケーションバーでサーチする奴なら手軽に編集できるのでそっちをメモしておくことに。
Firefoxの場合、検索バーでなくロケーションバーに文字を撃ち込んでも検索できるのでそれを利用する方が今の仕様だと自分で検索をちょっといじって使う程度の場合には100倍便利な気がした。

・やり方
ブックマークの中にあるクイックサーチに適当にお気に入りを作って編集するといい感じになる。新しくお気に入りを作りたい時は"新しいブックマークを追加"。元々ある奴を少しいじるだけいい人は右クリックから"コピー"して右クリックから"貼付"でも出来る。編集する場合はお気に入りを右クリックして"プロパティ"で編集できる。編集する項目は

名前(N):
URL(L):
タグ(T):
キーワード(K):
説明(D):

とあるが、名前は適当に決めて、URLは検索したいサイトのURLに設定するだけ。便利に使うにはキーワードは設定しておいたほうがいい。キーワードを設定すると便利というのは、例えば

名前(N):Google
URL(L):http://www.google.co.jp/search?q=%s
タグ(T):
キーワード(K):google
説明(D):

とすると、ロケーションバーで"google aiueo"と打ち込んでEnterでgoogleから検索できる。URLの所は"%s"が検索した"aiueo"という単語に置き換わってくれる。

・折角なので少し実用的な例で英語版のGoogleから検索するクイックサーチ
こちらを参考してGoogleの英語版のurlを設定。

名前(N):Google.com
URL(L):https://www.google.com/search?gl=us&hl=en&gws_rd=cr&q=%s
タグ(T):
キーワード(K):ge
説明(D):"ge <検索キーワード>" とロケーションバーに入力すると Google 英語版で検索できます。

参考にしたページに書かれているURLはそのままだと検索結果ではなく検索ボックスのあるページに行ってしまうので、直接検索結果を出したいからwebhpをSearchに変更して使う。これで英語版のGoogleから検索できる。これのいいところは日本語版のGoogleと全然検索順位が違うので、英語ページの調べ物をしたいときとかはかえってこっちの方が便利という事が結構ある。あとGoogle自体の機能が少し違うので例えば。"timer 10 minutes"とか検索するとGoogle英語版のみの機能でタイマーが動く。日本語版だとこれは機能しない。

・折角なのでタイマーを直接ロケーションバーからカウントするように
折角なので上で書いたGoogleのタイマーの話を少し応用した例

名前(N):Google Timer
URL(L):https://www.google.com/search?gl=us&hl=en&gws_rd=cr&q=timer %s minutes
タグ(T):
キーワード(K):t
説明(D):"t <検索キーワード>" とロケーションバーに入力すると Google 英語版で検索できます。

Googleのタイマーを直接ロケーションバーから呼び出す。ロケーションバーから検索する時は"t 10"みたいに検索すると10分のタイマーになる"t 60"とすれば1時間のタイマーになる。

・具体的な使い方とかの話
Firefoxの場合はデフォルトの設定だとAlt+D*1、Ctrl+L*2がロケーションバーにフォーカスできるので、ショートカットから打つと楽な気がする。検索バーでもページ内検索でも同じだけど検索する為に基本的に文字を打つ必要がある場合は結局手をマウスからキーボードに移動させるので、そういう動きの時はキーボードショートカットが速くて楽。問題なのは結局マウスとキーボードの持ち替えなので、どうせキーを打つ時はショートカットが効く。
Ctrl+Tもいい。Firefoxだと新しいタブがデフォルトのキー設定でCtrl+Tなので。C-tした時に出る新しいタブが良く開くタブとかにしたりとデフォルトで色々設定できるので利便性が高く、新規でタブを開きたい時とページをそのまま同じタブで変えたい時の混同がなくて間違いがない。特に何か書いてて途中で検索してページが切り替わってしまって書いていた文字が消えたりするとイライラするので打ち間違い防止も出来ていい。

・本当は検索バーを設定できる方がいいという話
 本当は検索バーをもっと簡単に変えれる方がいいとは思う。理由としては検索バーはインストールする仕組みなどが合って、設定が面倒な人も誰かが設定したのをボタン一つで入れれて便利だったりするので。あと、右クリックで検索した時やマウスで検索操作をした時に検索バーの設定が反映されたりと、検索バーの検索の設定の方が汎用性が高いので検索バーの設定に何個もあると楽。というか古いFirefoxの検索バーはそういう風に簡単に切りかえれる仕様だった。だからマウスで選択しておいてマウスジェスチャーで適当な動作をするとその選択した単語で違う複数の検索を選んだりとかが検索ボックスと連動してたりと割とキーボードを使わない方向性のカスタマイズとかも楽だったりした。
 最近のFirefoxはWE化で拡張が対応できず、ありとあらゆる事ができなくなってしまっている。拡張の問題というよりAPIがセキュリティ重視という名目で拡張の仕様を変えてしまい、chromeのウェブアプリみたいになっている。何となく想像するにアプリ化したい理由はアップルがやったアプリストアとかみたいにすれば有料の課金構造を作り出せるので凄く収益が上がるからアレをやりたいんだと思う。ユーザーとして言わせて貰えばアップルのやりかたは少し問題がある。あのやり方で利益を上げさせてしまうのはアップル以外の他社にもあのやり方でやればいいんだという間違ったメッセージを送る気がする。最近ではアップルのiOSに比べるとMSのWindowsがなんてすばらしく良心的なんだろうと思えるくらいで、正直最近他の企業のやり方が酷すぎて一時期は悪名を欲しいままにしたMSが今となっては結構優しい会社なんじゃないかという風に見える。これはもう少し消費者側が考えないと駄目な所。

*1:これは左手だけで打てるのでマウス持ってるときはこっちのがいい

*2:locationのLで覚えやすい

細かすぎて伝わらない物まね的なemacsの話

emacsの方はwindowsだとshellも実は苦しくてcmdなのかbashなのかcygwinなのかそうじゃないのかとかで細かく環境が分かれていてそれぞれがまた微妙に違う。そしてそこにVMwareとかターミナルとかの違いがある。そうemacsを動かすのもターミナルから動かす人と、emacsの上でshellを動かすパターンがあって、やたらと実行環境の違いが多い。そしてどのパターンもみんな微妙にアレが動いてこれが動かないとかみたいなのが細かく違うという狂気をはらんでいるのだった。

つまり検索して出てくる環境がみんな違って案外自分の問題に当てはまらないというパターン。

あとやっぱり色々やって気になったのはSKKIMEのバランスと。本の少し前のバージョンでもIMEだと入力がラインからずれたりとか、IMEパッチをあてると今度は別の問題が出たりとか細かい環境差で結構問題が違ってくる。gitの方のutf-8とかも割りと最近の話なんだよね。日本語を使おうとすると急に不便になる。emacsも実は最近imeがまともになってきたくらいで、前はSKKの方が明らかによかった気がする。SKKだと今もライン行とかの色の設定を維持したりとwindowsのエディタよりも日本語入力がエディタと親和性がたかいところが前からあったんだけど、変換能力がやっぱりIMEの方が随分賢いというか。廃れ行くSKKに依存するのが怖いというか。

git bash で文字化けしたので何とかした話

最近本当にemacsだと時間さえかければ出来るのかどうか気になってちょくちょく設定作業をしてみているんだけど、流石にxyzzyと同じ風にするのは非常に大変。別の便利さがある別のやり方の方がemacsだと便利というパターンが多いけど、じゃあそれが凄い便利なのかというというほど便利じゃなくて仰々しい多機能さと実際に使う時の不便さが同居するみたいなのが多い*1
それはxyzzyでも実は似たようなところがあって、自分で時間をかけて作った便利機能みたいなのより、10分位で作ったちょっとした気の聞いた小粒の機能の方が役立ったりするという。gitの奴もおなじで色々コマンドを補完する機能とかつけた奴は全く使わず結局git-bashを立ち上げるだけのを頻繁に使っている。そこで似たようなのをemacsで動かそうとすると文字化けしてしまう。理由がよく分からない。

どちらもほぼやることは一緒で、同じgit-bash.exeを起動するだけなんだけど、なぜかemacsの奴だけ文字化けするという謎。多分shell-commandとxyzzyのshell-executeで実行する時に微妙に何か違うんだと思う。どちらも.bashrcは読み込んでるんだけど、多分.gitconfigか何かをemacsの方だけ読み込んでないか何かな気がする。

■解決したので追記 11/22

 なんていうか、普通の設定の問題ではなかった。ウィンドウの左上のアイコンの所をクリックすると出るメニューからオプションを選び、オプションのウィンドウからtextの項目にあるLocaleを色々変えてたら普通に文字化け治った。てかコマンドでlocale設定は色々してたんだけど治らずにウィンドウのオプションいじったら治るのも割りと謎。迷ったのは設定項目が

みたいにエンコードの設定が少なくとも4つあって、それぞれの設定方法が2種類から3種類位ある所にあったように思う。どこを自分が設定していてどこを設定していないのかが非常に分かり難い。そしてこれ前も同じことをやらかしていたらしく前回も結局ウィンドウのアイコンをクリックして出るオプションでなおしていたようなので、丁度いいからメモしておく。メモは大事。

追記:設定項目がもう一つあった

  • .minttyrc
Locale=ja_JP
Charset=UTF-8

上の4つを設定しても文字化けしたままになったので変だなと思って、mintty の設定もしてみたら日本語が表示された。

*1:例えばアウトラインツリーをemacsで再現しようと思うと結構上手くいかなくて、org-modeみたいなxyzzyではない折りたたみ機能がかえって便利。でもorg-modeは仰々しい感じで使わない機能も沢山ある。そして解析してくれるのがxyzzyだとoltをマウスでポチポチすると色々変えれたり見出しの文字を正規表現で指定したり出来て痒い所に手が届く。デフォルトでも色々入ってて構造化エディタのアレとかにもマウスだけで簡単に見出しが変えれる。一方emacsだと基本見出しの撃ち込み方とかデフォルトの奴が他の機能とかでも何かと便利なので構造を強制的にorg-modeの記法にせざるをえないとかあったりなかったりする。けど個人的にはこれは不便だなと思う。

xyzzyって便利だなって

昨日Emacsかviがいいぞなんていった手前ちょっと思い出したように今の情報をかき集めようとした結果、手前味噌というか相変わらず今でもxyzzyのすばらしさに気づいてしまう。今の新しいすっぴんemacs25.3をダウンロードしてみて思ったけどC-xC-bでバッファの切り替えしたらキャレットを毎回C-xC-o必要で思わず無表情になってしまうわコレ。すっぴん過ぎるだろと。xyzzyだったら初めからC-xC-bしたらキャレットも一覧に映るという親切さ、いやマジでxyzzyの痒い所に手が届いてる感はすばらしいと思うんだ。てかxyzzyなんにもしなくてもほとんど初めから付いてくるし、ネットインストーラで拡張も一発。tree-viewつけれちゃえば、そもそもバッファの一覧をC-xC-bで出す必要なくて、その上tree-viewで解析されちゃうのでアウトラインプロセッサーみたいになるという。C-xC-bと大差のないtreeではないし、C-xdやらやたら分割しているのを大体一つで代替できるという。しかもファイラ自体はC-cC-fの付属のファイラが普通にあるし。
基本的な設定で、行番号表示や日本語入力から、仮想行の扱い(これは未だにemacsだとどうやるのかよくわからない)とか基本GUIでマウスポチポチで設定が終わるという。マウスポチポチしてたらタグジャンプだって数回クリックするだけで出来るという。infoも探さなくてもいいし適当にリファレンス入れるだけで日本語のヘルプが出てくれる。検索もインクリメンタルサーチが事実上標準だし、それどころかxyzzyだとoccurなんて単語も知らずに単にC-s連打すりゃ難しい事は何にもなくても直ぐにバッファ内の検索結果を一覧で返してくれるというお手軽。しかも処理速度もはやい。そこに自分で手を入れまくってるからC-xC-fすらなんか自前のxyzzyと比べると素うどんemascは異次元の使いにくさである。これは私じゃなくてもフォースの暗黒面に染まってしまうかもれしん。
いやダウンロードしたばかりのemacsすっぴん過ぎる。本当に揚げ玉すら入ってない。昨日ふわっと使ってるなんて書いておいてなんだけど確かにコレは人を寄せ付けない雰囲気は十分あるわ。でもまあ機能がないわけじゃないんだよemacsは設定に時間がかかるだけで設定してけば一応出来るようにはなるから。多分。

いやウィンドウの表示位置とかどうやって記憶させるのかとか、仮想行どうやってやるのかとか、xyzzyでやってる沢山のことが今の私のemacsの使い方程度だとよく分からないという問題はあるかもしれない。だってgoto-virtual-bolとかがないんだよねemacs