元スレEmacs Part 41
emacs覧 / PC版 /みんなの評価 :
101 = :
>>95
全てtかじゃなく全てnon-nilかでいいのなら
(not (memq nil your-list))
リストが空の場合に真になるけど
102 = :
>>101
なるほど。適当なマクロ名をつけて使わせて頂きます。感謝!
(and) も t なので空の場合に真なのもそれはそれでよさそうです。
105 = :
何回目だよそれ
106 = :
そうなんだ。すまん
107 = :
圧倒的に日本だけがEmacs多いな。
108 = :
"VIM"という名前のものが日本にはないだけだろ。
109 = :
Meadowはアメリカ合衆国が多いのが不思議だ。
110 = :
一般的な英単語だからじゃないの
マーク・ピーターセンは英語の中で一番美しい単語のひとつなんじゃないかとか言ってたな
114 = :
画面まわりもテキストプロパティが屋台骨だしな
しかし「emacs でアプリ作ろう」とか思った人の9割がこの辺で撃沈してると思う
115 = :
>>113
> (plist-put (symbol-plist 'quit) 'error-message "中断")
> (plist-put (symbol-plist 'buffer-read-only) 'error-message "バッファは読み取り専用です")
普通はこうなんじゃね?
(put 'quit 'error-message "中断")
(put 'buffer-read-only 'error-message "バッファは読み取り専用です")
117 = :
Emacs 上から Google Drive ドキュメントの編集をしたいのだが、どの elisp が一番お勧めかね?
イメージとしてはhttp://directed-procrastination.blogspot.com/2011/06/syncing-emacs-with-google-documents.html
のようなミラーリングである。
119 = :
python製のgoogle関連と同期出来るツールを使ったelispがあったような気がするんだけど
cygwinだとちゃんと動いてくれなくて諦めた記憶だけが残ってる
Win や Mac だったら公式の同期ツールでも使ったほうがいいだろね
120 = :
まだ生きてんのかよクソ固定
はやく死ねよ
122 = :
一般のバッファのテキストの文字サイズを変更するのはC-x C-+, C-x C--でいいんだけど
ミニバッファのテキストの文字サイズを変えるのはどうしたらいいの?
SKKの変換候補の文字が小さくて複雑な文字の見分けがつきにくいから大きくしたい
123 = :
誰かEmacs実践入門買った人いない?
本当にEmacsこれから使う人におすすめなのかな?
124 = :
本屋で手にとって見ればいいだろ
125 = :
そろそろ、WebKitをレンダリングエンジンに使って実装されてもいい頃。
127 = :
こんにちは。プログラミングとは関係ない質問で恐縮ですが、Emacsで中国語のテキストを繁体字→簡体字、簡体字→繁体字へと変換するツールやelispってありますでしょうか?
128 = :
#<buffer *scratch*>ていうようなのを文字列として書き出したあとで再びオブジェクトとして読み取るにはどうしたらいいですか?
129 = :
>>128
Info 見る限り明示的に無理って書いてあるね
>File: elisp, Node: Printed Representation, Next: Comments, Up: Lisp Data Types
>However, some types have no read syntax, since
>it does not make sense to enter objects of these types as constants in
>a Lisp program. These objects are printed in "hash notation", which
>consists of the characters `#<', a descriptive string (typically the
>type name followed by the name of the object), and a closing `>'. For
>example:
>
> (current-buffer)
> => #<buffer objects.texi>
>
>Hash notation cannot be read at all, so the Lisp reader signals the
>error `invalid-read-syntax' whenever it encounters `#<'.
130 = :
bufferなどの疑似ベクタのオブジェクトはLispオブジェクトだけじゃなくて
C言語レベルの情報ももっている。
それをシリアライズする方法は存在しない。
ましてや#<buffer *scratch*>から復元するのは無理。
でも、もしかして"#<buffer *scratch*>"という文字列から*scratch*バッファーを
得たいなら、string-matchでも使って文字列"*scratch*"を取り出して(get-buffer "*scratch*")
131 = :
>>127
emacs用のはわからないけど
Big5 GB2312 converter とかでググるとちょこちょこ出てくるね。
単純に対応する文字の置換だけでよさそうな感じだし↓とか対応文字の一覧表ダウンロード出来るみたいだし
自力で書いちゃうのもありかもしれない
http://www.mandarintools.com/zhcode.html
132 = :
>>129
>>130
どうもありがとうございます。
他のやり方を考えてみます。
133 = :
ていうか疑似ベクタとかいってみたかっただけじゃないの?
試しもしてないくせにいい加減なこといって
初心者おいはらうのやめなよ。
そんなだから若者がEmacs離れするんだよ。
134 = :
試さなくてもバッファの構造とシリアライズできない事はソース読んで知ってるから。
135 = :
触れるな
136 = :
シリアライズしたければコードを書き変えればいいじゃない?
137 = :
思ったんだが、Emacs 上でオブジェクトを書きだしたら
それを Emacs-lisp に変換して .el にするモードを作っておいて
一旦 Emacs 終了、状態を復元して再起動(session.el のように)
というのをユーザーが気付かない速度で出来れば
理論上は実現できるんじゃないか?
139 = :
>>122
(defadvice message (after my-ad--message (format-string &rest args) activate)
(let (deactivate-mark)
(with-current-buffer " *Echo Area 0*"
(facemenu-add-face '((:height 1.5)) (point-min) (point-max)))))
:height の値を float 型で指定すれば、デフォルトのフォントサイズに対する
倍率を設定できますよ。
advice を利用しているので、ソースファイル (C 言語) に書かれているような、
ネイティブでの呼び出しには対応できないです。
他にもやり方はありそうですが、とりあえず的に利用はできます。
(ad-unadvise 'message)
こちらは、advice をやめる場合です。
140 = :
>>122
>>139 のやり方よりも、むしろ、 >>122 に書いてある face-remap を活用する形で、
(switch-to-buffer " *Echo Area 0*")
として、そこで C-x C-+ とかすれば、echo 領域のフォントサイズの調整がで
きますね。(試したらできなので、正直、驚いたw)
あと、face である minibuffer-prompt とかを再定義するとかすれば、うまく行
きそうですかね。
本当は、ソースコードレベルで修正するのが、完全なやり方でしょうけどね。
141 = :
試したらできなので => 試したらできたので
142 = :
バッファ内の文字列置換で
00を<em>00</em>に、
11を<strong>11</strong>に、
というように、検索文字列を置換時に参照して一致する箇所全てを置換する、
非対話型の関数はありますか。
普段は対話型のstring-replaceを使っているのですが
(interactive)を使った関数として定義してしまった方がよいと考えましたので。
145 = :
Meadow は独自にそういう機能を組み込んでいただけで Emacs との互換性はないよ。
NTEmacs の場合は mouse-avoidance-mode で我慢するしかないみたい。
148 = :
バッファ1行目をバッファの最終行に移したいです
カーソルの移動は分かるのですが、肝心のコピペ部分が分かりません
(goto-char (point-min))
(push-mark)
(end-of-line)
(kill-line)
(goto-char (point-max))
(yank)
よろしくお願いします
150 = :
>>148
基本的に、 (push-mark) とかは対話的な操作専用。
非対話的にやるなら、直接 buffer-substring で文字列を取得して insert する。
(save-excursion
(goto-char (point-min))
(forward-line 1)
(let ((first-line (buffer-substring (point-min) (point))))
(delete-region (point-min) (point))
(goto-char (point-max))
(newline)
(insert first-line)))
こんな感じかな。
みんなの評価 :
類似してるかもしれないスレッド
- Emacs Part 40 (1001) - [92%] - 2012/9/7 0:30
- Emacs Part 47 (995) - [92%] - 2015/4/19 13:01
- Emacs Part 42 (1001) - [92%] - 2013/6/9 5:15 △
- Emacs Part 43 (1001) - [92%] - 2013/12/14 11:30
- Emacs Part 44 (1001) - [92%] - 2014/2/8 8:01 △
- Emacs Part 46 (984) - [92%] - 2014/12/24 14:15
- Emacs Part 45 (1001) - [92%] - 2014/6/23 9:45
- Emacs Part 48 (997) - [92%] - 2015/12/9 15:15
- Emacs Part 49 (974) - [92%] - 2016/12/7 9:45
- Emacs Part 51 (1005) - [92%] - 2020/3/26 18:30
- Emacs Part 31 (1001) - [92%] - 2009/10/23 10:31 ○
- Emacs Part 33 (1001) - [84%] - 2010/3/9 20:01 ○
- Emacs Part 53 (989) - [84%] - 2022/12/5 12:45
- Emacs Part 32 (1001) - [84%] - 2009/12/20 2:04 ○
トップメニューへ / →のくす牧場書庫について