himadatenodeの日記 このページをアンテナに追加 RSSフィード

*日記だけど 本人のメモや整理が垂れ流されてるだけなので。誤字脱字だらけで意味不明な電波が送信されてます。まともな漢字で翻訳されたのは、その内どこかにまとめて書くかもしれません。

HimaDataNode bookmark archive

xyzzyを使いたい人向け

2017-11-18

[]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設定は色々してたんだけど治らずにウィンドウのオプションいじったら治るのも割りと謎。迷ったのは設定項目が

  • bashのエンコード設定(.bashrc or .bash_profile とかに書く奴)
  • gitのエンコード設定(.gitconfig or git/etc/inputrc とかに書く奴)
  • lessのエンコード設定 (ビューワがless以外のを使う場合もあるのでそれぞれのビューワの設定)
  • emacsのエンコード設定

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

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

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

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

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

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

2017-11-04 父がアップルを解雇された娘の「号泣謝罪動画」 500万再生を突破

[]日本語のinfoのある場所とか

emacs の新しいバージョンに対応した日本語のマニュアルがあるらしいというのを見つけたのでメモ

 elisp の方は新しいものではない。けど一応メモ。実際頻繁に使うのはelispの方かもしれない。

■基本の使い方

基本の使い方は info を入れたら C-h f するとキャレット位置にある elisp の説明が出てくる xyzzy でもあるアレ。jp 版を入れなくても英語のは出るので別に必須ではないけど日本語のもあるなら日本語の方がいいんじゃないかと思う。ただ、この機能ぶっちゃけ emacsen を使う時には結構肝心要の機能。関数忘れちゃうからちょっと修正する時にチラチラ見る。もし emacs 系野を使ったことがない人はコレを見る必要性が良く分からないと思うかもしれないけど、実際コレがめちゃ大事だと思う。てかこういうのないとどうやって初心者が emacs を使いこなせるのか理解できない。

[]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。

2017-11-03 安倍首相、女性支援のイバンカ氏基金に57億円拠出を表明

[]Emacsが衰退したという話を見て

- https://www.slideshare.net/taumu/emacs-76377586

 これ。ちがくね?まず衰退したのはEmacsやViではないと思う。xyzzyは間違いなく衰退した。そうWindowsの雑多にあった沢山の微妙な感じでシェアを分けていた日本人むけの大量のエディタが衰退したのである。秀丸やらサクラくらいはまだ良い。でも昔はもっと有象無象のエディタが沢山あったそしてそれはほぼ絶滅危惧種になってんじゃないのかな。こっちの意味の衰退は間違いない。まずネコも杓子のPCという時代が終わり、スマホとオフィス使えれば十分な流れでユーザーの数が減ったのである。これによりわけも分からずエティタを使っていた多くのホームページを作っていた層とかがほぼ絶滅したと思う。今はやってもブログか日記。それも少数派でブログすらなくてfacebook。これによりブログパーツとかそういうノウハウも必要ないし。facebookも完全に金のためにやるツールなので、できれば手を出したくない人の方が多数。そもそも、facebookはそう別に便利でもなんでもないという事実がある。その結果、オープンな場所にはtwitterもあればいいほうという風になった。普通はもっと閉じててLINEとかで十分だから。発信力が高い人がtwitterとかインスタみたいなのをやっている。

 結果エディタが必要ない。この流れ。viやらemacsはlinuxとかunix好きな人が一定数いてメモ帳代わりに使うので好き嫌い以前にメモ帳が絶滅しないように実用ツールとして絶対viやらvim、emacsあたりは残ってしまう。emacsが残る理由も割りと消極的でviの変なキーバインドよりはemacsの方が全然windowsに近いからっていうだけだと思う。

 emacsに関してはむしろ昔より絶対に簡単になっている。パッケージ特に日本語向けのパッケージが簡単に手に入るし。windowsっぽい操作にも簡単にできるし設定がGUIで普通のエディタの設定位のができるのでそもそもメモ帳代わりが本気で現実的。vimをメモ帳代わりにするとモード切替で躓く人も多いからね。そしてWindows環境では日本語とviのキーバインドは決定的に相性が悪いIMEとモードの切り替えが2重苦でその辺を設定で誤魔化す必要があるのだけどこれは個人がやる事なのでぶっちゃけ個人次第になる。その点からいくともはやEmacsの方が初期の敷居すら低いといわざるを得ない。だってlispなんてなくても別に普通のWindowsに割りと近い感じでかけるからね。

 あとメンテナンスに関してはvimも実は数人しか触れてないのでOSアップデート次第ではやばい事には変わりはないと思う。ただviはもうそんな極端な変更はしなさそう。Emacsはその辺カスタマイズの範疇になりそうな部分もパッケージ化して色々フォークしているので細かい調整で徐々に敷居が下がり続けるのではないかって言うか、実際ここ10年位で凄く簡単になってると思う。前は日本語使うだけで結構面倒だったというか実際は日本語では使えるソフトでなかったのでxyzzyみたいのが人気だったというか。まあ今もWindows環境で日本語打つソフトとしてはxyzzyの方が敷居が低いと思うけど

