Emacs Part 42
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2012/12/24(月) 12:26:20.01Emacs Part 41
http://toro.2ch.net/test/read.cgi/unix/1347009022/
0270267
2013/01/31(木) 01:32:59.19まだ試してないけど、多分なると思う。ただ外部コマンドを使いたくない…
>>269
どもども。(しかし、今までずっと間違ってたかな…思いだせん)
0271名無しさん@お腹いっぱい。
2013/01/31(木) 03:03:10.580272名無しさん@お腹いっぱい。
2013/01/31(木) 03:35:30.46... with: \,(cond((match-end 1)"B")((match-end 2)"C")("A"))
0273名無しさん@お腹いっぱい。
2013/01/31(木) 06:23:15.03一片か一遍かなんてそんなに死ぬほど悩むことじゃないよ。
恥じることもない。
そんなことで人を馬鹿にする奴のほうが恥ずかしい。
間違っていたと気付いたら直せばいい。
それだけのことさ。
0274名無しさん@お腹いっぱい。
2013/01/31(木) 07:51:16.58華麗すぎて濡れたので関数にしてみた.
(defun query-replace-cycling (&rest args)
"Query replace cycling. If you specify three arguments A,
B and C, replace A->B, B->C and C->A simultaneously."
(when (< (length args) 2)
(error "Specify more than two arguments"))
(let* ((len (length args))
(from-string (mapconcat
(lambda (x)
(format"\\(%s\\)" x))
args "\\|"))
(condition (mapcar
(lambda (x)
`((match-end ,(- len (mod (length (member x args)) len))) ,x))
args)))
(perform-replace from-string
`(replace-eval-replacement replace-quote (cond ,@condition))
t t nil)))
置換時のミニバッファの表示がすこし変だがとりあえず動いている.
interactive にしたいけど,可変個数の引数をミニバッファで入力させるのって
どうやるんだ?
0275名無しさん@お腹いっぱい。
2013/01/31(木) 08:00:54.970276名無しさん@お腹いっぱい。
2013/01/31(木) 08:02:18.460277名無しさん@お腹いっぱい。
2013/01/31(木) 08:08:10.53すまん,コメントは超テキトー.Query replace cycling は
まあ意味をなしてないよな.
0278名無しさん@お腹いっぱい。
2013/01/31(木) 08:16:47.650279名無しさん@お腹いっぱい。
2013/01/31(木) 08:17:04.520280名無しさん@お腹いっぱい。
2013/01/31(木) 09:10:01.490281名無しさん@お腹いっぱい。
2013/01/31(木) 09:29:08.46これで完璧だろう>>267.こういうときはコンマセパレートでいいのかね.
(defun hyper-sequential-rotate-force (cycle start end &rest args)
"Rotate a number of strings. In interactive call, specify more
than one string separated by comma. If you specify three strings
A, B and C, rotate A->B and B->C. If CYCLE is non-nil (prefix arg
in interactive call), rotate A->B, B->C and C->A.
In Transient Mark mode, if the mark is active, operate on the contents
of the region. Otherwise, operate from point to the end of the buffer."
(interactive
`(,current-prefix-arg
,(and (use-region-p) (region-beginning))
,(and (use-region-p) (region-end))
,@(split-string (read-string "Strings (seprated by comma): ") ",")))
(when (< (length args) 2)
(error "Specify more than two strings"))
(let* ((len (length args))
(from-string (mapconcat
(lambda (x)
(format"\\(%s\\)" x))
(if cycle args (butlast args)) "\\|"))
(condition (mapcar
(lambda (x)
`((match-end ,(- len (mod (length (member x args)) len))) ,x))
args)))
(perform-replace from-string
`(replace-eval-replacement replace-quote (cond ,@condition))
t t nil nil nil start end)))
0282名無しさん@お腹いっぱい。
2013/01/31(木) 09:35:47.430283名無しさん@お腹いっぱい。
2013/01/31(木) 10:35:16.12扱う引数の数だけ一個一個入力して空欄のままエンターなら終了、になったらいいなあ
そんでローテート中は ^I でぐるぐる回せるとかな
(そこまで考えると query-replace なみにちょっとしたモードになってしまうのでだいぶチャレンジングだが)
ヤダ、そこまでされたらアタシの .emacs の中に入れちゃうかも///
0284名無しさん@お腹いっぱい。
2013/01/31(木) 10:43:56.49中断する作業を忘れないようにemacs上でメモを残したい。
ソースコードに直接コメントで残す方法が、メモと作業個所の同期、お手軽さではかなり
有利だけど、タイムスタンプが変更されたり、元に戻すのが手間だったり。
こういうの支援してくれるのってないですか?
0285名無しさん@お腹いっぱい。
2013/01/31(木) 10:59:48.81「開いてるファイルを記憶しといてあとで復帰する」系の機能。
desktop-save とか desktop-menu とか。
あくまでメモでというなら決まったテキストファイルを開く memo-mode (名前曖昧。てかこのテのものもよくある) とか、
なんならホームディレクトリに ChangeLog モードのファイルでもいけると思う。
ていうかぶっちゃけ ~/MEMO.txt あたりに outline-mode で日時書いて列挙、が一番手軽で融通きくやり方だと思う。
0286名無しさん@お腹いっぱい。
2013/01/31(木) 11:23:18.41,@(split-string ...
の行の代わりに
,@(let (str lst)
(while (not (string= (setq str (read-string "String (Input empty to rotate): ")) ""))
(setq lst (append lst (list str))))
lst)))
に変更したら所望の動作や.^Iでぐるぐる回せるってのは,
現在の一致箇所で^Iを押す度に,A->B,B->C,C->A って
変わっていくってことかな? むずそう.
>>284
org-mode を使ってるならローカルファイルにリンクが貼れる.
org-mode のファイルに
[[file:path/to/file::NNN]]
って書いておけば,そこにカーソルを置いて ENTER 押すと
file の NNN 行へ飛べる.当然 file が変更されたら行番号も変わるけど,
一緒にメモも書けるし,一時的なものなら大丈夫じゃないだろうか.
[[file:path/to/file::some words]]
にすれば file 中の some words に一致する場所に飛べる.
org-store-link を使えばいいと思うよ.
0287名無しさん@お腹いっぱい。
2013/01/31(木) 11:42:28.080288名無しさん@お腹いっぱい。
2013/01/31(木) 16:00:11.100289名無しさん@お腹いっぱい。
2013/01/31(木) 16:11:37.21マークアップ言語として使ってもいいと思うけどね.
まあ Emacs でしか使えんし,多機能すぎて混沌としすぎているのは否定できんが.
org-mode の布教ついでにおすすめ設定.
(add-to-list 'org-capture-templates
'("p" "Pending work" entry (file+headline "memo.org" "Pending work")
"** %?
%a"))
これを設定しておけば,M-x org-capture ENTER p と実行すると,
* Pending work
**
[[file:path/to/file::some words]]
memo.org にこのように追加されて,** のところにカーソルが移動するので
好きにメモをかけばいい.org-capture はメモ取りに便利だと思いまっせ.
0290名無しさん@お腹いっぱい。
2013/01/31(木) 20:20:11.260291名無しさん@お腹いっぱい。
2013/01/31(木) 20:41:47.99ttp://emacswiki.org/emacs/InPlaceAnnotations
はどうよ?
0292名無しさん@お腹いっぱい。
2013/01/31(木) 23:05:05.300294名無しさん@お腹いっぱい。
2013/02/01(金) 01:28:08.49これは… かなり要求に近い。こっちを使ってみます。
0295名無しさん@お腹いっぱい。
2013/02/02(土) 07:24:00.53OSになっていれば今頃はLinuxみたいになってたかもしれないのに。
Emacs OSみたいなやつ。
0296名無しさん@お腹いっぱい。
2013/02/02(土) 08:09:58.20深入りせず
何の展望も持たなかったからだよ
0297名無しさん@お腹いっぱい。
2013/02/02(土) 10:48:30.090298名無しさん@お腹いっぱい。
2013/02/02(土) 11:12:03.140299名無しさん@お腹いっぱい。
2013/02/02(土) 11:28:13.200300名無しさん@お腹いっぱい。
2013/02/02(土) 14:13:51.98line-number-mode だな。
24.2.92 では改善されてるよ
0301名無しさん@お腹いっぱい。
2013/02/02(土) 15:01:51.260302名無しさん@お腹いっぱい。
2013/02/02(土) 15:59:50.21hs-block-start-regexp と hs-block-end-regexp に領域開始/終了を示したい正規表現でも追加してやればいい
自分は隠れてる所がわかりやすくなるようフリンジにマーク表示する設定して使ってる。
VSみたいに閉じることが出来る場所にもマーク置きたいんだけど結構手間がかかりそう
(defvar hs-fringe-mark 'right-arrow
"*隠れた行の fringe に表示する bitmap 名.
`fringe-bitmaps' 内に設定されているシンボル名から選ぶ.")
(defun hs-mark-fringe (ovr)
"`hs-toggle-hiding'で隠された行の OVR を編集して fringe にマークを付ける."
(when (eq 'code (overlay-get ovr 'hs))
(let ((hiding-text "...")
(fringe-anchor (make-string 1 ?x)))
(put-text-property 0 1 'display (list 'left-fringe hs-fringe-mark) fringe-anchor)
(overlay-put ovr 'before-string fringe-anchor)
(overlay-put ovr 'display hiding-text))))
(setq hs-set-up-overlay 'hs-mark-fringe)
0303名無しさん@お腹いっぱい。
2013/02/02(土) 18:27:14.61ありがとう
勉強してみる
0304名無しさん@お腹いっぱい。
2013/02/03(日) 00:33:07.490305名無しさん@お腹いっぱい。
2013/02/03(日) 00:37:06.21このIn Buffer File Completionの部分がよく分からないのですが、どういうことでしょうか?
0306名無しさん@お腹いっぱい。
2013/02/03(日) 10:36:36.40cat でも起動して process-filter 使うって方法しかない?
0307名無しさん@お腹いっぱい。
2013/02/03(日) 11:14:51.53EOB に達したら filter から再度 insert-file-contents というのをやったことある。
0308名無しさん@お腹いっぱい。
2013/02/03(日) 11:56:53.55非同期プロセスは効率が悪すぎる。読み込み毎にメニューまで書き直すんだぞ、アレ。
0309名無しさん@お腹いっぱい。
2013/02/03(日) 13:09:36.98> 読み込み毎にメニューまで書き直すんだぞ、アレ。
えーと、メニューってなんのこと?
0310名無しさん@お腹いっぱい。
2013/02/03(日) 14:39:43.69されてる奴とか。
メニューじゃないけど、モードラインも再描画するぞ。
0311名無しさん@お腹いっぱい。
2013/02/03(日) 15:50:08.450312名無しさん@お腹いっぱい。
2013/02/03(日) 15:54:16.790313名無しさん@お腹いっぱい。
2013/02/03(日) 16:02:51.910314名無しさん@お腹いっぱい。
2013/02/03(日) 16:03:05.03別にEmacs開発者のせいじゃないけど。
Emacs自体があまりにも歳を取りすぎた。
0315名無しさん@お腹いっぱい。
2013/02/03(日) 16:12:16.21杉本彩のグラビアを見るみたいなもんで、
元がいいから下手な若手よりは見れるが
流石にもう小じわが気になるみたいな感覚なのだと思う。
0316名無しさん@お腹いっぱい。
2013/02/03(日) 16:17:02.790317名無しさん@お腹いっぱい。
2013/02/03(日) 17:21:24.360318名無しさん@お腹いっぱい。
2013/02/03(日) 17:22:18.070319名無しさん@お腹いっぱい。
2013/02/03(日) 17:45:47.560320名無しさん@お腹いっぱい。
2013/02/03(日) 18:58:33.26あっちでやれよカス。
0321名無しさん@お腹いっぱい。
2013/02/03(日) 19:12:02.750322名無しさん@お腹いっぱい。
2013/02/03(日) 19:22:13.13くだらん話題は全部あっち行け。rbkt
0323名無しさん@お腹いっぱい。
2013/02/03(日) 19:42:35.45どんなかんじになるんだろ?
0324名無しさん@お腹いっぱい。
2013/02/03(日) 19:56:37.620325名無しさん@お腹いっぱい。
2013/02/03(日) 20:09:44.390326名無しさん@お腹いっぱい。
2013/02/03(日) 20:27:43.100327名無しさん@お腹いっぱい。
2013/02/03(日) 21:34:03.65ますます酷くなるよ?
0328名無しさん@お腹いっぱい。
2013/02/03(日) 22:20:05.99右1/3を*scheme* バッファー
表示の状態にキーバインド一発で変更するには
どうすればいいのでしょうか
0329名無しさん@お腹いっぱい。
2013/02/03(日) 22:28:27.410330名無しさん@お腹いっぱい。
2013/02/03(日) 23:17:15.92適当に書いた.
(defun hoge ()
(interactive)
(select-window (split-window-horizontally (* 2 (/ (window-width) 3))))
(switch-to-buffer (get-buffer "*scheme*")))
フレームに1つのウィンドウしかなくて,そこに scheme のソースコードが
表示されていて,*scheme* バッファが存在していたら望みどおりになる.
0331名無しさん@お腹いっぱい。
2013/02/03(日) 23:42:51.21C-x r w <N>
C-x r j <N>
0332名無しさん@お腹いっぱい。
2013/02/04(月) 23:20:29.24エディタにアーキテクチャも糞もないだろ
むしろ追いつかれてすらいねーよ
0333名無しさん@お腹いっぱい。
2013/02/05(火) 06:58:45.44確かにEmacs使いといえばエディタ界では神扱いされる。
しかしながらそんな環境に甘んじていていい時代は終わってるということ。
Emacs界はもはや末期ローマ帝国なのだ。
0334名無しさん@お腹いっぱい。
2013/02/05(火) 07:26:38.84わざわざ相手すんなや
0335名無しさん@お腹いっぱい。
2013/02/05(火) 13:44:06.40補完のためにTabを押すと
Sole Actionというものがでてこれを
どうにかしたいのですが、いい方法はありませんか?
SoleActionというのはどういうものなのでしょうか?
0336名無しさん@お腹いっぱい。
2013/02/05(火) 18:25:50.62helmが呼び出す機能によっては様々なアクションがそこに表示されて選択することかできる
それをオフにしたいならhelmのC-iのキーマップを他のものに割り当てればいいはず
普通の補完を割り当てればそれなりにディレクトリ名も補完してくれる関数名忘れた
基本的にはFindFilesは自動補完されるから補完は必要ないという発想だとおもう
けど俺は自動補完は補完されるタイミングがわからないからオフにしてる
0337名無しさん@お腹いっぱい。
2013/02/06(水) 18:10:50.60だからこの3日間は、C-f, C-b, C-n, C-p を封印してみた。
おかげで小指はちょっとマシになったけど、こんなにも生産性が落ちるとは。
タッチタイピングもできなくなったよ。
もうSEやめるべきだよな。あした辞表出すわ。
0338名無しさん@お腹いっぱい。
2013/02/06(水) 18:18:04.020339名無しさん@お腹いっぱい。
2013/02/06(水) 18:20:05.18なんか良いキーバインド無いかな
0340名無しさん@お腹いっぱい。
2013/02/06(水) 18:23:08.92小指で指立てふせ
0341名無しさん@お腹いっぱい。
2013/02/06(水) 18:23:46.700342名無しさん@お腹いっぱい。
2013/02/06(水) 18:31:18.77(global-unset-key "\C-f")とかする前は、右ALTをCtrlにしてみたこともあった。
小指じゃなくて親指なら耐久性抜群だろうと。
でも3日ほどやってると、親指でもしんどくなってきた。
そのあと、viper-mode も試してみたけど、もうこれEmacsじゃなくって…。
傍からみたら仕事してなさそうなんだけど、この小指の痛さはもうどうしようもないんだわ。
0343名無しさん@お腹いっぱい。
2013/02/06(水) 18:33:11.770344名無しさん@お腹いっぱい。
2013/02/06(水) 18:33:13.84C-xを片手で正しい指で押してるから?
おれは片手でC-x,c,v,b押すときは人差し指使うよ
0345名無しさん@お腹いっぱい。
2013/02/06(水) 18:36:11.410346名無しさん@お腹いっぱい。
2013/02/06(水) 18:38:38.120347名無しさん@お腹いっぱい。
2013/02/06(水) 18:38:41.270348名無しさん@お腹いっぱい。
2013/02/06(水) 18:39:33.52こんな痛い事言ってる奴まだいるんだ。
0349名無しさん@お腹いっぱい。
2013/02/06(水) 18:40:07.21修飾キーが全部親指で押せるので,小指痛もないし
ホームポジションが崩れなくていい.
キーボード配置をいじるのがめんどいけど.
0350名無しさん@お腹いっぱい。
2013/02/06(水) 18:41:40.67CtrlがAの左なのは当然なんで
いちいち口にだして言う必要は無いな
0351名無しさん@お腹いっぱい。
2013/02/06(水) 18:41:49.51そんなん勝手じゃんよ。
0352名無しさん@お腹いっぱい。
2013/02/06(水) 18:52:16.67ごめん……Tabを薬指で打つからだと思う
C-iにしろってのは置いといて
0353名無しさん@お腹いっぱい。
2013/02/06(水) 19:14:30.190354名無しさん@お腹いっぱい。
2013/02/06(水) 19:21:40.49emacってなに?
0355名無しさん@お腹いっぱい。
2013/02/06(水) 19:22:39.680356名無しさん@お腹いっぱい。
2013/02/06(水) 20:06:04.900357名無しさん@お腹いっぱい。
2013/02/06(水) 20:13:10.36マクロス!
とぅ!!!
0358名無しさん@お腹いっぱい。
2013/02/06(水) 20:31:39.44全角はエスケープに変更
これが一番いいな
Hyperキーなんて使うアプリないし
0359名無しさん@お腹いっぱい。
2013/02/06(水) 20:54:40.700360名無しさん@お腹いっぱい。
2013/02/06(水) 21:05:11.25「猫手押し」とかいう
ノートじゃ無理だけど
0361名無しさん@お腹いっぱい。
2013/02/06(水) 21:26:49.73ctrlは変換と無変換にしてから指が痛くなることはなくなったな。
0362名無しさん@お腹いっぱい。
2013/02/06(水) 22:01:51.39http://toro.2ch.net/test/read.cgi/unix/1285489282/
0363名無しさん@お腹いっぱい。
2013/02/06(水) 22:12:27.070364名無しさん@お腹いっぱい。
2013/02/06(水) 22:22:59.180365名無しさん@お腹いっぱい。
2013/02/06(水) 22:35:14.36むしろ始めからそういうキーボードがあればいいとすら思う
親指シフトキーボードがまさにそれだが、恐しく高くて手がでない
0366名無しさん@お腹いっぱい。
2013/02/06(水) 22:38:33.11そういうのは大丈夫なの?
0367名無しさん@お腹いっぱい。
2013/02/06(水) 22:52:15.74今一言ってる意味が分からんが無変換→Altは単に左親指を曲げる角度が緩くなるってだけだぞ
右親指は普通の人はスペースの上にあるか遊んでるだけだから多少慣れが必要だね
0368名無しさん@お腹いっぱい。
2013/02/06(水) 22:58:24.83いや
\M-fとか\M-bは左親指+人差し指
\C-fや\C-bは左小指+人差し指
で別の指を使うから区別しやすいけど無変換だと指の使い方がほとんど同じで混乱すると思った
0369名無しさん@お腹いっぱい。
2013/02/06(水) 23:24:16.03無変換や変換をctrlにすればいいじゃない
linuxはわからないけれど
windowsでもmacでも大抵のキーリマップソフトなら大丈夫でしょ
■ このスレッドは過去ログ倉庫に格納されています