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

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

HimaDataNode bookmark archive

xyzzyを使いたい人向け

2016-07-09 安倍政権に審判=参院選、10日に投開票

[]最近はインデントをスペースにしてる

(setq *lisp-indent-tabs-mode* nil)

nilにしてるとタブを使わずにスペースにしてくれる。別にタブを使ったほうがいい時もあるんだけど、ブラウザとかで貼り付けたりすると大体スペースになってコピーされるので、こぴぺしたと気にスペースで統一されてるほうが見た目が気持ちいいとかそういうどうでもいい理由。

急に設定を帰ると前に書いた奴とかのindentと混ざっていやな感じがするけど

http://edutainment-fun.com/script/xyzzy/library/buffer.html#CB_indent

ここに書いてるようなバッファを丸ごとインデントするようなので、一発でインデントされるからそんなに酷いことにはならない。

[]最近使ってるC-a

xyzzyについてはほぼ忘れかけていたが、別に何もしてなかったというわけでもないので、いろいろ改変してるかもしれないところとかを適当に。

■前にやっていたC-a改造版

 割りと需要があったので段落の移動にもC-aで対応してみたもの。段落移動するために「コメントアウトへ移動」と、「インデントへ移動」が犠牲になっているが、実際そういうのは別のキーでも対応しているのでまあいいかなと。今のも一応コメントアウトに対応してた部分も残しているけど、行頭からインデントへ移動するのはなくなっている。

(in-package "editor")

;my-C-a version 0.04
(defun virtual-C-a()
  "表示行頭へ移動"
  (interactive)
  (let ((cp (point))                              ; Current-Point
        (vbol (and (goto-virtual-bol) (point)))   ; Virtual-BOL
        (ip (and (back-to-indentation) (point)))  ; Indent-Point
        (bol (and (goto-bol) (point))))           ; Beging-Of-Line
    (cond
     ((= cp bol) (backward-paragraph))
     ((= cp ip) (goto-char bol))
     ((= cp vbol) (if (> ip vbol)(goto-char bol)(goto-char ip)))
     ((> cp vbol ip) (goto-char vbol))
     ((> cp ip vbol) (goto-char ip))
     )))

;my-C-e version 0.03
(defun virtual-C-e()
  "表示行末に移動"
  (interactive "p")
  (let ((cp (point))                           ; Current Point
        (veol (and (goto-virtual-eol) (point))); Virtual-EOL
        (eol (and (goto-eol) (point))))        ; EOL
    (cond
     ((= cp eol)
      (if (goto-beginning-of-comment)
        (forward-paragraph)))
     ((= cp veol)(goto-char eol))
     ((< cp veol eol)(goto-char veol))
     (t  (goto-eol))
     )))

(defun goto-beginning-of-comment()
  "commentの開始位置に移動"
  (interactive)
  (unless comment-start
    (message "No comment syntax defined")
    (return-from goto-beginning-of-comment t))
  (let (match-pos
        (cp (point)))
    (goto-bol)
    (if comment-start-skip-function
        (setq match-pos (funcall comment-start-skip-function))
      (let ((eol (save-excursion (goto-eol) (point))))
        (while (and (scan-buffer comment-start-skip
                                 :regexp t :tail t :limit eol)
                    (or (eq (parse-point-syntax (point)) :string)
                        (progn
                          (setq match-pos (point))
                          (save-restriction
                            (narrow-to-region (match-beginning 0) (point))
                            (skip-syntax-spec-backward " ")
                            (skip-syntax-spec-backward "^ "))
                          nil))))
        (unless match-pos
          (goto-char cp))
        ))
    ))