[]エディタの持続性

SublimeTextとかNeovimとかSpacemacsが10年後もあるかっていったら大いに怪しい。けどvimemacsなら10年後もあるだろう。

昔流行っていたTextMateやら様々な和製エディタとかの並びが今ほとんど見かけないように、流行モノはすぐ廃れる割にかけるコストがでかい

そういう意味じゃ最近ある新参エディタの中でマシなのはAtomとVisualStudioCodeとかだと思う。理由はもはや新参で何とかなるには最低限オープンソースっぽい方向性、そしてMicrosoftGitHubみたいな後ろ盾。MSとかは一度やると一過性の明らかにネタくさいモノをのぞけば結構長引く傾向があるから。どちらも設定自体は比較的簡単なほうだし方向的に生き残りそうなのは伝統じゃなきゃ後ろ盾のデカさで直ぐコロコロ変わるソフトは基本駄目だと思う長持ちしないから本当に学習コストや設定コストが高い。

特にAtomはGitHub使ってもらう為のツールの一つだとすればGitHubと便利に連携する機能を付けまくれば結果GitHubの利益になるので収益構造も何となく分かるし、無料で配っても収入源が後ろでつながっているから割と長持ちしそうな気がする。

[]カスタマイズ性能と学習コスト

あと

Emacs」と「Squeak」(Pharo)に共通するのは、際限のない拡張性と自由度です。単なるコードエディタというより、もはや仮想OSのようなフリーダムさを持っています。

それらの生みの親であるストールマンアラン・ケイが掲げる理想は立派ですし、今なお古びない設計思想の美しさは魅力的です。

しかしそのかわり、使いやすさが犠牲になっています。とくに初心者が迷子になりやすい、複雑さや難解さや不親切さを持っています。

カスタマイズするための(Emacs)LispSmalltalkの言語からして難しいです。少なくとも、VSCode(カスタマイズ用)のTypeScriptやAtomCoffeeScriptよりは難しいでしょう。

そもそも、冒頭のWebアプリの話から言えば、言語にJavaScriptRubyなどのLLを選ぶ時点で、エディタもライトなものの方が合っています。

https://qiita.com/lldev2/items/46d55f71bdc1af2e3b10

こういうのも全然理解できない。てかlispってどっちかっていうとライトだと思うんだよ。Cとかだと変数とかが凄い硬いけどlispって適当に1行書いて動かせる辞典でめちゃめちゃライトだと思う。しかもエディタ上で動作が一瞬で確認できるし、言語的にもこの適当さはむしろjavascriptに似てるくらいじゃないかと。自分はjavascriptは結構いいんじゃないだろうかとか思った理由は、むしろlispになんかにてるとなと思ったからいいなと昔思ったくらいで。けどエディタにlisp代わりでjavascriptでやれっていわれたら結構戸惑う。だってJavscriptってHTML前提のなら割と直ぐで切るけど、タグが書いてない文字列の操作って実際ほぼやった事ないわ。私は個人的にxyzzyつかって正直ワンライナー的なことをlispでやってる。てかLispで高尚な事とかもできるらしいけどぶっちゃけ今だに文字列操作しかほぼした事ない。Emacsとかもそうだけどエディタのマークとかキャレットの位置を使ってここからここまでとか範囲指定できるのがずるすぎると思うんだよ言語的に超絶楽チンじゃん。しかもスクラッチとかでエディタで書いてそのままエディタ開いた状態でそこに結果を直ぐ反映させられるからへんなスクリプトより簡単だし見てるファイルに直接つかって失敗したらそのままC-zでUndoできちゃう。何コレ失敗がありえないみたいな超簡単。それも別にそんな巨大ファイルじゃなきゃ重かろうがなんだろうがそれで書きゃ動くし凄いライトだと思うんだ。


なんかEmacsやEmacsen使ってないユーザーには勘違いされて凄い重厚そうなものと思われてるみたいだけど、実際そんな重厚そうなのは一部のスパーハカーだけで、普通の人はもっとふわっとした感じで使ってると思うんだよ。てか楽だから使ってる以外何者でもないし。Emacsバインド自体が汎用性が高くてはっきりいってviより学習コストも低いでしょ。shellとか使ってたって何使ってもだいたいEmacsキーバインド通るからね。つまりOSがunixだろうがlinuxだろうがmacだろうがみんな大体Emacsのキーバインドが通るってわけでWindows以外のキーバインドでは最も汎用性が高いキー設定の一つで一つ覚えたらみんな同じのが使える。OSまたぐっていう意味ではWindowsよりもユニバーサルかもしれない。キーバインド一つつって主そういう意味で学習コストは相当低い部類だと思う。そもそもlisp自体がただのマクロじゃなくて言語なので覚えて無駄になるわけでもないしlispが消え去る事もまず考えられない。javascriptも似たようなところはあるけど、仕様や使われ方が結構変わる過渡期の言語だから、今覚えたことがほぼ使えない環境になる可能性ってのは結構あると思う。

