Emacs part 27
■ このスレッドは過去ログ倉庫に格納されています
0001Zeno
2008/11/09(日) 08:48:02スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること
_/l__
/ く
| ´ω` | ぐにゅう emacs
| C='|
* Emacs スレッドのマスコットキャラである「ぐにゅう君」 (↑のAA) と
吾 (Zeno ◆5nZQbNmQPs) への挨拶も忘れないように!
GNU Emacs - Free Software Foundation (FSF) http://www.gnu.org/software/emacs/
EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
Emacs CVS Repositories [Savannah] http://savannah.gnu.org/cvs/?group=emacs
Emacs Lisp List http://www.damtp.cam.ac.uk/user/sje30/emacs/ell-date.html
最新の stable リリース (22.2) のダウンロード http://ftp.gnu.org/pub/gnu/emacs/emacs-22.2.tar.gz
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/
前スレ http://pc11.2ch.net/test/read.cgi/unix/1218093847/
CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
Emacs は世界を救う!
0511名無しさん@お腹いっぱい。
2008/12/19(金) 22:03:47だよな
SATAのコネクタ形状を考えたやつ並に許し難い
0512名無しさん@お腹いっぱい。
2008/12/19(金) 22:05:19ホームポジションに手を置いて、腕や指に神経を集中させながら、AからZまで1キーずつ入力してみてくれ。
どのキーの入力が一番つらい? 俺はp, q, zで、次に y, bあたりだ
親指シフトキーボードって、親指右左の検出ってするのってドライバ必要なんじゃない?
てことは、コンソールで使う時に文字コード届かなくね?emacsで日本語入力できなくね?
0513名無しさん@お腹いっぱい。
2008/12/19(金) 22:06:08pってそんなに打ちにくいか?
カーソル上下移動するときって大体n, p交互で使ったりするから
右手ホームポジションをちょっと左に傾けると
ちょうど人差し指n, 小指pの形になっていい感じになる。
キーバインドを体系的に考えたことがある者にとっては
頭文字の意味もあっててこれは中々うごかせないキーなんだな〜
0514名無しさん@お腹いっぱい。
2008/12/19(金) 22:07:59やってみたが、それは単にお前の小指が短かいだけな気がする。
まあ俺は指が長いほうだからなんとも言えんが…
0515名無しさん@お腹いっぱい。
2008/12/19(金) 22:10:030516名無しさん@お腹いっぱい。
2008/12/19(金) 22:14:23フーム もう少し慎重に検討する必要がありそうかな。
0517名無しさん@お腹いっぱい。
2008/12/19(金) 22:24:27そして今初めて気づいたが、
NとPを打ちやすいように右手は少し内転させてる。
Lの下辺りのキーは打鍵頻度が少ないからこれで問題ない。
それでプログラミングで多用する数字列の8より右側も打ちやすい。
左手はそうしてないから、Qが打ちにくい。
特に俺は小指が短めだから。そのせいでZは打ちにくくない。
折り曲げて小指に長さを揃えている中指薬指で、
XとCを打つ方がずっとつらい。
キーボードスレに行った方がいいかな…
0518名無しさん@お腹いっぱい。
2008/12/19(金) 22:31:11それに人の手の違いが加わってなおさらワケワカメ
だがEmacsとキーボードは気っても切れない関係にあるのは事実
0519名無しさん@お腹いっぱい。
2008/12/19(金) 22:33:24今のキーバインド内だけで打ちにくいかどうか考えてもなー
hjklとか、FPSゲームのwasdと比べるとかしないと分りづらいかもな。
あるいは、まっさらなキーマップがあって、頻度の高いキーバインドをどこに置けば一番打ちやすいかを考える、とか
>> キーバインドを体系的に考えたことがある者にとっては
超頻出キーだけは、これを無視して打ちやすさ使いやすさだけを第一にすべき、というのが俺の考え。
最も美しいキー体系に恍惚を覚える人もいるんだろうけど。
>>514
そりゃ、また、悲しくなる結果だわ
0520名無しさん@お腹いっぱい。
2008/12/19(金) 22:36:500521名無しさん@お腹いっぱい。
2008/12/19(金) 23:14:100522名無しさん@お腹いっぱい。
2008/12/20(土) 00:03:490523名無しさん@お腹いっぱい。
2008/12/20(土) 00:22:24後の環境変化に対応できなくなることに気付いた。
0524名無しさん@お腹いっぱい。
2008/12/20(土) 01:07:38素のemacsしか使えないなら、emacsなんか使う意味は無い。
そういう環境を触らないといけないなら、素直にvi使えばいいわけで。
C-c, C-p, C-n, C-f, C-bみたいな基本的なキーバインドを変えると、
minor modeで再バインドされてしまうことがあるから、
そのminor mode用にもオリジナルのキーバインドを書かないといけないことは、ままある。
0525名無しさん@お腹いっぱい。
2008/12/20(土) 01:12:260526名無しさん@お腹いっぱい。
2008/12/20(土) 01:25:380527名無しさん@お腹いっぱい。
2008/12/20(土) 01:29:18それもそうだな
0528名無しさん@お腹いっぱい。
2008/12/20(土) 01:36:34Emacsianの鑑だな。
0529名無しさん@お腹いっぱい。
2008/12/20(土) 02:22:17自分はきっちりとホームポジション通りやってたけどみんなそうでもないのかな…
ホームポジションっていっても,FとJだけじゃなくて,ちゃんとこんな感じに
ttp://pasokon-yugi.cool.ne.jp/touchtyping/home_position.html
まあCapslockはCtrlにしてしまってるけど
0530名無しさん@お腹いっぱい。
2008/12/20(土) 02:34:30まぁそれが一番普通なやり方でしょ
0531名無しさん@お腹いっぱい。
2008/12/20(土) 05:03:14俺は左で打ってる。皆はどう?
0532名無しさん@お腹いっぱい。
2008/12/20(土) 05:19:07>>529の小指のところは薬指使うキーも多いかな
0小指とか不自然だと思う…
0533名無しさん@お腹いっぱい。
2008/12/20(土) 05:20:34そんなの状況によるだろ。
その時々の近い方の手、近い指を使うだろ。
0534名無しさん@お腹いっぱい。
2008/12/20(土) 05:31:38「6」は微妙に左寄りだしね。
「0」は普通、薬指で打つと思う。
0535名無しさん@お腹いっぱい。
2008/12/20(土) 11:51:510536名無しさん@お腹いっぱい。
2008/12/20(土) 12:15:200537名無しさん@お腹いっぱい。
2008/12/20(土) 12:52:41かつてのタイプ教本のように掌を浮かしてタイプするならそれでもいいが、
パームレストを使っている場合は薬指を延ばしたほうが楽。
0538名無しさん@お腹いっぱい。
2008/12/20(土) 12:54:56とっととキーボードスレに逝けよ
0539名無しさん@お腹いっぱい。
2008/12/20(土) 13:05:10emacsで「p」を快適に打つテクニックはヘッポコな.emacs書くより超重要。
0540名無しさん@お腹いっぱい。
2008/12/20(土) 13:27:18ふつータグジャンプで関数探してC-sで編集地点に飛ぶ
そんなにカーソル移動したい奴は秀丸でも使ってろ
0541名無しさん@お腹いっぱい。
2008/12/20(土) 13:34:22ネタ職人乙。カーソル移動はよくやるよ。
「書く」作業だけじゃなく「読む」作業もあるってこと覚えておいて。
0542名無しさん@お腹いっぱい。
2008/12/20(土) 13:49:47win98とかの時代のPCに入れて急場をしのぐくらいのもん、だと思ってたが
ウェブ何十ページも開きながら物凄い勢いで情報収集してるときに
FirefoxじゃそれなりのPCでもマシン的・情報ノイズ的・操作性的に辛い。
一発検索も便利だし。これで僕も情報富豪の仲間入りです。
0543名無しさん@お腹いっぱい。
2008/12/20(土) 16:23:580544486
2008/12/20(土) 17:18:50リードオンリーに出来るよ。
>>491
レスありがとう。
minorviewmode.lはxyzzyのlispぽいから使うのあきらめて、view-less.elを使おうと思ったら
Symbol's function definition is void: set-keymap-name
って怒られた。どうしたもんだろう?
0545名無しさん@お腹いっぱい。
2008/12/20(土) 17:23:16XEmacs専用関数っぽいな…
0546名無しさん@お腹いっぱい。
2008/12/20(土) 17:33:25なるほど…コレ↓なら使えるっぽいから、大人しくコレを使うか。
http://www.emacswiki.org/cgi-bin/wiki/less.el
中のコメントに書いてあるように、(add-hook 'find-file-hooks 'less-minor-mode)を.emacs中に書くと
リードオンリーファイルを読み込んだとき、自動的にless-minor-modeになってくれるぽいんだけど、
C-x qをしたときにも自動でless-minor-modeになって欲しくて、それってどうやるんだろう?てか出来るのか…?
0547546
2008/12/20(土) 17:51:56(setq view-read-only t)
でできた。
0548名無しさん@お腹いっぱい。
2008/12/21(日) 00:56:20Emavimaru的なエディタってないの?
0549名無しさん@お腹いっぱい。
2008/12/21(日) 01:06:430550名無しさん@お腹いっぱい。
2008/12/21(日) 01:10:290551名無しさん@お腹いっぱい。
2008/12/21(日) 01:18:110552名無しさん@お腹いっぱい。
2008/12/21(日) 01:26:37http://www.bookshelf.jp/soft/meadow_35.html#SEC525
かと思ったけど、これはイチイチC-lしないといけないんだよなぁ
0553名無しさん@お腹いっぱい。
2008/12/21(日) 01:44:500554名無しさん@お腹いっぱい。
2008/12/21(日) 01:51:570555552
2008/12/21(日) 03:22:14なるほど。でも、とりあえず
http://www.bookshelf.jp/soft/meadow_35.html#SEC525
はそのままじゃうまく動かなかった@22.3.6
↑以外でなんかうまい方法ないかしら
0556名無しさん@お腹いっぱい。
2008/12/21(日) 08:39:25> なるほど。でも、
ワロタ ぜんぜんなるほどじゃない…
つ lazy-highlight-cleanup のcustmize ; ただし23.0.60.1しか確認してない
0557名無しさん@お腹いっぱい。
2008/12/21(日) 14:14:46「進化」という言葉をこの世で一番実感させてくれるものを敢えて挙げるとすれば、それは「.emacs」だ。
0558名無しさん@お腹いっぱい。
2008/12/21(日) 14:20:030559名無しさん@お腹いっぱい。
2008/12/21(日) 15:22:01うおおおおおお神すぐる!!昨日6時間も探したのにorzありがとうありがとう( ;∀;)
0560名無しさん@お腹いっぱい。
2008/12/21(日) 15:43:10(global-set-key "\C-\M-h" 'windmove-left)
(global-set-key "\C-\M-k" 'windmove-up)
(global-set-key "\C-\M-l" 'windmove-right)
(global-set-key "\C-\M-j" 'windmove-down)
っていう風に割り当てたんだけど、Cのモードだと既に他のコマンドが割り当てられてるみたいで、
期待通りに動いてくれない。こういう場合ってどうすればいいんすか?教えてエロい人!
global-set-keyとdefine-key global-mapの違いが分かってないんだけど、そこら辺?
0561名無しさん@お腹いっぱい。
2008/12/21(日) 16:02:5357.4.5 Changing Key Bindings Interactively
The two-character keys consisting of `C-c' followed by a letter are
reserved for user customizations. Lisp programs are not supposed to
define these keys, so the bindings you make for them will be available
in all major modes and will never get in the way of anything.
0562名無しさん@お腹いっぱい。
2008/12/21(日) 16:26:30英語おぼえたての中学生なの?
これだからEmacsオタは…
0563名無しさん@お腹いっぱい。
2008/12/21(日) 16:32:11翻訳サイトで翻訳するか、
節番号を入れておいたので、どこかで翻訳版を読んでください。
0564名無しさん@お腹いっぱい。
2008/12/21(日) 16:32:210565名無しさん@お腹いっぱい。
2008/12/21(日) 16:33:210566560
2008/12/21(日) 16:39:46local-set-keyを使えば解決できるのか!!ちと見てみます!
global-set-keyとdefine-key global-mapは関係なかったのね^^;
thx!!
0567名無しさん@お腹いっぱい。
2008/12/21(日) 16:41:19>>561は\C-c英字はかち合わないとのinfoが引用されてる。
0568560
2008/12/21(日) 16:57:11(local-set-key "\C-\M-h" 'windmove-left)
(local-set-key "\C-\M-k" 'windmove-up)
(local-set-key "\C-\M-l" 'windmove-right)
(local-set-key "\C-\M-j" 'windmove-down)
では動かなかたorz
なので、他の例を真似て
(setq c-mode-hook
'(lambda ()
(local-set-key "\C-\M-h" 'windmove-left)
(local-set-key "\C-\M-k" 'windmove-up)
(local-set-key "\C-\M-l" 'windmove-right)
(local-set-key "\C-\M-j" 'windmove-down)
))
って書いてみたら動いたんだけど、これだとCでしか有効になんないよね?願わくば、全モードで共通にしたいんだけど・・・
んん?ここで>>567の話が出てくるの?ごめん、全然分かってない;;
0569名無しさん@お腹いっぱい。
2008/12/21(日) 17:12:270570名無しさん@お腹いっぱい。
2008/12/21(日) 17:14:060571560
2008/12/21(日) 17:33:59アドバイスありがとう。
http://www.pqrs.org/tekezo/emacs/doc/keyjack-mode/index.html
を参考に
(setq my-keyjack-mode-map (make-sparse-keymap))
(mapcar (lambda (x)
(define-key my-keyjack-mode-map (car x) (cdr x))
(global-set-key (car x) (cdr x)))
'(("\C-\M-h" . windmove-left)
("\C-\M-k" . windmove-up)
("\C-\M-l" . windmove-right)
("\C-\M-j" . windmove-down)))
(easy-mmode-define-minor-mode my-keyjack-mode "Grab keys" t " Keyjack" my-keyjack-mode-map)
って記述したら無事動きました!
ただ、1行目のsetqをadd-hookにしたら
Symbol's value as variable is void: my-keyjack-mode-map
って怒られたのでsetqのままです。いいのかな?
0572名無しさん@お腹いっぱい。
2008/12/21(日) 17:37:55~mode-hook を setq で書き換えるのは良くないって話。
0574名無しさん@お腹いっぱい。
2008/12/21(日) 18:02:28(setq windmove-wrap-around t) でループ。
0575名無しさん@お腹いっぱい。
2008/12/21(日) 18:50:50じゃあ、howmのC-c ,, とかは使えなくなるのか。。
0576名無しさん@お腹いっぱい。
2008/12/21(日) 19:48:13himawaridemotsukattoke!wwwwwwwwwwwwww
0577名無しさん@お腹いっぱい。
2008/12/21(日) 20:43:070578名無しさん@お腹いっぱい。
2008/12/21(日) 21:32:24本当はそれがやりたかったんだけど、どう頑張っても今の環境じゃあ矢印キーのシグナルが送れないみたいで。。。
それで諦めました。
環境
ターミナルクライアント:Poderosa
サーバ:CentOS release 5.2 (Final)
Emacs:GNU Emacs 22.3.6
0579名無しさん@お腹いっぱい。
2008/12/21(日) 21:34:52(define-key function-key-map [(shift up)] .(以下略
0580名無しさん@お腹いっぱい。
2008/12/21(日) 22:00:36うーん、試しにこんな感じで書いてみたのですが、ダメでしたorz
(when (locate-library "windmove")
(define-key function-key-map [(shift up)] . windmove-up)
(define-key function-key-map [(shift down)] . windmove-down)
(define-key function-key-map [(shift left)] . windmove-left)
(define-key function-key-map [(shift right)] . windmove-right))
以前、こちら
http://noir.s7.xrea.com/archives/000143.html
の
>Shift + カーソルキーは、ターミナルが横取りしてしまので、
>何か他のキーで代用するしかないですね…。
>
>ちなみに、X/Qt ( http://xqt.sourceforge.jp/index.ja.html) で Emacs を動かすと、
>そのへんの問題はなくなります。
>ただ、こっちはこっちでいろいろとややこしい問題がありますが…。
>Posted by: noir123 on 2004年12月21日 23:07
を見て諦めたのですが。。。
0581名無しさん@お腹いっぱい。
2008/12/21(日) 22:06:26PoderosaのsshのX11 forwardingで利用すれば?
0582名無しさん@お腹いっぱい。
2008/12/21(日) 22:27:46うお、なんか興味津々だけど難しそうでなかなか踏み入れられてない領域の話が。。。
きっとX on WindowsにはCygwinとかASTECとかを使うんだよね?
ちょっと調べてみたらpoderosaではX11 forwarding出来そうにないからputtyでも別途使うんだろうなぁ
0583名無しさん@お腹いっぱい。
2008/12/21(日) 22:54:40IMEProxyとかえせかんなとかちょっと面倒。
0584名無しさん@お腹いっぱい。
2008/12/22(月) 00:59:10日本語もそれほどまともじゃねえ
アラビアもねえ ヘブライもねえ
キーバインド毎日ぐーるぐる
俺らこんなEmacs嫌だ〜 俺らこんなEmacs嫌だ〜
メモ帳使うだ〜 メモ帳使いながら
銭こあ貯めて WindowsでVS買うだ〜
0585名無しさん@お腹いっぱい。
2008/12/22(月) 11:27:48以下は Subversionクライアント dsvn.el の関数の一つです。サーバのロケー
ルがEUC-JPなので、自分で一行改変しました。これを、関数そのものの改変で
はなく、defadvice で解決することはできないでしょうか?
初歩的ですみませんが、どうかお願いします。
(defun svn-call-process (program buffer &rest args)
"Run svn and wait for it to finish.
Argument PROGRAM is the svn binary to run.
Argument BUFFER is the buffer in which to insert output.
Optional argument ARGS are the arguments to svn."
(let ((proc (apply 'start-process "svn" buffer program args)))
;; (set-process-coding-system proc 'utf-8) <- ココ
(set-process-coding-system proc 'euc-jp)
(set-process-filter proc 'svn-output-filter)
(while (eq (process-status proc) 'run)
(accept-process-output proc 5)
(sit-for 0))))
0586名無しさん@お腹いっぱい。
2008/12/22(月) 12:15:47.bashrc に
alias ls='ls -hF --show-control-chars --color=auto'
と書いてるんだけど、反映されないみたい。
0587名無しさん@お腹いっぱい。
2008/12/22(月) 12:32:54it is given as initial input (but this may be lost, due to a timing
error, if the shell discards input when it starts up).
The buffer is put in Shell mode, giving commands for sending input
and controlling the subjobs of the shell. See `shell-mode'.
See also the variable `shell-prompt-pattern'.
0588名無しさん@お腹いっぱい。
2008/12/22(月) 12:49:17.emacs_bash はもう設定してるんだけど...と書こうとして、shellモードのプ
ロンプトが
sh-3.2$
になってることに気づき驚愕。
.emacs_sh を用意したら解決。ありがとうございました。
つうか、shell-modeで使うシェルを設定する場所はどこですか?
bashに変えたい。
0589名無しさん@お腹いっぱい。
2008/12/22(月) 13:03:46(setq shell-file-name "/bin/bash")
お騒がせしました。
0590名無しさん@お腹いっぱい。
2008/12/22(月) 13:34:59微妙なポイントにあるから一筋縄じゃできそうにないな。
最悪、その修正後の関数を.emacsにでも書いておけばいいと思う。
Emacsの関数は上書き定義できるから。
0591名無しさん@お腹いっぱい。
2008/12/22(月) 16:01:37やっぱりそうですか...。ありがとうございました。
0592名無しさん@お腹いっぱい。
2008/12/23(火) 01:28:04そこで、 font-lock-defaults を以下のように設定し、
(setq font-lock-defaults '((xxx-font-lock-keywords) t nil))
xxx-font-lock-keywords に、
(add-to-list xxx-font-lock-keywords
'(xxx-font-lock-func))
とし、関数 xxx-font-lock-func 内で、
(add-text-properties'howm-edit beg end '(face font-lock-comment-face))
としています。
beg end の間が556文字を超えると、557文字以降は font-lock-comment-face にならないのですが、
原因について、こころあたりの方、どうかご教示お願いいたします。
0593名無しさん@お腹いっぱい。
2008/12/23(火) 02:07:16M-o M-o としてもダメかな?
0594592
2008/12/23(火) 02:19:01ありがとうございます。
face が変わらなかった部分で、 M-o M-o (font-lock-fontify-block) したところ、
設定通りの face になりました。
M-x font-lock-fontify-buffer をしても、face が変わらなかったのですが、
Info に書いてあるのとは異なり、 font-lock-fontify-block とは動作が違うようですね。
0595名無しさん@お腹いっぱい。
2008/12/23(火) 02:24:34文字数や行数が増えると、ある位置以降は変化しない部分がでてきます。
M-o M-o に前置引数をつけて C-u C-u C-u C-u C-u C-u M-o M-o くらいやれば、
たいていのバッファは期待通りの色がつくと思うよ。
0597sage
2008/12/23(火) 11:52:33C-.にcommandをバインドしたいのですが、
(global-set-key "\C-." 'command)
と書いてもバインドされません。
現在の使用バージョンは22.2.1です。
0598597
2008/12/23(火) 12:22:04-nw 以外では正常にバインドされました。
0599名無しさん@お腹いっぱい。
2008/12/23(火) 12:29:260600名無しさん@お腹いっぱい。
2008/12/23(火) 23:33:56顔写真とか。
0601名無しさん@お腹いっぱい。
2008/12/24(水) 00:12:20俺のまわりでもEmacs使いがぽつぽつ増えた。
0602名無しさん@お腹いっぱい。
2008/12/24(水) 00:33:13実際は nano が…、来んなぁ…。
0603名無しさん@お腹いっぱい。
2008/12/24(水) 05:13:07もしあるのであれば、どのようにすればその値を参照できますか?
0604名無しさん@お腹いっぱい。
2008/12/24(水) 06:40:510605名無しさん@お腹いっぱい。
2008/12/24(水) 08:32:06すみません、もしよければもうちょっと詳しく教えていただけませんか?
私の場合、 window-id のようなものを hash-table のキーとして
使用したいので、可変でないものが望まれるのですが。
0606名無しさん@お腹いっぱい。
2008/12/24(水) 08:35:58なんで「ようなもの」なの?
window-idそのものじゃだめなの?
0607名無しさん@お腹いっぱい。
2008/12/24(水) 08:48:37私の思い違いかもしれませんが、
個々の window に対して定義してあると思われる window-id の
アクセッサーが用意してないようなので、別の方法があるのかと思いました。
汚いですが、
(assoc 'window-id (cadadr (current-frame-configuration)))
でもwindow-idは取れますが、フレーム単位になってしまうので、
何か別の方法があると助かります。
0608名無しさん@お腹いっぱい。
2008/12/24(水) 10:38:59とりあえず、そのコードは
(frame-parameter nil 'window-id)
でもいいと思う
0609名無しさん@お腹いっぱい。
2008/12/24(水) 10:45:11あと多分それは期待してるものと違うんじゃない?
http://www.bookshelf.jp/texi/elisp-manual-20-2.5-jp/elisp_29.html#SEC436
> window-id
> フレームとして使うウィンドウシステムのウィンドウ番号。
Emacs で言う window を言ってるのか、 Emacs で言う frame (= ウィンドウシ
ステムで使われる window) を言ってるのかわかんね…
0610名無しさん@お腹いっぱい。
2008/12/24(水) 11:06:32自己解決しました。現時点だと window-configuration の中身は見れないらしいです。
仕方ないので、winner.elがやってるような特定の仕方を実装しました。
■ このスレッドは過去ログ倉庫に格納されています