Emacs Part 49 [無断転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2015/12/11(金) 17:55:35.35GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/
EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/
前スレ
Emacs Part 48
http://peace.2ch.net/test/read.cgi/unix/1429172451/
0266名無しさん@お腹いっぱい。
2016/02/23(火) 20:08:39.29バッファ名が eww<1> eww<2>となってしまい、どのページを開いているかわかりにくいです。
eww-current-titleにページのタイトルが保存されているので、
これでバッファ名をリネームしてやればいいと思ったのですが、
このhookが動くタイミングではまだ、変数が空で上手く行きませんでした。
何かアイデアありませんか?
;;;; eww 複数起動する
(defun eww-mode-hook--rename-buffer ()
0267名無しさん@お腹いっぱい。
2016/02/24(水) 01:36:44.640268名無しさん@お腹いっぱい。
2016/02/24(水) 11:03:53.33さんくす。できました。
(defun eww-buffer-rename--to-title ()
"Rename eww buffer name to current page title"
(rename-buffer (concatenate 'string "eww: " eww-current-title) t))
(advice-add 'eww-update-header-line-format :after 'eww-buffer-rename--to-title)
advice-add/remove めちゃ便利ですね。
0269名無しさん@お腹いっぱい。
2016/02/24(水) 15:45:45.070270名無しさん@お腹いっぱい。
2016/02/27(土) 23:30:41.03参考になる
0271名無しさん@お腹いっぱい。
2016/02/28(日) 09:15:18.430272名無しさん@お腹いっぱい。
2016/02/28(日) 15:57:37.480273名無しさん@お腹いっぱい。
2016/02/28(日) 17:00:52.330274名無しさん@お腹いっぱい。
2016/02/28(日) 23:18:48.94正規表現でやろうとしたら記述がつらい。。。
0275名無しさん@お腹いっぱい。
2016/02/29(月) 01:15:36.610276名無しさん@お腹いっぱい。
2016/02/29(月) 04:05:11.430277名無しさん@お腹いっぱい。
2016/02/29(月) 07:02:41.89C-u M-|
入力したコマンドの出力結果でリージョンが置換される
0278名無しさん@お腹いっぱい。
2016/02/29(月) 07:11:05.90肝心なこと書き忘れた
リージョンがコマンドの標準入力になります
なので grep コマンドに入力ファイル名を渡す必要はなし
ファイル全体を grep にかけたければ
C-x h 等でバッファ全体を選択してから
C-u M-| grep …
とすればok
0279名無しさん@お腹いっぱい。
2016/02/29(月) 12:17:36.21正規表現を駆使して置換する必要が無くなる
0280名無しさん@お腹いっぱい。
2016/02/29(月) 14:23:43.98とりあえず置換・キーボードマクロ・矩形編集をこれ一つでまかなえる
今まで一生懸命それらを使ってたのが何だったんだってぐらいの革命といえる
0281名無しさん@お腹いっぱい。
2016/02/29(月) 22:08:37.52ありがとうございます!
こんなの求めてました!
0282名無しさん@お腹いっぱい。
2016/03/02(水) 20:18:42.940283名無しさん@お腹いっぱい。
2016/03/03(木) 07:02:42.62カーソル分身って何か混乱しそうな気がして使ってなかったけど便利ですね。
cua-modeの出番が連番付ける時くらいになってしまった。
0284名無しさん@お腹いっぱい。
2016/03/03(木) 13:31:08.170285名無しさん@お腹いっぱい。
2016/03/03(木) 13:32:58.870286名無しさん@お腹いっぱい。
2016/03/03(木) 19:37:12.190287名無しさん@お腹いっぱい。
2016/03/03(木) 22:50:56.280288名無しさん@お腹いっぱい。
2016/03/03(木) 23:19:54.89originは上にもあるとおりsublime
0289名無しさん@お腹いっぱい。
2016/03/04(金) 02:23:23.950290名無しさん@お腹いっぱい。
2016/03/04(金) 04:17:37.56(defun my-mc/all-region-strings ()
(let* (strings
(cursors (mc/all-fake-cursors))
(tmp-list (and cursors
(let ((lst (list (list (mark) (buffer-substring-no-properties (point) (mark))))))
(mapc #'(lambda (x)
(let* ((beg (mc/cursor-beg x))
(end (mc/cursor-end x))
(str (buffer-substring-no-properties beg end)))
(setq lst (append lst (list (list end str))))))
cursors)
lst))))
(when tmp-list
(setq tmp-list (sort tmp-list #'(lambda (a b) (< (car a) (car b)))))
(mapc #'(lambda (x)
(setq strings (append strings (list (car (cdr x))))))
tmp-list))
strings))
0291名無しさん@お腹いっぱい。
2016/03/04(金) 11:52:26.63grepに引き続いて自動実行させたいのですが、hookの方法を教えていただけませんか。
0292名無しさん@お腹いっぱい。
2016/03/04(金) 12:23:51.590293名無しさん@お腹いっぱい。
2016/03/04(金) 16:42:30.35(define-key isearch-mode-map [(control ? )] (lambda ()
(interactive)
(push-mark isearch-other-end t 'activate)
(isearch-exit)))
isearchで検索してハイライトさせた後C-スペースでリージョンに変更できる
そんでmcする
0294名無しさん@お腹いっぱい。
2016/03/05(土) 00:32:23.25mcする時はC-SPCも省略したいです
0295名無しさん@お腹いっぱい。
2016/03/05(土) 15:11:01.67>>293のはmc専用って訳じゃないからこれはこれで残しておいて↓を別途追加した
isearch中にC-<で一気にmcに移行出来てスゲー便利だった
(define-key isearch-mode-map [(control <)] (lambda ()
(interactive)
(push-mark isearch-other-end t 'activate)
(isearch-exit)
(setq this-original-command 'ignore)
(mc/mark-all-like-this)))
this-original-commandを設定してるのは、mcが直前のコマンドを厳密にチェックしてて
そのまま実行すると妙なエラーになるから、回避するイディオムみたいなもんだな
最初だけignoreを登録するか聞かれるけどyで登録しておけば2回目からはスッと実行できる
0296名無しさん@お腹いっぱい。
2016/03/05(土) 15:20:56.32mc中にC-v,M-vでカーソル間を移動出来てC-'をすればカーソル以外の行を非表示に出来る
C-v,M-vはリング状にぐるぐる回り続けて気持ち悪いから
(setq mc/cycle-looping-behaviour 'error)をしてる
これしておけば上端と下端でカツっと止まる
0297名無しさん@お腹いっぱい。
2016/03/05(土) 15:28:15.180298名無しさん@お腹いっぱい。
2016/03/05(土) 16:26:01.81>>295よりは↓の方が直感的で使いやすかったんで別バリエーションとして追加させてくれ
(define-key isearch-mode-map [(control >)] (lambda ()
(interactive)
(push-mark isearch-other-end t 'activate)
(isearch-exit)
(setq this-original-command 'ignore)
(mc/mark-next-like-this 1)))
0299名無しさん@お腹いっぱい。
2016/03/05(土) 17:03:50.57例えばこれを二行目からmcした時に
mc-0 mc-a mc-a
mc-1 mc-b mc-c
mc-2 mc-e mc-f
mc/region-strings はこういうリストを返すけど
("mc-f" "mc-e" "mc-2" "mc-c" "mc-b" "mc-0" "mc-a" "mc-1")
>>290のは見た目の順で重複もそのまま返すってだけです
("mc-0" "mc-a" "mc-a" "mc-1" "mc-b" "mc-c" "mc-2" "mc-e" "mc-f")
0300名無しさん@お腹いっぱい。
2016/03/05(土) 18:07:06.05なるほど、返答どうも!
んで、そうなると何か良いことあるの?
mcの内部に詳しいわけでもないんでよく分からん…
0301名無しさん@お腹いっぱい。
2016/03/06(日) 01:09:01.39>>276
どっちがいいのかな ^^;
0302名無しさん@お腹いっぱい。
2016/03/06(日) 01:28:45.87helm 使ってれば helm-swoop でいいだろうし
使ってなければ color-moccur でいいんじゃない
0303名無しさん@お腹いっぱい。
2016/03/06(日) 02:25:14.651行毎に1個のリージョン群なら cua-mode や rectangle-mark-mode から
そのまま使えるとか
0304名無しさん@お腹いっぱい。
2016/03/06(日) 03:33:56.90phi-searchのぐるぐるも止められます?
せめてisearchみたいに分かりやすく「もうねえよ!」と言ってほしい。
0305名無しさん@お腹いっぱい。
2016/03/06(日) 08:12:50.70モード切り替え間違えるとサーチ終了しちゃうし
0306名無しさん@お腹いっぱい。
2016/03/06(日) 11:57:48.330307名無しさん@お腹いっぱい。
2016/03/06(日) 13:54:25.54(add-hook 'ace-jump-hook 'deactivate-input-method)
みたいになんかのhookに登録すればいいんじゃないの?
0308名無しさん@お腹いっぱい。
2016/03/06(日) 15:42:24.45やってみます。ありがとう(_ _)
0309名無しさん@お腹いっぱい。
2016/03/08(火) 15:17:04.44今はemacsを文章を書く程度にしか使っていません。
あれから進歩がなく、逆に忘れてしまっていることが多くて
大変だなとおもっています。
以前webarchiveを使ってリンクが切れているものは読むなど
教えていただきました。では
0310名無しさん@お腹いっぱい。
2016/03/08(火) 18:06:21.010311名無しさん@お腹いっぱい。
2016/03/09(水) 01:51:23.680312名無しさん@お腹いっぱい。
2016/03/09(水) 15:55:38.76(defun phi-search--more-matches-p (&optional prev)
(if phi-search--selection
(let* ((ovs (copy-sequence phi-search--overlays))
(p (overlay-start (nth phi-search--selection ovs)))
lst)
(setq ovs (sort ovs #'(lambda (a b) (< (overlay-start a) (overlay-start b)))))
(mapc #'(lambda (x) (setq lst (append lst (list (overlay-start x))))) ovs)
(if prev
(> p (nth 0 lst))
(< p (nth (1- (length ovs)) lst))))))
(defun ad-around--phi-search-again-or-next (f)
(if (phi-search--more-matches-p)
(funcall f)))
(advice-add 'phi-search-again-or-next :around #'ad-around--phi-search-again-or-next)
(defun ad-around--phi-search-again-or-previous (f)
(if (phi-search--more-matches-p t)
(funcall f)))
(advice-add 'phi-search-again-or-previous :around #'ad-around--phi-search-again-or-previous)
0313名無しさん@お腹いっぱい。
2016/03/09(水) 21:01:22.45melpaにgrep-edit.el無いorz
こういう時はどうすればいいんすか
0314名無しさん@お腹いっぱい。
2016/03/09(水) 21:41:54.77MELPAにあるwgrepじゃ駄目なのか?
0315名無しさん@お腹いっぱい。
2016/03/09(水) 21:48:57.13ありがとうございました。
0316名無しさん@お腹いっぱい。
2016/03/09(水) 22:15:07.660317名無しさん@お腹いっぱい。
2016/03/10(木) 02:08:26.750318名無しさん@お腹いっぱい。
2016/03/10(木) 11:21:20.070319名無しさん@お腹いっぱい。
2016/03/10(木) 15:08:10.55どうすればいいでしょうか?
error in process filter: Could not create connection to www.emacswiki.org:\
443
0320名無しさん@お腹いっぱい。
2016/03/10(木) 16:43:54.280321319
2016/03/10(木) 17:26:28.17次のものが赤字で出ただけです
;; This buffer is for notes you don't want to save, and for Lisp evaluatio\
n.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.
0322319
2016/03/10(木) 17:44:07.25教えてくれたことについてわかりました。
-Qを与えて起動してその画面からinit.elを開いて書き直せと
いうことなのだと理解しました。
その書き直しについてなのですが
http://d.hatena.ne.jp/shammer/20160212/p1
に書いているように
(auto-install-update-emacswiki-package-name t)
をコメントにしてしまってコードじゃないから働かなくしてしまえ、
というふうにすると、(;;と先頭につけると)エラーがでなくなりました。
こういう風にしてコメントアウトしてしまって何の問題もないのでしょうか?
どうしてこういうエラーがでるようになったのでしょうか?
なんども申しわけありません。できれば教えてください
0323319
2016/03/10(木) 18:07:03.88のところを
;;(auto-install-update-emacswiki-package-name t)
としたあとに;;を削除をしたのですが、これだけでなぜだかエラーが
でなくなりました。
なぜかわかりませんが、解決しました。ありがとうございます 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0324名無しさん@お腹いっぱい。
2016/03/10(木) 18:14:24.89整理します。
http://d.hatena.ne.jp/shammer/20160216/p1
をすると解決しました。というのはbrew unlink openssl
とすることで再びエラーが出てきたからです。
他方で、その後にbrew doctorをしたところ
Warning: Some keg-only formula are linked into the Cellar.
Linking a keg-only formula, such as gettext, into the cellar with
`brew link <formula>` will cause other formulae to detect them during
the `./configure` step. This may cause problems when compiling those
other formulae.
Binaries provided by keg-only formulae may override system binaries
with other strange results.
You may wish to `brew unlink` these brews:
openssl
というのがでてきました。brew unlink opensslをするとemacsのほうで
エラーがでるし、brew unlink opensslをせずに、
http://d.hatena.ne.jp/shammer/20160216/p1
の通りにすると、brew でエラーがでます。
それでは
0325名無しさん@お腹いっぱい。
2016/03/11(金) 00:39:51.51#<buffer Emacs のバッファ名> >> filename
こういうのをM-x からやりたい
0326名無しさん@お腹いっぱい。
2016/03/11(金) 00:44:14.31バッファなら mark-whole-buffer してから append-to-file とか
0327名無しさん@お腹いっぱい。
2016/03/11(金) 09:35:46.24M-x >> でリージョンがあればその範囲、なければバッファ全体を追記
(defun >> (beg end)
(interactive
0328名無しさん@お腹いっぱい。
2016/03/11(金) 09:38:23.38(defun >> (beg end)
(interactive "r")
(let* ((urp (use-region-p))
(beg (or (and urp beg) (point-min)))
(end (or (and urp end) (point-max)))
(prompt (format "%s >> " (if urp
(format "region %s to %s" beg end)
(format "buffer %s" (current-buffer))))))
(append-to-file beg end (read-file-name prompt))))
0329名無しさん@お腹いっぱい。
2016/03/11(金) 17:44:41.010330名無しさん@お腹いっぱい。
2016/03/12(土) 18:30:01.81最近、「そんなトロいエディタ使ってるから作業が遅いんだ」と言われてしまいました。
システム関係のプログラムの開発やメンテナンスで、
とにかくスピードを求められる仕事が増えてきたのですが、
どうもそういう仕事を多くしている人の目から見ると、
emacs のやりかたはトロ臭く見えるらしいのです。
(自分のやりかたがトロ臭いだけなのかもしれませんが)
vi + コンソール や、windows 上でのスクリーンエディタを使ったやりかた、
その他 Sublime や Atom 等の最新のエディタを使ったやり方に引けをとらない作業効率を
emacs で実現することは可能なのでしょうか。
0331名無しさん@お腹いっぱい。
2016/03/12(土) 21:13:32.21言語は問わず、できるだけスクリプトもしくは elisp にして
(もちろん、少々のパラメータの変更などはインタラクティブに変更可能にして)
もし elisp ならば eval-last-sexp で即座に実行可能な状態にすればいいのでは!?
多分初期段階ではめんどうでも、積み重ねると既存のものの組み合わせになっ
てくるから、めんどうさが減ってくるのでは。
0332名無しさん@お腹いっぱい。
2016/03/12(土) 22:16:34.26↓キー押しっぱなしのカーソル移動で画面をスクロールしてるのを
見せたりしたんだろうな
0333名無しさん@お腹いっぱい。
2016/03/13(日) 01:09:18.240334名無しさん@お腹いっぱい。
2016/03/13(日) 01:20:38.900335名無しさん@お腹いっぱい。
2016/03/13(日) 08:42:21.84流石にそれはないだろ
C-n
に違いない
0336名無しさん@お腹いっぱい。
2016/03/13(日) 10:59:42.22"C-M-%"とか効かないんですぅ
0337名無しさん@お腹いっぱい。
2016/03/13(日) 14:42:37.87ちなみにTypeScriptとかLLVMとかはコンパイラ内にソース解析機能があって
それ使うとEmacsでもバリバリ補完が効くようになって超便利
今時はコンパイラ側にソース解析機能を載せるのが流行りだから
エディタに文句言ってるやつの方が遅れてる
要するに何でも受け入れられる懐の深いエディタのEmacsこそが
一週回って最先端のエディタと言える
0338名無しさん@お腹いっぱい。
2016/03/13(日) 15:22:57.260339名無しさん@お腹いっぱい。
2016/03/13(日) 18:58:51.97コマンドラインでガシガシ仕事する真性のUNIX使いに言われてんのかと思ったら
ただのエディタ論争かよw
こんなの言ってるヤツらも素人に毛の生えた程度だぞw
0340名無しさん@お腹いっぱい。
2016/03/13(日) 19:03:40.140341名無しさん@お腹いっぱい。
2016/03/13(日) 19:33:20.30ウィンドウシステムなんて入れませんがなにか?っていう
ガチすぎるサーバ数十〜数百台の面倒見るような仕事なら
好むと好まざるとに関わらず達人になるだろうよ
0342名無しさん@お腹いっぱい。
2016/03/13(日) 20:41:56.47ダイナミックロードのサポートしたのは良いけど、gpl_compatibleとシグネチャー要求する懐ろの狭さはなんとかならんかね
大昔のPC98思い出して呆れたわ
0343名無しさん@お腹いっぱい。
2016/03/13(日) 21:06:28.08emacsがウェブブラウザ並のマルウェア蔓延アプリと化すのに
リーチかかってるだろ
シグネチャくらい当然
0344名無しさん@お腹いっぱい。
2016/03/14(月) 02:44:26.880345名無しさん@お腹いっぱい。
2016/03/14(月) 03:27:27.910346名無しさん@お腹いっぱい。
2016/03/14(月) 08:30:10.77そういう理由じゃないから
0347名無しさん@お腹いっぱい。
2016/03/14(月) 10:37:21.21web関連で使ってるとsublimeのほうが便利なことはよくあるかな
0348名無しさん@お腹いっぱい。
2016/03/14(月) 12:19:43.33さよなら
0349名無しさん@お腹いっぱい。
2016/03/14(月) 13:07:19.520350名無しさん@お腹いっぱい。
2016/03/14(月) 16:44:34.820351名無しさん@お腹いっぱい。
2016/03/14(月) 20:33:43.330352名無しさん@お腹いっぱい。
2016/03/16(水) 23:17:40.99・沢山の人が、偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
靖 国 参 拝、皇 族、国 旗 国 歌、神 社 神 道を嫌う カ ル ト
10人に一人は カ ル ト か 外 国 人
「ガ ス ラ イ テ ィ ン グ」 で 検 索 を !
0353名無しさん@お腹いっぱい。
2016/03/17(木) 23:25:44.88一回の C-s/C-r で行ったり来たりしたいのに。
0354名無しさん@お腹いっぱい。
2016/03/18(金) 01:15:48.19カーソルを[]で表示するとして
WORD[] ここにC-sで飛んでくる
次にC-rを押すと
[]WORD ここにカーソルが飛ぶ
なぜならばC-rは(isearch-repeat-backward)だから
0355名無しさん@お腹いっぱい。
2016/03/18(金) 01:47:13.27肩こりの原因になったりするけれども
0356名無しさん@お腹いっぱい。
2016/03/18(金) 02:33:24.370357名無しさん@お腹いっぱい。
2016/03/18(金) 04:11:10.950358名無しさん@お腹いっぱい。
2016/03/18(金) 05:29:08.04やっつけだけど一回で戻れるようにしてみた
どや!
(defvar isearch-direction nil)
(defun isearch-check-reverse (arg)
(unless (eq arg isearch-direction)
(let ((op isearch-opoint)
(str isearch-string))
(cond
((eq arg 'backward)
(setq isearch-direction 'backward)
(isearch-backward nil 1))
((eq arg 'forward)
(setq isearch-direction 'forward)
(isearch-forward nil 1)))
(isearch-yank-string str)
(setq isearch-opoint op))))
(advice-add 'isearch-forward :before (lambda (&optional regexp-p no-recursive-edit) (setq isearch-direction 'forward)))
(advice-add 'isearch-backward :before (lambda (&optional regexp-p no-recursive-edit) (setq isearch-direction 'backward)))
(advice-add 'isearch-repeat-forward :before (lambda () (isearch-check-reverse 'forward)))
(advice-add 'isearch-repeat-backward :before (lambda () (isearch-check-reverse 'backward)))
0359名無しさん@お腹いっぱい。
2016/03/18(金) 10:35:25.69(defun isearch-repeat-backward ()
"Repeat incremental search backwards."
(interactive)
(when isearch-forward (isearch-repeat 'backward)) ; 前回がisearch-forwardなら2回繰り返す
(isearch-repeat 'backward))
isearch-repeat-forwardの方も同じようにやればいいよ
0360名無しさん@お腹いっぱい。
2016/03/18(金) 10:38:26.820361名無しさん@お腹いっぱい。
2016/03/18(金) 11:23:07.28助かるわ ^^;
0362名無しさん@お腹いっぱい。
2016/03/18(金) 15:12:13.020363hoge
2016/03/19(土) 01:06:19.71(defun isearch-repeat-backward ()
0364名無しさん@お腹いっぱい。
2016/03/19(土) 10:21:02.95ttp://p.twpl.jp/show/large/SG4TF
0365名無しさん@お腹いっぱい。
2016/03/19(土) 11:00:50.15(defun isearch-repeat-backward ()
"Repeat incremental search backwards."
(interactive)
;前回がisearch-forwardなら2回繰り返す
(when isearch-forward (isearch-repeat 'backward))
(isearch-repeat 'backward))
(defun isearch-repeat-forward ()
"Repeat incremental search forwards."
(interactive)
;前回がisearch-backwardなら2回繰り返す
(when isearch-backward (isearch-repeat 'forward))
(isearch-repeat 'forward))
■ このスレッドは過去ログ倉庫に格納されています