[]結局基本性能

 AtomだとかSublimeTextだとかいっても結局最後に重要なのは基本性能。ぶっちゃけ色が変わってうれしいとかはどれも程度の差はあれみんなできるわけで、最後の所は立ち上がる起動速度とかファイルを開く速度とか置換する速度とかがイライラしないかが凄い大事だと思う。そういう意味じゃemacsは機能に対して十分すぎるほど洗練されている。昔は遅いといわれてたらしいけど今時のエディタなんてそれをいったらクソ重いことになってしまう。emacsはもはや十分すぎるほど軽く、十分すぎるほど速い。そしてイライラするほどの致命的な速度の問題はない。でもxyzzyの方がもっと早い。時にWindows上でファイルを開いたり閉じたりするのは本当にxyzzy早い。

でもこういうのは一度してしまうと移行するのが面倒なので、はじめっからviかemacsに専念するべきだと思う。特にemacsばかり使うのが結局楽だと思う。viに行くとキーバインドで余程使い込まないと体得できないのでそのへんはemacsの方が指が楽。アタマの方はlisp覚えるのでややviより苦しいがタイプで分けたほうがいいと思う。でも学生とかなら悪い事はいわないからそのどちらかで慣れておけば何かと都合がいいと思う。windows以外のにも慣れれるし一度体得するとwindows上でも絶対使いたくなる。しかも長い目でみたら学習コストも安い。他の奴は乗り換えるたびに覚えるハメになるし設定を何度も繰り返すのは意味がない。かといって設定ができもしないカスタマイズもないような奴じゃ使いやすくないというジレンマ。だから継続性があってカスタマイズはできるっていうと必然的にvimかemacsしかない。特に学生なら余計なのやるくらいなら徹底してemacsかviにした方がいい。時間の関係もあって後からじゃこの二つはほぼほぼ体得できない。悪い事いわないから本当にemacsかviにした方がいい。

2017-10-22 衆院選午後4時現在の投票率26.30% 前回下回る

[]foobarでyoutubeを見たりyoutubeの動画の音質をfoobarでコントロールする話

foobar2000 で Youtube component for foobar2000 使うと youtube 動画を foobar2000 で見れて音質とか変えれる

 裏でブラウザで流すより便利だと思う。何がいいかって言うとfoobarの音の設定がそのまま利用できる。個人的にはCDとかじゃない音源に高音が入ったりしてて耳が痛くなる変な音質の奴をfoobar通してイコライザつかうので20k以上をカットとかしている。長時間聞く作業用BGMは極端な高周波や低周波を一定以下は全部カットすると耳がキンキンしなくて良い。foobarだとWASAPIとかも対応してる。プレイリストがそのまま利用できるので、他のmp3とかCDの音源とかと一元管理できて便利。映像写さない場合はブラウザよりfoobarの方が軽い気がする。

Youtube component for foobar2000

http://fy.3dyd.com/home/


  1. ここを参考にした http://itnow.blog.jp/archives/1023703378.html

イラコライザにはデフォルトのじゃなくてもっと細かく設定できる graphic equalizer を入れている。コレだと結構細かく段階が調整できるので高音や低温だけカットしたいときに極端に音質が変わるのを避けれると思ってる。

2017-07-03 都議選投開票 都民ファースト圧勝、「小池勢力」で過半数の勢い都議

[]keysnail とか Vimperator の後継の拡張がないので妥協案の話

キーカスタマイズしたい人向けの最近のfirefoxでも動く妥協案

■最初の難所テキストエリアのキー設定

 テキストエリアのキーカスタマイズをするfirefoxの拡張の有名どころが軒並み動かなくなっている中、理由は知らないが firemacs は最新版のfirefox(54.0.1)でも一応動くのでemacs風にキーバインドをしたい人はfiremacsを入れれば一応テキストエリアのキー設定は出来る。キーバインドもfiremacsは一応プレフィックスも設定できるので2段階キーバインドも出来る。

■Hit a Hint (KeysnailのHoK的な機能)はどうするか

  Vimperator の Hit a Hint 的な機能と Keysnail のプラグインの HoK 相当の機能は別の拡張の vimfx で一応現在の所は再現できる。ただし、 vimfx も webExtension 化は上手くいっていないとの事なので長期的に見た場合は動かなくなる可能性がある。

■タブの管理やお気に入りの管理などは

 vimfx で再現できない機能もかなりあって、特に Keysnail はプラグインが多数あってかなり多岐にわたる機能をカバーしてたので、フルに使いこなしてた人は厳しい。

 キー割り当てに関してもfiremacsは同じ機能に基本一つのキー割り当てだけなので、vi風とemacs風の同居とかwindows風と混ぜるとかは結構難しい。特にコピペのC-cとC-vはemacs風だと扱いに困るかも。keysnailだとその辺はjavascriptのカスタマイズでxyzzy風にセレクションがあるときだけC-cが効くとかも出来たのだけど、firemacsでは細かい条件を変えたりはできないので、コピペやセレクション周りはvimfxの機能で適当に誤魔化すと大分マシになる。まあテキストエリアに監視しては C-v C-c か C-y M-w か選ぶ必要はあって迷うかもしれない。