;keymap
(global-set-key #\C-a 'virtual-C-a)
(global-set-key #\C-e 'virtual-C-e)


2016-06-29 コスプレ御伽ねこむ、漫画家藤島康介氏と31歳差婚

[]KeySnailで変換や無変換にキーを割り当てる

Firefoxの仕様変更で既に消えそうな雰囲気になっているKeySnailだけど実際Chromeとかを蹴散らして圧倒的に便利なので、今も使っているわけだけど、出来ないと勝手に思い込んでいた無変換とかへのキー割り当てが実は出来たらしいというのに気づいた。多分初期の頃は割り当てできなかったと思う。

無変換 <nonconvert>
変換   <convert>

C-c してから[無変換]を打ったら、Firefoxのしたの所に

C-c <nonconvert> is undefined

と表示されたので、おや?っと思って<nonconvert>にキーバインドしてみたら普通に動いた。そしてちょっと調べてみたところ、下みたいな感じで色々なWindowsの日本語キーボードっぽいキーが割り当てれるようになっていたらしい。無変換と変換以外はあまり使いそうになかったから確認はしてないが、ポイントは<>で囲まないと駄目な所。

keyCode2Name: {
    0x15: "kana",
    0x19: "kanji",
    0x1C: "convert",
    0x1D: "nonconvert",
    0x1E: "accept",
    0x1F: "modechange",
    0x29: "select",
    0x2A: "print",
    0x2B: "execute",
    0x5B: "l_windows",
    0x5C: "r_windows"
},
keyName2Code: {
    kana:       0x15,
    hangeul:    0x15,
    hangul:     0x15,
    kanji:      0x19,
    hanja:      0x19,
    convert:    0x1C,
    nonconvert: 0x1D,
    accept:     0x1E,
    modechange: 0x1F,
    select:     0x29,
    print:      0x2A,
    execute:    0x2B,
    l_windows:  0x5B,
    r_windows:  0x5C
},

https://github.com/mooz/keysnail/commit/397cecd264437bcfaa0a4467f609e2785284b5f3

丁度C-mやC-jが両手キーボードに拘束されるので、マウスを右手に持った状態で左手だけでEnterが出来ないかとか思っていたんだけど、ゲームとかでお馴染みのC-e=Enterの設定はEmacs風だと上手く行かないしC-fで代替しているゲームもEmacs風だと→なので難しい。そこで早速この無変換をEnterに割り当てるのを試してみている所。実はM-WASDでFPS風にキー操作してM-EでEnterっていうのも有力なんだけど。その場合M-系の単語単位の移動がつぶれたりするのが微妙といえば微妙。

2016-06-26 EU6カ国 英は早期離脱交渉を

[]'[]'の中で']'をマッチさせたい場合

久しぶりにxyzzyの放置していたWikiとかをチェックして色々と修正した方がいい所を修正したり凍結したりしてみた。ついでに物凄い久しぶりに2chのxyzzyスレ見たら相変わらずだった。もしや、2chのxyzzyスレは時間が動いていないんじゃないだろうかと疑わんばかりの相変わらずだった。

217 名無し~3.EXE sage 2016/05/29(日) 05:58:14.13 KlZAGzRM

正規表現の文字クラス中で ] にマッチさせたくて
[\]] などとしても ] にマッチしないんですがどうやるんですか?
218 名無し~3.EXE sage 2016/05/29(日) 07:06:52.39 D16LO6aD

\\] とか \\\] とか \\\\\\] とか \\\\\\\] とか…
219 名無し~3.EXE sage 2016/05/29(日) 08:37:10.37 s94TGrD9

>>217
[[]
220 名無し~3.EXE sage 2016/05/29(日) 08:40:02.09 s94TGrD9

間違えた
[]]
221 名無し~3.EXE sage 2016/05/30(月) 07:12:35.64 YWYIq2Z7

>>220
まさかエスケープ不要とは…と思ったけど他の文字も入れるとマッチしないな
(string-match "[]]" "]") -> 0
(string-match "[A]]" "]") -> nil
(string-match "[A\\]]" "]") -> nil
どうなってるんだ…
222 名無し~3.EXE sage 2016/05/30(月) 07:20:46.82 YWYIq2Z7

あ、空の[]の後の]にマッチしてるだけか
223 名無し~3.EXE 2016/05/30(月) 07:47:29.45 4EQ3IST1

