2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Emacs Part 52

261 :名無しさん@お腹いっぱい。:2020/09/03(木) 21:42:39.64 .net
dired-do-shell-commandでshellコマンドのfor i in *; do $command ; doneをよくやる。
 *はdiredでマークしたファイル
 $commandはミニバッファで入力するコマンド
 *の代わりに?を使わないのは?をスペースで囲まなければならず?/file1などができないから。

んでこれをいちいち入力するのが面倒くさくて↓みたいなマクロ組んだけど、
(local-set-key (kbd "C-!") (kbd "!for SPC i SPC in SPC * SPC ; SPC do SPC SPC done M-b C-b"))

実行するとミニバッファ入力ができず終了してしまう。
C-x ESC ESCでなにが起きたか確認すると↓のようにやはりミニバッファ入力が即座に終わっていただけなのが確認できた。
(dired-do-shell-command "for i in * ; do done" nil (quote ("for i in * ; do done")))

ミニバッファ入力を終了させないでおきたいけど方法が見つからない。
私がelispのフロー制御を分かってないのが悪いんですけどね。
どなたかヒントだけでも教えてもらえませんか?

総レス数 1004
219 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200