私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレEmacs Part 39
emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
引数はむしろlistの方がいいな。
eldocとかで不必要におかしな名前で出てくるのは間が抜けた感じ。
eldocとかで不必要におかしな名前で出てくるのは間が抜けた感じ。
>>798
reverse を nreverse にする
そもそも (goto-char end) + (re-search-backward ...) を使うと、 reverse がいらなくなる
loop 大好き
(save-excursion
(goto-char beg)
(loop while (re-search-forward regexp end t)
collect (match-string index)))
reverse を nreverse にする
そもそも (goto-char end) + (re-search-backward ...) を使うと、 reverse がいらなくなる
loop 大好き
(save-excursion
(goto-char beg)
(loop while (re-search-forward regexp end t)
collect (match-string index)))
>>803
> そもそも (goto-char end) + (re-search-backward ...) を使うと、
> reverse がいらなくなる
これやると正規表現の量指定子はどういう挙動をするの?
> そもそも (goto-char end) + (re-search-backward ...) を使うと、
> reverse がいらなくなる
これやると正規表現の量指定子はどういう挙動をするの?
http://blog.kiftwi.net/2011/12/13/emacs%E3%81%AEjs2-mode%E3%81%AE%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88%E3%82%92%E6%AD%A3%E3%81%99/
これのインデントの関数の再設定を見て疑問に思ったのですが例えば
(add-hook 'text-mode-hook
(lambda ()
(setq indent-line-function (lambda () (insert " ")))))
このように書くのと、
(add-hook 'text-mode-hook
(lambda ()
(set (make-local-variable 'indent-line-function) (lambda () (insert " ")))))
と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
理解しているのですが、これでいいでしょうか
それと、add-hook で他のモードに影響させないバッファローカルな関数を定義することは可能でしょうか
(add-hook 'input-method-activate-hook
(lambda() (set-cursor-color "yellow")))
この設定をelispモードのバッファにのみ適用させたいです
これのインデントの関数の再設定を見て疑問に思ったのですが例えば
(add-hook 'text-mode-hook
(lambda ()
(setq indent-line-function (lambda () (insert " ")))))
このように書くのと、
(add-hook 'text-mode-hook
(lambda ()
(set (make-local-variable 'indent-line-function) (lambda () (insert " ")))))
と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
理解しているのですが、これでいいでしょうか
それと、add-hook で他のモードに影響させないバッファローカルな関数を定義することは可能でしょうか
(add-hook 'input-method-activate-hook
(lambda() (set-cursor-color "yellow")))
この設定をelispモードのバッファにのみ適用させたいです
>>803 はたぶん意味を理解していない。
>>806
> と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
text-mode-hook が実行? されるバッファ以外にもだけれど、合ってる。
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(add-hook 'input-method-activate-hook (lambda() (set-cursor-color "yellow")) nil 'local)))
> と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
text-mode-hook が実行? されるバッファ以外にもだけれど、合ってる。
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(add-hook 'input-method-activate-hook (lambda() (set-cursor-color "yellow")) nil 'local)))
reddit にでてたけど、Emacs にも Achievement System あったら楽しそうだな。
http://www.reddit.com/r/emacs/comments/ook6a/does_something_like_this_exist_for_emacs/
http://www.reddit.com/r/emacs/comments/ook6a/does_something_like_this_exist_for_emacs/
set-face-foregroundの色やset-face-bold-pの有効・無効を
特定のモードのについてのみ変更できますか?
特定のモードのについてのみ変更できますか?
>>814
出来ない。
出来ない。
Emacsで、パターンに一致した行を見えなくすることはできますか。
(削除じゃなくて)
たとえばソースコードで「//」で始まる行だけを一時的に隠したいとか、
「<!ーー ーー>」の行を隠したいとか。
自分で指定したパターンで隠してくれるのを望みます。
あと、行数もつけてくれたら最高。
10: foo
14: bar ← 11行目から13行目までが隠されていることがわかる
15: baz
(削除じゃなくて)
たとえばソースコードで「//」で始まる行だけを一時的に隠したいとか、
「<!ーー ーー>」の行を隠したいとか。
自分で指定したパターンで隠してくれるのを望みます。
あと、行数もつけてくれたら最高。
10: foo
14: bar ← 11行目から13行目までが隠されていることがわかる
15: baz
hideshow は?
隠す部分の開始パターンと終了パターンが指定出来るよ。しかもEmacsに標準でついてくる。
describe-function hs-minor-mode ね。
あと、linum-mode で行表示しててもちゃんと隠された行はスキップされる。
隠す部分の開始パターンと終了パターンが指定出来るよ。しかもEmacsに標準でついてくる。
describe-function hs-minor-mode ね。
あと、linum-mode で行表示しててもちゃんと隠された行はスキップされる。
ただ、隠したり表示したりのキーバインドが結構押しづらいから
自分で使いたい部分だけバインドしなおしたほうが便利だとは思う。
自分は表示/非表示切り替えの hs-toggle-hiding だけ C-c C-SPC にバインドしなおして
それだけ使ってる。
自分で使いたい部分だけバインドしなおしたほうが便利だとは思う。
自分は表示/非表示切り替えの hs-toggle-hiding だけ C-c C-SPC にバインドしなおして
それだけ使ってる。
>>819-828
ありがとうございます。ためしてみます。
ありがとうございます。ためしてみます。
emacs lisp テクニックバイブルの36ページに入力補完として
completion-at-point(M-tab)が紹介されていますが
anythingを導入したらその機能が置き換えられてしまいました
調べてみたらanything-complete.elのanything-lisp-complete-symbol-partial-matchとなったようです
具体的には入力補完の例として本で説明されている
bu-f-naでbuffer-file-nameを補完したいです
そこでM-tabだけはcompletion-at-pointの機能を復活させて
それ以外はanything-completeを利用したいのですが
どうすればよいでしょうか
completion-at-point(M-tab)が紹介されていますが
anythingを導入したらその機能が置き換えられてしまいました
調べてみたらanything-complete.elのanything-lisp-complete-symbol-partial-matchとなったようです
具体的には入力補完の例として本で説明されている
bu-f-naでbuffer-file-nameを補完したいです
そこでM-tabだけはcompletion-at-pointの機能を復活させて
それ以外はanything-completeを利用したいのですが
どうすればよいでしょうか
anything を使ってないから詳しくはわからんけど、
anything-complete の中で define-key してるキーマップ名を探して
(define-key キーマップ名 (kbd "<M-TAB>") nil) とでもして機能を殺せばいい。
anything-complete の中で define-key してるキーマップ名を探して
(define-key キーマップ名 (kbd "<M-TAB>") nil) とでもして機能を殺せばいい。
elcってバージョン間の互換性薄かったりするけど、
複数バージョンの emacs 使ってる人は ~/.emacs.d 以下の elc ファイルってどうやって共有させてるの?
複数バージョンの emacs 使ってる人は ~/.emacs.d 以下の elc ファイルってどうやって共有させてるの?
そもそもバイトコンパイルほとんどしてない。
というか互換性薄かったっけ?
暗号系のやつは遅いので仕方ないからコンパイルしてるけど互換性で問題になっ
たことない。
というか互換性薄かったっけ?
暗号系のやつは遅いので仕方ないからコンパイルしてるけど互換性で問題になっ
たことない。
バージョン間の違いを吸収するときは
バージョンごとに違うディレクトリを掘って、
~/.emacs.d/22
~/.emacs.d/23
それぞれに el ファイルとか elc 放り込んでる。
で
(setq load-path (cons (format "~/.emacs.d/%s" emacs-major-version) load-path))
みたいなことをしてる。
バージョンごとに違うディレクトリを掘って、
~/.emacs.d/22
~/.emacs.d/23
それぞれに el ファイルとか elc 放り込んでる。
で
(setq load-path (cons (format "~/.emacs.d/%s" emacs-major-version) load-path))
みたいなことをしてる。
軽くぐぐってみると emacs19とemacs20で非互換だったとか
Meadowの1系と2系で非互換だったとかそんなぐらいだなぁ。
今emacs24でコンパイルしたのをemacs23で読み込ませても特にエラーにはならなかった。
Meadowの1系と2系で非互換だったとかそんなぐらいだなぁ。
今emacs24でコンパイルしたのをemacs23で読み込ませても特にエラーにはならなかった。
>>828
経験したパターンでは、emacs 本体で供給している macro の展開で NG
とかある。個人的な感想では emacs23 と 24 の elc 共用は止めた方が
良い。読み込んだぐらいではエラーにならないけど、使っているうちに
理由の分からんエラーになる。知っている限りでは、Mew と emacs-w3m
はこれに該当する。
経験したパターンでは、emacs 本体で供給している macro の展開で NG
とかある。個人的な感想では emacs23 と 24 の elc 共用は止めた方が
良い。読み込んだぐらいではエラーにならないけど、使っているうちに
理由の分からんエラーになる。知っている限りでは、Mew と emacs-w3m
はこれに該当する。
byte-compile-dest-file-function に version specific なディレクトリに elc 突っ込むような関数定義して
load-path ではその ディレクトリが先頭に来るようにするってのはどうだろう。
el と elc が別ディレクトリだと describe-function とかした後に関数定義に飛べなかったような記憶があるけど・・・
load-path ではその ディレクトリが先頭に来るようにするってのはどうだろう。
el と elc が別ディレクトリだと describe-function とかした後に関数定義に飛べなかったような記憶があるけど・・・
http://twitter.com/kazu_yamamoto/status/161620210237964288
> ELisp は Scheme より Common Lisp に近いため、Common Lisper がたくさん ELisp を書いていますが、ELisp っぽく書けてはいないので、require 'cl しているコードはお勧めできません。
さて、自称上級者はどういう反応をするか。
> ELisp は Scheme より Common Lisp に近いため、Common Lisper がたくさん ELisp を書いていますが、ELisp っぽく書けてはいないので、require 'cl しているコードはお勧めできません。
さて、自称上級者はどういう反応をするか。
そういや昔、山本さんが誰か知らずにfletとは云々ってブログにコメントしてた人がいたな。
アンチには違いないと思うけど。
真っ当なグラマならこんな古くさい言語を必死に宣伝したりしない。
真っ当なグラマならこんな古くさい言語を必死に宣伝したりしない。
あんな必死になって著書にまで (require 'cl) の有用性を書いてた人にとっ
ては人格を否定されたも同然。でも、反論する度胸はないだろうな。(⊃д`)
いい加減ああいううさん臭いのに騙されるのやめてほしいわ。
ては人格を否定されたも同然。でも、反論する度胸はないだろうな。(⊃д`)
いい加減ああいううさん臭いのに騙されるのやめてほしいわ。
ていうかあいつすでにelispまったく書いてないじゃん。家で何やってんだろ。
実はもうアンチに変わってるんじゃないか。
実はもうアンチに変わってるんじゃないか。
メルマガ書くのでいっぱいいっぱいになってるんとちがうの。
どんぐらいの密度の内容の文章書いてるのかはわからんけど。
どんぐらいの密度の内容の文章書いてるのかはわからんけど。
common lispのreplのように
scratchバッファでもs式のインデントを自動的に行いたいのですが
(elispモードのように)
どうすればよいのでしょう
scratchバッファでもs式のインデントを自動的に行いたいのですが
(elispモードのように)
どうすればよいのでしょう
(define-key lisp-interaction-mode-map (kbd "C-m") 'newline-and-indent)
.emacsに書いている設定をinit-loaderで分割するときには
eval-when-compileをところどころ使わなくてはならないようですが、
eval-when-compile を使うのはdefmacroの設定が含まれているライブラリや
defmacroを自分で書いたときだと理解しています
それでいいでしょうか
eval-when-compileをところどころ使わなくてはならないようですが、
eval-when-compile を使うのはdefmacroの設定が含まれているライブラリや
defmacroを自分で書いたときだと理解しています
それでいいでしょうか
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- Emacs Part 34 (1001) - [92%] - 2010/6/21 19:45 ○
- Emacs Part 35 (1001) - [92%] - 2010/9/19 17:01
- Emacs Part 36 (1001) - [92%] - 2011/3/1 5:02
- Emacs Part 37 (1001) - [92%] - 2011/6/20 19:47
- Emacs Part 38 (1001) - [92%] - 2011/11/29 0:01
- Emacs Part 49 (974) - [92%] - 2016/12/7 9:45
- Emacs Part 33 (1001) - [92%] - 2010/3/9 20:01 ○
- Emacs Part 32 (1001) - [92%] - 2009/12/20 2:04 ○
- Emacs Part 31 (1001) - [92%] - 2009/10/23 10:31 ○
- Emacs Part 40 (1001) - [84%] - 2012/9/7 0:30
- Emacs Part 53 (989) - [84%] - 2022/12/5 12:45
- Emacs Part 41 (1001) - [84%] - 2012/12/24 4:15
- Emacs Part 54 (97) - [84%] - 2023/1/25 17:15
- Emacs Part 42 (1001) - [84%] - 2013/6/9 5:15 △
トップメニューへ / →のくす牧場書庫について