`]' を文字集合の中に含むには、それを最初の文字としなくてはいけませ
ん。例えば、`[]a]' は `]' か `a' にマッチします。

参考: GNU Emacs Lisp Reference Manual - 正規表現のシンタックス
http://flex.phys.tohoku.ac.jp/texi/eljman/eljman_218.html

xyzzyの正規表現はEmacsに倣ってるっぽいから、上記のページ見とくといいよ。

`]' を文字集合の中に含むには、それを最初の文字としなくてはいけませ
ん。例えば、`[]a]' は `]' か `a' にマッチします。 

]の話は上のを考慮すると

(string-match "[]a]" "]") -> 0
(string-match "[a]]" "]") -> nil

'[]'内で使うには初めに']'を指定すればいいってことみたいだな

(string-match "[]]" "]") -> 0

これも、一応初めに指定しているという扱いになるんだろうね。

何もなしだとこんなのが出た

(string-match "[]" "]") -> ‘[’に対応する‘]’がありません

なるほどねぇ。

[]気づいたらMeadowが消滅していた

気づいてなかったけど、随分前の時点で消滅していたらしい。

http://www.meadowy.org/

Meadowといえば、xyzzyと違って昔は邪道じゃない正統派?とも違うかもしれないけど割りと普通にWindowsEmacsを使いたい人達がみんな使っていたエディタだったと思うけど、消えてしまうとは。xyzzyもWindowsのバージョンアップの影響とかで動かなくなった利したら消えてしまうのかもしれないなぁと。思ったりしたら消えなさそうなEmacsの動向を見ておいた方がいいのではないかと言う気もした。が、よく考えたら今はむしろFirefoxからウェブ上でキー操作する事が凄く増えて、カスタマイズもfirefoxはブラウザ版Emacsみたいになってるので、どちらかというそのFirefoxが消滅しかねない状態になっているのを気をつけた方が良いような気もしてきた。だいたい当時はxyzzyが消えるかMeadowが消えるかだったらxyzzyの方がよっぽど速く消えそうだった気がするし。どうなるかは分らない。

エディタに関しては、まさか今みたいにvi使いにあらずんば猫にあらずみたいな状況になるとは思わなかった。まあ一体viの何がいいのかは今でもよくわかっていないのだけど。だってマウス操作多い状態だとviのキー操作ってイマイチ生きないような。冗談抜きで今のキーボードマウスを振る活用するスタイルはFPSのWASD操作なんじゃないかという気もしないでもない。


一応公式サイトが消えててもベクターではダウンロードできそうな雰囲気

http://www.vector.co.jp/soft/win95/writing/se068653.html

2016-03-14 <民主と維新>合流後の新党名は「民進党」

[]youtubeのシークバーが機能しなかったので

FirefoxでYoutubeのシークバーがあるときから機能しなくなって読み込み中のまま再生されなくなった。不便だったので色々調べてみたところyoutubeのプレイヤーがFlashからHTML5になったとか色々別の情報が出てきて散々遠回りしたけど結論としては memory restart というアドオンを入れていたのがどうやらダメだったらしい。

https://addons.mozilla.org/ja/firefox/addon/memory-restart/

これ。Firefoxのメモリーを監視してくれるという事で便利だと紹介されているのを見て少し前に試しに入れていた拡張だった。使用メモリーが表示されたりと割と便利な面もあるなと思っていたのだけど、Firefoxを終了する時にバグってプロセスが残ってしまったり、終了時にエラーがでるというのもこれが原因だった。ので、一応メモしてみる。同じ症状のも人もいるような気がしたので。

2016-03-01

[]最近のニコ生の番組はつまらない

何がって、何か放送内容自体が徐々に公式っぽいのが増えるに従ってむしろ質が落ちているというか。前に比べてそもそも本気で配信している人が劇的に減った。身内向けのどうでもいい配信枠と、明らかに仕事でやってますみたいな事務的な配信の枠が9割で面白くない。ボーカロイドも歌ってみたとか踊ってみたとかも全部瀕死状態で、そもそもニコ生は兎も角、ニコニコ動画自体が酷い状態。

辛うじて面白かった電脳戦とかの将棋も最近は逃げ腰なのが目に付いて、ガチンコ感もなく、Googleの碁の話の方がかえって興味深い。そんな事を思って放送枠を見ていたら、そもそも面白いってのが何なんだろうなぁとか思った。何が面白いと思うのか自分でもよく分らないというか。