x-select-enable-primary

Chromeが400枚のタブの復元に失敗しくさってくれたので、ChromeからFirefox(Vimperator)にまた移行した。

Vimp便利なんだけれど、p/PでURL貼って移動する時にEmacsではちゃんとyankしたものにうまく移動しないことに気がついた。結論をいうと (setq x-select-enable-primary t) するといいんだけど。

yankしてると kill-new() が呼ばれているので F1 f でkill-newのdocstringを読む。

kill-new is a compiled Lisp function in `simple.el'.

(kill-new STRING &optional REPLACE)

Make STRING the latest kill in the kill ring.
Set `kill-ring-yank-pointer' to point to it.
If `interprogram-cut-function' is non-nil, apply it to STRING.
Optional second argument REPLACE non-nil means that STRING will replace
the front of the kill ring, rather than being added to the list.

...

interprogram-cut-function がなんか多分設定されている。 うちでは x-select-text。なので、こいつのdocstringを見る。

x-select-text is a compiled Lisp function in `common-win.el'.

(x-select-text TEXT)

Select TEXT, a string, according to the window system.

On X, if `x-select-enable-clipboard' is non-nil, copy TEXT to the
clipboard.  If `x-select-enable-primary' is non-nil, put TEXT in
the primary selection.

...

x-select-enable-clipboardの方はtだけど、 x-select-enable-primaryの方はtじゃなかった。ので、冒頭の設定をキメてやったら、うまくp/PがVimpでも予想通りに動くようになって幸せ。

http://l-w-i.net/t/x/clipboard_001.txt にあるようにXのクリップボードがいろいろあるのが面倒なんだよね。まあ時々便利な時もあるけど。