私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレEmacs Part 40
emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
ネタがねえ
*.elを保存する時に自動的にバイトコンパイルするやつ
作りかけのとかコンパイルされてもしかたないので元々 *.elc がある場合だけコンパイルする。
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(add-hook 'after-save-hook
(lambda ()
"必要ならバイトコンパイルする. elc が無い場合はコンパイルしない."
(require 'bytecomp nil t)
(let* ((file (buffer-file-name))
(dest (byte-compile-dest-file file)))
(when (and (file-exists-p dest)
(file-writable-p dest)
(file-newer-than-file-p file dest))
(byte-compile-file file))))
nil t))) ; buffer local hook
*.elを保存する時に自動的にバイトコンパイルするやつ
作りかけのとかコンパイルされてもしかたないので元々 *.elc がある場合だけコンパイルする。
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(add-hook 'after-save-hook
(lambda ()
"必要ならバイトコンパイルする. elc が無い場合はコンパイルしない."
(require 'bytecomp nil t)
(let* ((file (buffer-file-name))
(dest (byte-compile-dest-file file)))
(when (and (file-exists-p dest)
(file-writable-p dest)
(file-newer-than-file-p file dest))
(byte-compile-file file))))
nil t))) ; buffer local hook
どっかで拾ったこれがお気に入りだ。
iswitchbでバッファ名入力時に表示されてるバッファも一緒に切り替わるやつ
ついでに選択中に C-f C-b で切り替えできるようにする
(defadvice iswitchb-exhibit
(after in:ad-iswitchb-exhibit-with-display-buffer activate compile)
"選択しているバッファをウィンドウに表示する."
(when (and (eq iswitchb-method iswitchb-default-method)
iswitchb-matches)
(select-window (get-buffer-window
(find-if-not 'minibufferp (buffer-list))))
(let ((iswitchb-method 'samewindow))
(iswitchb-visit-buffer
(get-buffer (car iswitchb-matches))))
(select-window (minibuffer-window))))
(add-hook 'iswitchb-define-mode-map-hook
(lambda ()
"`iswitchb' の追加キーバインド."
(define-key iswitchb-mode-map (kbd "C-f") 'iswitchb-next-match)
(define-key iswitchb-mode-map (kbd "C-b") 'iswitchb-prev-match)))
iswitchbでバッファ名入力時に表示されてるバッファも一緒に切り替わるやつ
ついでに選択中に C-f C-b で切り替えできるようにする
(defadvice iswitchb-exhibit
(after in:ad-iswitchb-exhibit-with-display-buffer activate compile)
"選択しているバッファをウィンドウに表示する."
(when (and (eq iswitchb-method iswitchb-default-method)
iswitchb-matches)
(select-window (get-buffer-window
(find-if-not 'minibufferp (buffer-list))))
(let ((iswitchb-method 'samewindow))
(iswitchb-visit-buffer
(get-buffer (car iswitchb-matches))))
(select-window (minibuffer-window))))
(add-hook 'iswitchb-define-mode-map-hook
(lambda ()
"`iswitchb' の追加キーバインド."
(define-key iswitchb-mode-map (kbd "C-f") 'iswitchb-next-match)
(define-key iswitchb-mode-map (kbd "C-b") 'iswitchb-prev-match)))
ネタがない、か。それでは初心者がネタを投下。
emacsの正規表現は使いにくすぎる。書くときはいいけど後から読めない。rxを使うほどではないけど、Gaucheの正規表現リテラルが羨しい。
気になるのは二つ。
どうしてこんなことになったのか、歴史的なこと。
今、正規表現リテラルに関してまじめに考えている人はいるのか。
emacsの正規表現は使いにくすぎる。書くときはいいけど後から読めない。rxを使うほどではないけど、Gaucheの正規表現リテラルが羨しい。
気になるのは二つ。
どうしてこんなことになったのか、歴史的なこと。
今、正規表現リテラルに関してまじめに考えている人はいるのか。
正規表現リテラルってそんなに便利なのかな?
Gaucheでは型の扱い方がエレガントだからよさげに思うんじゃないだろうか。
Gaucheでは型の扱い方がエレガントだからよさげに思うんじゃないだろうか。
バックスラッシュを解釈しない文字列が書ければいいんだよな。
今時の言語にはあって当たり前だが。。
今時の言語にはあって当たり前だが。。
どう考えても、正規表現記号にエスケープを要求することと
そのエスケープ用文字が文字列のエスケープと被ってることが間違いじゃね
まあ環境が間違ってると言ってもそれを踏まえてうまくやるしかないんだけども
そのエスケープ用文字が文字列のエスケープと被ってることが間違いじゃね
まあ環境が間違ってると言ってもそれを踏まえてうまくやるしかないんだけども
あれは設計ミスとしか思えないよねえ。
コードに落としこむ時とミニバッファとかに入力する時でまた変わるってのも輪をかけておかしい。
何がメタ文字なのかってちゃんと把握すれば一応直交してはいるんだけどさ。
コードに落としこむ時とミニバッファとかに入力する時でまた変わるってのも輪をかけておかしい。
何がメタ文字なのかってちゃんと把握すれば一応直交してはいるんだけどさ。
やっぱり皆不満なのね。「それくらい脳をhackできなきゃemacsianとして云々」とか言うのかと思った。
>>711
M-x re-builder
改行含めて全ての文字にマッチする表現がぱっと書けないのもどうかと思うよ。
いまだになぜかうまく動かないやつあるし。
>>711
M-x re-builder
改行含めて全ての文字にマッチする表現がぱっと書けないのもどうかと思うよ。
いまだになぜかうまく動かないやつあるし。
re-builderはなぁ・・
今だったらミニバッファに正規表現入力中に勝手に re-builder が働くような感じだといいんだろうね。
今だったらミニバッファに正規表現入力中に勝手に re-builder が働くような感じだといいんだろうね。
re-builderで作った正規表現をそのままoccurに入れて動かねーと
頭を抱えたのはいい思い出
頭を抱えたのはいい思い出
>>715
query-replace-regex がうまく動かなくて困ってるんだけどくわしく。
query-replace-regex がうまく動かなくて困ってるんだけどくわしく。
Javaなんかは1.4になって初めて正規表現をサポートした。
むしろこれからの技術でしょ。>正規表現
むしろこれからの技術でしょ。>正規表現
これからもなにも・・・・
計算機科学黎明期のそれこそ字句解析構文解析とほぼ同時に生まれた概念だぞ
計算機科学黎明期のそれこそ字句解析構文解析とほぼ同時に生まれた概念だぞ
そういえばelispに関数型parserの話なかったっけ。
くそ長い正規表現撲滅されるかも。
くそ長い正規表現撲滅されるかも。
>>723
あんなメンテナンス性の悪いもの嫌って当然。
あんなメンテナンス性の悪いもの嫌って当然。
まーまー。
Emacsの正規表現でのエスケープだらけへの愚痴大会を
正規表現そのものの悪口大会と勘違いした夏厨くんが
勇んで参加してしまっただけ。
よくある話だ。
Emacsの正規表現でのエスケープだらけへの愚痴大会を
正規表現そのものの悪口大会と勘違いした夏厨くんが
勇んで参加してしまっただけ。
よくある話だ。
正規表現は利便性の高いものであることに疑問はないけど、
emacsで正規表現書く時はすごくストレスが溜まることはあるな。
バックスラッシュ4つ書くのが普通となるとやっぱり嫌だ。
emacsで正規表現書く時はすごくストレスが溜まることはあるな。
バックスラッシュ4つ書くのが普通となるとやっぱり嫌だ。
>>728
暫く書かないでいるとどれに何個エスケープしなきゃいけないか忘れるよね
暫く書かないでいるとどれに何個エスケープしなきゃいけないか忘れるよね
バックスラッシュが大量に入っちゃうのは何らかのパーズ処理だと思うが。
そういう処理に正規表現使わないのはそろそろ常識になってほしい。
そういう処理に正規表現使わないのはそろそろ常識になってほしい。
>>736
くれぐれも巨大な正規表現は書かないように。馬鹿に見えるからね。
くれぐれも巨大な正規表現は書かないように。馬鹿に見えるからね。
Emacsはなんで正規表現リテラル導入しなかったんだろね。
長いの書く時まじでしんどいわ。
だいたい列挙するだけで \\(\\(\\(public\\|protected\\|private\\|const\\|...とか
あほやろwwww
長いの書く時まじでしんどいわ。
だいたい列挙するだけで \\(\\(\\(public\\|protected\\|private\\|const\\|...とか
あほやろwwww
>>738
四の五の言わず、 regexp-opt 使いたまえ。
四の五の言わず、 regexp-opt 使いたまえ。
どうせまたstallmanの趣味でリテラルの導入考えなかったんだろ。
抜けたことでダイナミックリンクも解禁されたし正規表現リテラルもそのうち実装されるんじゃねえの。
抜けたことでダイナミックリンクも解禁されたし正規表現リテラルもそのうち実装されるんじゃねえの。
replace-regexp の置換語のところに S 式書けるの今はじめて知ったわ
replace-regexp: \(\w+\) => \,(capitalize \1)
replace-regexp: \(\w+\) => \,(capitalize \1)
rx使ってるライブラリって何かあるかなとおもって調べたら
python-modeが使ってたわ
標準配布なんだしもっと使えばいいのに
python-modeが使ってたわ
標準配布なんだしもっと使えばいいのに
書かなくていいなら幸せだ。書かなきゃいけないんだよ。
\\の嵐に悩んでいる人は regexp-lock 使ってみたら?
個人的にはグルーピングに関する悩みは大体は解決した。
個人的にはグルーピングに関する悩みは大体は解決した。
軽くぐぐっても出てこないんだけどどこにあるの?
regexp-optの間違いじゃないよね?
regexp-optの間違いじゃないよね?
>>748
これ面白いね。正規表現っぽい文字列コンテキストのとこに入ると
\\(\ab\(\\(cd\\)\\)\\) がハイライト付きで \1(ab\2(\3(cd\3)\2)\1) みたいに表示される
正規表現のグルーピングになってない()はハイライトされないから確かに一目瞭然だわ。
これ面白いね。正規表現っぽい文字列コンテキストのとこに入ると
\\(\ab\(\\(cd\\)\\)\\) がハイライト付きで \1(ab\2(\3(cd\3)\2)\1) みたいに表示される
正規表現のグルーピングになってない()はハイライトされないから確かに一目瞭然だわ。
質問です。
Emacsを使うとマウスまで手を伸ばさなくてもほとんどの作業ができるようですが、
本当にそうなのでしょうか?
例えばカーソルを合わせたりクリックするような作業も全てキーボードで行う事は可能なのですか?
Emacsを使うとマウスまで手を伸ばさなくてもほとんどの作業ができるようですが、
本当にそうなのでしょうか?
例えばカーソルを合わせたりクリックするような作業も全てキーボードで行う事は可能なのですか?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- Emacs Part 46 (984) - [92%] - 2014/12/24 14:15
- Emacs Part 42 (1001) - [92%] - 2013/6/9 5:15 △
- Emacs Part 50 (978) - [92%] - 2017/12/29 18:45
- Emacs Part 49 (974) - [92%] - 2016/12/7 9:45
- Emacs Part 48 (997) - [92%] - 2015/12/9 15:15
- Emacs Part 47 (995) - [92%] - 2015/4/19 13:01
- Emacs Part 41 (1001) - [92%] - 2012/12/24 4:15
- Emacs Part 45 (1001) - [92%] - 2014/6/23 9:45
- Emacs Part 44 (1001) - [92%] - 2014/2/8 8:01 △
- Emacs Part 43 (1001) - [92%] - 2013/12/14 11:30
- Emacs Part 32 (1001) - [84%] - 2009/12/20 2:04 ○
- Emacs Part 33 (1001) - [84%] - 2010/3/9 20:01 ○
- Emacs Part 53 (989) - [84%] - 2022/12/5 12:45
- Emacs Part 54 (97) - [84%] - 2023/1/25 17:15
トップメニューへ / →のくす牧場書庫について