2 :
名無しさん@お腹いっぱい。 :2013/12/14(土) 19:16:51.50
emacsを算数のお道具箱に imaxima, gnuplot, reduce, octave, sage, macaulay2, mathematica が動く様になった 幸せ~
新スレ乙
____∩_∩ ~/ ・ ・\ ( ∀ ) <ぼく、4ゲット君 \/\/\/\/
正規表現の質問です (setq test "/* /* test */ */ foo /* foo */") testの /* */ 内を取り除こうとして (replace-regexp-in-string "/\\*\\(.\\|\n\\)+?\\*/" "" test) と書いたら */ foo と一部の */ が残ってしまいました。バックスラッシュの付け方に誤りがあるかと思いましたがよくわかりません。
一つめの部分で、外側のコメント開始から内側のコメント終了までにマッチしてるんだよ。 基本的に正規表現は入れ子に対応するのが難しい。
;; assoc の引数が1以外だとdata1が書き換えられる。 (setq data1 '((1 . 1)(2 . 2)(3 . 3))) (let ((data2 data1)) (setq data2 (delete (assoc 1 data2) data2))) これは仕様なのでしょうか。
>>7 delete はリストに対しては破壊的な操作を行うので仕様的に正しいです。
あとは、data2 に data1 の値を設定してるけど、リストの先頭の位置の値をコピーしてるだけなので
data2 の指すリスト自体を作り替えた場合 data1 が指してるリストも同じなので影響を受けます。
'((1 . 1) (2 . 2) (3 . 3)) に対して (1 . 1) の delete を行った場合、
'((1 . 1) . ((2 . 2) . ((3 . 3)))) の ((2 . 2) . ((3 . 3))) の部分が戻されるだけでリストは壊されず、
data1 は相変わらず先頭をさしたままなので何事も影響ないような感じになるけど
(2 . 2) とかの先頭じゃない部分の delete の場合、'((1 . 1) . ((3 . 3))) にリストが繋ぎ変えられるので。
>>8 >>9 どうもありがとうございます。理解できました。
今って migemo.el ってどこでメンテナンスされているんでしょうか? query-replace-highlight が効かなくてソースを見てみると migemo がハイライト関係の関数をまるっと置き換えててそれが原因で query-replace に 影響が出てるみたいなんですが、どこに報告したらいいんだろう
12 :
11 :2013/12/16(月) 20:51:03.77
とりあえず migemo 本体に修正をいれないで query-replace での lazy-highlight を殺さない設定。 isearch-lazy-highlight-search をオリジナルのものが呼び出されるようにすれば大丈夫だった。 ;; migemo を require するまえに実行すること (defvar org-isearch-lazy-highlight-search (symbol-function 'isearch-lazy-highlight-search) "migemo に置き換えられる前の `isearch-lazy-highlight-search'.") (dolist (fn '(query-replace query-replace-regexp)) (eval `(defadvice ,fn (around ,(intern (format "%s-with-migemo" fn)) activate) ,(format "migemo 導入時でもハイライトを有効にする.") (cl-letf (((symbol-function 'isearch-lazy-highlight-search) org-isearch-lazy-highlight-search)) ad-do-it )))) (require 'migemo)
migemoはgithubのemacs-jpに逝ったような。
>>6 ありがとうございます。
対策は難しそうですね。
考えてみます。
emacs-develでfeature freezeについて一悶着あったみたいだけど、 ドキュメントにあるような決まりきった英語じゃないから、何が 書いてあるかさっぱり分からん… そういう英語が分かるようになるのは、もう諦めてるがw
来週末にfeature freezeするから、何か機能追加したかったら さっさとやってね っていう告知があった後に、 ox-odt.el --- OpenDocument Text Exporter for Org Mode を突っ込むよと言った人に対して、お前著作権がらみの署名してなさそう だから、お前の変更要求は受けつけないよ。パッチを提出したかったら 先にアドレスを教えてよ。 って言われてブチ切れたっぽいのは分かったが、後半はようわからん。 最後の方で、「みなさん、煽り立てるをやめてください」と いうのがあって少し受けた
>>19 > copyright paperwork は依然書かされたよ。
> 10行超の修正をする際に必須とか。
へぇー知らんかった。俺も書いてみたい
あと、isearchして選択した部分をリージョンに変換する機能が無かったから
でっちあげてみた。isearch中にコントロールスペースで変換する。
(define-key isearch-mode-map [(control ? )]
'(lambda ()
(interactive)
(push-mark isearch-other-end t 'activate)
(isearch-exit)))
個人的にスゲー便利なのになんで無かったんだろ
>>21 > あと、isearchして選択した部分をリージョンに変換する機能が無かったから
やっぱ無いんですねそれ。私は一旦リージョンにするのも面倒になったので
C-d ですぐに削除、M-w でコピーにしてます。
>>22 実は multiple-cursor.el を使うための伏線だったりする。
ただ、単語の途中までみたいな中途半端なリージョン選択はだいぶやり易くなった。
>なんで無かったんだろ 飛ぶときマークするだけだからとしか
isearchって部分マッチの時点で終了しちゃうからなぁ その中途半端なリージョンが便利ってシチュエーションはかなり限定的なのでは
27 :
名無しさん@お腹いっぱい。 :2013/12/19(木) 17:53:33.33
Emacs には萌えよりも萎えが似合う。 萎えこそが Emacs の本質だと思う。
28 :
名無しさん@お腹いっぱい。 :2013/12/19(木) 18:07:15.28
このスレにはemacsをかなり使い込んでいる人しかいないと言う想定で質問させて下さい 皆さんCtrlキーはAキーの左ですよね では、Metaキーをどこに割り当てていますか? いまいちM-~のコマンド系を使いこなせていないです
Ctrl は Shift の下のをそのまま Meta は Z の右下の緑色で印字されてるやつ
過去スレで出てきたテクニックだったと思うけれどそれを見て以来 windowsキーボードでemacsを使っているときには 無変換と変換を長押ししている間はctrlにし始めた 変換-aでctrl-aを押せてかなり楽ちんだよ
書き忘れた M-はスペースキーで同様にやってる 親指をそれなりに使うけれど標準のポジションを出来るだけ維持できるから 手全体の動きはそれほどないよ
お前らが日本語キーボード使ってることに驚きだわ
自分は英語配列HHKで、TABと左Altをいれかえて使ってるな。 つまりTABキーがメタキー。 自分の使ってる配列で、Controlキーとの同時押しが楽なキーに するのが良いと思う。
そうそう 英語キーボードならAltが押しやすいから変更の必要がない プログラム書くなら記号も押しやすい英語キーボードにするべき
ほんとコンシューマーノート機もワールドモデルはUSキーを普通に流通させて欲しいよ AcerやASUSどころか東芝やソニー製品でさえ日本語キーがウンコローカライズな時代
ぶっちゃけどのキーボードでも大した違いは無いと思ってる
素人はそう思うよね
おっさんワナビ御用達の HHK 今だと Mac Book みたいなもんか
キーボードとかの環境にやたらこだわるやつは全く仕事出来ないか凄腕のどっちか。
Space Saver 1393278
まぁ仕事なんかでUS配列キーが使えるといいなーと思うこともあるけど 日本語配列を使ったからと言って作業効率がガタ落ちする訳でもないしな Emacsが使えなくなるほどのインパクトはない
HHKはコンパクトなとこがいいんだよ。 机にキーボード3つとか並べてると重要。 タッチはきにしないので、3つともLiteを使ってる。
Synergy とか使ってキーボード共有したくなるな、流石に3つもあると。
3台のうち1つはPS3なんだよね。 (Co-op相手とチャットするのに必要) まあKVMスイッチ使う手はあるんだが、 ディスプレイも2台並べて使ってるから、物理的にキーボードが複数あった方が便利よ。 まあディスプレイの数に合わせてキーボードも2台に抑える のがいいかもしれんが。 全然Emacsの話じゃなくなったな、しかし。
48 :
名無しさん@お腹いっぱい。 :2013/12/20(金) 01:17:19.61
バカヤロウ!(100万デシベルで) キーボードとEmacsが切り離せるか!! キーボードとEmacsは一心同体。これは昔から決まってる。
>>48 君は坊主の脱ぎ捨てた袈裟にお布施をする信心深い人間なんだね。
関数の処理時間を単に計測するマクロはどう書けばよいですか? (defmacro time (procs) `(let ((from (float-time))) ,procs (message (number-to-string (- (float-time) from))))) これでいいのでしょうか `(progn ,procs) のように書ければそうした方がよいと思うのですが、間違っていますか?
>>48 全てに関数名がついてるんだから、キーボードは絶対ではないような。
そこがいいとこだし。
音声入力に全てバインドとかも出来るのかな。
そこにprognは意味なく冗長になるだけ てか「関数」と言いつつ「任意のコード」を対象にしてる?
,@procs としたかっただけだろ。 benchmark を使った方がいいとは思う。
>>5 普通の正規表現では入れ子の削除はできない。
なぜかは「ポンプの補題」の証明をチェックしてくれ。
入れ子の除去は、基本的に開き文字と閉じ文字の両方を検索して、開き文字なら
+1,閉じ文字なら-1するカウンタを用意して、0で初めて0で終わる所の間を
消せば良いんじゃないかな。
2文字までのコメントの入れ子の除去なら、たとえば /* ~ */ なら、
syntax-table で、
(modify-syntax-entry ?/ "_ 14n" syntax-table)
(modify-syntax-entry ?* "_ 23n" syntax-table)
と設定されたバッファを用意して
そこで /* を検索した後、その先頭から(forward-comment 1) した場所との間
をdelte-region すれば大丈夫だと思う。
>>52-53 ありがとうございます。関数以外も実は想定していました
組み込みのbenchmarkを使ってみます
>>5 無限にネストしたのは無理だけど、2段ネストまでならこんな感じでできるよ。
同じ調子で、ある段数までのネストにマッチする正規表現は作れると思う。
実用的かどうかは知らない。
(replace-regexp-in-string "/\\*\\(.\\|\n\\)+?\\(/\\*\\(.\\|\n\\)+?\\*/\\)*\\(.\\|\n\\)+?\\*/" "" test)
そんでがんばって難読正規表現を組み上げた後で 文字列リテラル中の開始や終了にマッチするケースに出会ってガクゼンとするんだろ
真面目にやるなら一字ずつ読む字句解析しろよって思う
いっそのことelispでcコンパイラ書け、と思う。
なんで今さら C なの
最近不安なんだけど量子コンピュータの時代になっても Emacs は使えますか?
使えますよ。
ネストした /* コメントなんてなんで今更対応する必要があるんだ? 許されているコンパイラなんて最後に見たのは20年位前だと思うんだが
>>63 そうだっけ? prolog とか SQL とか今でも /* ... */ のネスト許してない?
と思ったけど、確かにネストを許すのは一部の方言だけか。
これ、とりあえず怪しい部分をコメントアウトするのに便利だったんだけど。
あ、OCaml とか Mathematica とかは、(* ... *) のネストを今でも許している
みたいだね。
WindowsでEmacs始めたいんだが、 cygwinからEmacs使い始めれば問題無い? cygwinのフォークとか遅くてだめ?
そんな分かってんだか分かってないんだか よく分からん認識で使いはじめたらたぶんダメだな
emacsでjavaのコーディングしてる人いる? いたらどんなやり方でやってるか教えてほしい
>>66 gnupackを入れればいいじゃん
windows向けにチューニングされたemacsバイナリもあることはあるけれど
emacsとの他のツール連携を考えれば現状はgnupack一択だと思うな
>>68 一応仕事で書いてるけど別に特別なことはしてないな
java-mode + ant + flymake + auto-complete + yasnippet + gtags あたりの組み合わせでゴリゴリ書いてる
最近は malabar-mode ってのがあるらしいがよく知らない
コーディング完了後、原因不明バグの調査やプロファイリングをする場合は eclipse を使っている
なんだかんだで Java 開発なら仕上げは eclipse/NetBeans に頼るのが効率的だと思う
>>70 やっぱりeclipseに頼ったほうがいいのか
どうにかしてeclipseやnetbeansに頼らないで出来るようにしたんだけどなあ
emacsでjavaの10万行のローグライクを作ったsteve yeggeはすごいな
そういうこと 無駄な努力とは分かってるんだけどやめられない
インデントさえしてくれれば、あとは別に要らないや。
ビルドと実行はantかmaven使ったほうがいいのかな
>>69 cygwin自体はもう導入しているが、
消去しないと競合してまずいか?(gnupack)
とりあえずEmacsのためにCapsLockをCtrlにした。
>>72 ちょっと言い方が悪かったかな
コーディングには不便しないし、簡単なデバッグくらいなら emacs で十分いける
高度なスキルを持っているか、もしくは趣味レベルで考えれば十分実用的だと思う
バグを徹底的につぶしたり、プロファイリングを効率的に行いたいなら
素直に eclipse に頼った方が幸せだよってことね
あと個人的にな意見で申し訳ないけど JDEE とか使うなら
汎用ツールや自作スクリプトを選ぶかなぁ
java と心中する気なら JDEE もいいかもしれないけど…
>>78 gnupack は cygwin 抜き emacs のみ版も配布してるけど
google ime か skk 使ってるなら公式配布の ntemacs でも何の問題もないと思う。
windows の emacs は cygwin の仮想端末がそのままだと開けないから
Meadow 由来のラッパープログラム仕込まなきゃ行けなかったり、
pipe にウェイトが入ってたりと素の emacs と比べるとプロセス周りはやっぱ弱いよ。
NTEmacs スレがあるからあとはそっちでどうぞ。
凄く細かいことなんですけど、バッファメニューって編集中のバッファに . が付きますよね。 でも m でマーク付けてから g や u で解除すると . も消えちゃいます。 消えないようするにはどういう設定をすればいいのでしょうか。
list-buffers のことなら、 mark 時に ">"、unmark 時に " " に置き換えってハードコードになってるから 設定ではどうにもならないかと。 "." の表示も最初に表示する時に直前のバッファを引数で渡して表示してるけど変数とかに保持してないから 再表示の時ははじめから " " で表示するようなコードになってる。 マークが消えてもカレントバッファが置き換わるわけじゃないから 気にしなくてもいいとは思うよ。 どうしても直したいなら以下が必要になる。手間の割に見返りないかと。 ・list-buffers-noselect 時に current-buffer を適当な変数に保存する advice ・list-buffers--refresh 時に引数の old-buffer をその適当な変数の値に置き換えする advice ・(tabulated-list-set-col 0 " " t) してる関数を状況を見て "." に置き換えるよう advice なり書き換えする
>>83 詳しい説明ありがとうございます。
確かに困ることはぜんぜん無いんですが…。勉強も兼ねてやってみます。
ありがとうございました。
>>84 適当に訳してみた
某氏がhelmにパッチを提出したら、
「お前のパッチはちょっと問題があるから受け入れらんねー
そもそもお前が著作権がらみの署名してないからHelmはELPAにねーんだよ。
だから、俺がお前のコードを消したり書き換えたりしない限り、ずっと
マージされないままなんだよ。
俺は3年間も一人でお前から一切の返答が無いままコードの整理と開発をしてきた。
ただ、全部済んだらあんたのコードをここに一々コメントせずに追加していきたい。
著作権がらみの署名を検討してくれ。そんでマージに値する理由を俺に教えてくれ。
そしたらまた見てみるよ。」
>ただ、全部済んだらあんたのコードをここに一々コメントせずに追加していきたい。 これってかなりあきれているんじゃないかな へえ、俺がやったあらゆることも気にかけず、君は 'rubikitch' 名義のコードを何も説明せずにさらに提供しようとするんだね。 多分こんな訳になるかと
FSFにコード寄贈するのに必要な署名をしない理由は何だろうね。 おかげでその分のコードを全部書きかえない限りはELPAに入れられない わけで、ずっと頑張って書き換えようとしてるのに、また新たに ELPAに入れられないコード送られてきても、そりゃ困るわな。
あと、
>>86 の訳はちょっと微妙だな。
特に
>>87 が引用してる部分は完全に誤訳だよ。
日本の普通の会社で働いてるとFSFへのコントリビューションの署名は難しい そういう奴は最終的にGNUへマージされそうなプロジェクトのコードを汚染するなってことだ
あっ、
>>87 が訂正した訳の方が原文に近いって意味ね。
Afterを「気にもかけず」と訳すのは、ちょっと意訳しすぎな
気はするが。
大手メーカー系はFSFへの寄贈厳しそうだな。 もっとも俺の知ってるトヨタの人は、会社でFSFに金銭的寄付してた覚えがあるが。 Web系の企業だと、あまり障害なさそう。 SIerはその中間って感じ。 うちは中小SIerだが問題なく寄贈できる。 くだんの人はメーカー系に勤めてるの?
あと大手メーカー系でも、オープンソース系部門にいれば、 問題なくできるとこもある筈。実際、富士通とか、glibcへの パッチ出してマージされてるよな。
>>92 金銭的寄付とコードの寄贈はまったく関連が無いぞw
IT関連以外の会社だとほぼダメかも
>>94 まあね。
大手企業の場合、自分とこではライセンス的に直接コードの
寄贈は難しいけど、第三者的な企業に金出して開発してもらって、
その第三者企業の方からコードを寄贈してもらうって手を使うことはある。
そういう意味で、金銭の提供がコードの寄贈に結びつくことはあるが、
まあさっきのトヨタの例はそれとも違うな。
IT全然関係ない企業で、家で書いたコードなら、企業活動と 全然関係ないのは自明なので、本来なら上司のサイン自体が不要な気がする。 まあ、それじゃ済まないお堅い組織が存在することも知ってるが、 別に日本の企業が全部そういうお堅い組織だってわけでもないので、 安易に日本だと駄目だとか決めつけるのはどうかと思う。 海外でも、自宅で余暇に書いたコードも著作権を会社に寄越せ とかいう企業は存在するし。
雇用主の許可を厳密に求めてるのはFSF側の方だと思った
However, a copy of the person’s employment contract, showing that the employer can’t claim any rights to this work, is often sufficient. ってあるから、雇用契約上、明らかに仕事と関係ないと分かれば、 雇い主のサインは要求しないんじゃねえ? まあ日本語の契約書のコピー送られても読めんとか、日本の雇用契約 内容って曖昧で結局判断できないから雇用主のサイン寄越せってことにはなりそうだが。 中小企業なら、上司との関係がうまくいってれば、サイン貰うのも 難しくはない気はする。
この方(R)は雇用のことはまるで関係ないと思うが。 Refactoring(汚いから直したよ)とだけ書いて pull-req するその態度を 改めないと会社勤めどころか OSS への貢献だって永遠にできないと思う。
pullreqにコメントないのも問題だけど、pullreq拒絶してる最大の理由は、 FSFへのコード寄贈の署名をしてない点じゃねえ? 署名してない理由は知らんけど。 少なくとも、日本の企業だから、ってのは理由にならん。 ウチの会社だと駄目でしたって可能性ならあるが、ホントの とこは、どうなんだろね。
寄贈するかしないかは本人の勝手であるわけで Rさんが寄贈したくないって言うならそれは仕方ない helmのメンテナーが寄贈する前提で作業してるからRさんのコードを受け付けられないって言うならそれも仕方ない 険悪な雰囲気なのはコミュニケーション取れてないからだと思うよ
またるびの人もめてんの?
るび汚染が始まってしまう
専用スレ行けやクソども
届いてないなら、メールで問い合わせてもう一回送るとかすればいいのにねえ。
ファイル数個じゃ収まらない場合は素直にemacs諦めてIDE派だなあ キーバインドだけ変える
>>109 eclipse も vs も netbeans も emacs 風キーバインドはあるんだけど
なんか中途半端で結構いじるはめになったり変更を諦めることになったり切ないよね。
eclipse でテンプレートを作成して emacs でガーっと書きあげて eclipse でリファクタリングすると捗る
eclipseのフォーマットがemacsで編集するときに気持ち悪いな
フォーマットってプロジェクトで統一されてるもんじゃないの 統一されていれば eclipse のフォーマット = emacs のフォーマットになるのでは
プロジェクトで指定されたフォーマットルールが微妙に再現出来ずに 色々手を加えなくてはいけなくなったり的な。
>>109 ファイル多い時こそemacsでないと探すのがストレスになる。
eclipse はエディタというより外部ツールの一つとして使いたいんだが 余計なおせっかいが多くて困る 上手く emacs と連携させることができれば便利なんだけどな
使ったこと無いけど eclim-emacs とかどうなのさ
>>117 eclim-emacs 初めて知った
面白そうだから後で遊んでみる
ありがとう
>>115 それは碓かにそうなんだけど、IDEで使ってる機能を全部使えるようにelファイルを探して入れるのが面倒なんだよね
あとGUIでタブ残ってるのがすぐ分かるようにしたい時がある
>>119 全部入れたらパッケージングして上げてくれ。
>>119 100ファイルとか普通に開くから、タブとか無理だ。
emacsに意識しすぎてコーディングが捗らない
IDEで使ってる機能を全部使えるようにするのは無理だしその逆も同様
補完とか関数ジャンプとかそれぐらいしか使ってないならできる
eclipseが必要になるのって、デバッガかリファクタリングツールを使いたくなる時ぐらいだな。メソッド補完はcedetとautocompleteでそこそこいける。
c++書く時にgdb+emacsでデバッグしたりしてるけどわりといける けどvisual studioでデバッグしたい
eclimって元はvimなのかな emacsより進んでてちょっと嫉妬した
130 :
名無しさん@お腹いっぱい。 :2013/12/24(火) 17:03:06.86
もうEmacsも御役御免の時代なのかね……。 寂しいが、これも現実か。
えー。今導入し始めてる時なのに。
世界的にはVimのほうが上だからな
ECLipse + vIM = ECLIM
Vimの人の方が外部ツールに頼る事に抵抗が少ないからだろうね Emacsの人はそんなデカいツールに頼るという発想がない
feature freeze したな
dired-hide-details-mode が気になる
しかしクリスマス休暇とあいまって今はコミット祭になってるな 次は24.4になるだろうけど、0.1のバージョンアップにしては 細かいところでかなり変更点が多いし、いいリリースになりそうだ
eww がちょっと楽しみ
pixelwise 関係の変更から色々おかしいんだよねえ。
<script type="elisp">と書けるようになったら本気出す
#xffff 等の 16bit 数値を base64 でエンコードする簡単なやり方ってあるのでしょうか? (base64-encode-string (char-to-string #xffff)) だと multibyte 文字が入っているって怒られます。 そもそもエンディアンどうなるのって話だし。 自分でバイトオーダを意識して 1byte 単位で切り出して変換するしかないのでしょうか。
encode 意識しないんなら string-as-unibyte 意識したいんなら encode-coding-string で適切な unibyte に。
>>145 ありがとうございます。
string-as-unibyte はなぜか 3byte に変換されてしまいました。unibyte と multibyte にエンコーディングが絡むと
未だに何がなんだかわからなくなります・・・
とりあえず byteorder の戻り値を見て utf-16le と utf-16be を切り替えるあたりが妥当なところなんでしょうかね。
(equal "774=" (base64-encode-string (string-as-unibyte (char-to-string #xbeef))))
;; => nil
(equal "774=" (base64-encode-string (encode-coding-string (char-to-string #xbeef) 'binary)))
;; => nil
(equal "774=" (base64-encode-string (encode-coding-string (char-to-string #xbeef) 'utf-8)))
;; => nil
(equal "774=" (base64-encode-string (encode-coding-string (char-to-string #xbeef) 'utf-16be)))
;; => nil
(equal "774=" (base64-encode-string (encode-coding-string (char-to-string #xbeef) 'utf-16le)))
;; => t
helmの質問です
helm-do-grepでand検索ができないのでどうしようと思ったらこれを見つけました
http://www49.atwiki.jp/ntemacs/pages/33.html ですがこれではhelm-do-grepの処理が大幅に遅くなってしまいました
そこで空白が入力されたときにはそれより前の文字列をhelm-do-grepで処理し
空白以後の文字列はその結果が表示されているバッファをemacs lispで編集することでヒットしたかどうかを表そうと考えました
helm-do-grepの実質的な処理はhelm-grep.elのhelm-do-grep-1がしていることは分かったのですが
入力された文字列の管理をどこでやっているのかと検索結果をどのように編集すればよいのかが分かりません
よろしくおねがいします
>>147 へー beef (牛肉) が unicode で「ななし」になるってなかなか面白くないかい。とっくに既出?
それはさておき最近の Emacs だと内部エンコーディングが utf-8 なんじゃなかったっけ。
だから 3 byte になるのは当然だよね。
環境に依存するので char-to-string 使うのはあんまりよくないかもしれない。
(defun int16-to-string (int16)
(let ((s (make-string 2 0)))
(aset s 0 (logand (lsh int16 0) #xff))
(aset s 1 (logand (lsh int16 -8) #xff))
s))
> 自分でバイトオーダを意識して 1byte 単位で切り出して変換するしかないのでしょうか。
そういうことになるのかな。
>>149 なるほど確かに info を見てみると unicode のスーパーセットってなっていました。
ただのバイト列を作りたい場合、char-to-string して concat ではなく
aset でしこしこ組み立てていけば良さそうですね。
ありがとうございました。
beefって2byteだよね?なんで日本語3文字の「ななし」になるんだ?
>>147 のことなら、
0xbeef をリトルエンディアンで配置すると 0xef 0xbe
これを base64 で符号化すると "774=" になるってことでしょう。
153 :
名無しさん@お腹いっぱい。 :2013/12/25(水) 23:47:19.56
>151 UTF-16 の 2000からffffは、UTF-8では3バイトってことじゃね?
>>153 なんでそれが「ななし」になるんだ・・・
iswitchbの代わりは何になるんだろう
ido だよ
へーそんなのあるんだ
>*** Iswitchb is made obsolete by icomplete-mode. って書いてあるんだから icomplete-mode なんだろうきっと。
icomplete-mode 使ったら describe-function とかのその他の補完系まで iswitchb みたいになって非常に気色悪い
ちなみに ido の読み方は"アイドゥー"だよ
つながってるね!
日本語の移動から来てると思った eieioとかも
えいえいおー
eieio は"イーアイイーアイオー"だよ
イーヤイーヤヨー
GoogleC++スタイルガイドで紹介さているGoogle謹製の google-c-style.el を 使ってみたけど、スタイルガイド通りにならないじゃん…なんだよこれ
C++なのにCというのにも違和感
実はc++-style.elもあって、間違ってC用のやつが公開されてるとか
いや、Google Codeにホスティングされているcpplint内の1ファイルで、 そこには1つしかない スタイルガイド内からリンク張られているのも同じ もちろん直せばいいんだろうけど、だったら今まで通りでいいや…
funcall 使いまくると困る事って何かありますか?
172 :
名無しさん@お腹いっぱい。 :2013/12/30(月) 06:27:15.77
calc-mode について教えて下さい。 16進数とかのモードにすると、16#A98AC7 って表示になりますが、 この時「16#」部分だけ色を変えたいのですが可能でしょうか?
>>171 特にないかと
>>172 可能だろうけど標準でそういう機能は用意されてないから
自分でコード書かないと無理ですね
>>172 基数に色付けする関数を作って、
calc-radix-formatter に設定。
calc-radix-formatter だと最初のスタックだけ色が付きませんでしたが、 calc-radix と calc-push-list と calc-binary-op のアドバイスで 上手くいきました。 ありがとうございました。よいお年をお迎えください。
emacs を start-process してマルチスレッド紛いをやろうと思ったんだけど emacs -Q -batch で起動するのにかかる時間だの値の共有だの考えると あんまり美味しいとこないよね
>>176 > マルチスレッド紛いをやろうと思ったんだけど
そういうときは emacs に make-network-process で server/client 作っていろいろやるとよさげ。
kiwanami 氏がそんなことやってたような。
なるほど立ちあげっぱなしにすればいいのか。 ローカルでパイプでつなぐってのはあんまりよろしくないのかな
今回はrmsも強く反対しているわけではなさそう
世界的にもgit一人勝ちみたいだな
Windows の Cygwin では git は死んでるんだが
日本語名にしなければ大丈夫? > Windows の Cygwin では git
github から clone するぐらいの使い方しかしてなかったけど やっぱ日本語でコミットログとか書こうとすると死にかけるんかね、cygwin の git は。
バージョンが古い(1.7.9)っていう話ではなくて? cygportsに1.8.3.4がある 日本語ファイル名もコミットログも問題なし
cygwinのgit-1.7.9で使ってるがとくに問題無く使えてるぞ? コミットメッセージの日本語とかも問題無い 俺の周辺ではファイル名に日本語は使わないからその辺かな?
俺はファイル名に日本語使ってるけど普通に使えてるなぁ そう見えるだけなのかな?
font-lockでprependとappendの両方を指定した場合 どちらの方が優先的に表示されるのですか?
RMS が折れた
190 :
名無しさん@お腹いっぱい。 :2014/01/04(土) 18:27:16.51
RMS って意外に OL っぽいとこあるよな。。。
べ、別にずっとbzrのままがいいなんて言ってないんだからね!!
英語の読めない哀れな僕に日本語で解説してください
esr : そろそろbzrはあきらめてgitにしねーと、若モンはやる気無くすだろ。 RMS : べ、別にbzrにこだわる必要ないんだけどね。
移行に本気になったら gnu/git と呼びはじめて linus 苦笑か
なんでGNUつけろって言ってたのか、理解してないヤツキター
使っている英字フォントと日本語フォントを1:2の幅にしたいのですが日本語フォントの幅が 微妙に狭くて1:2になりません face-font-rescale-alist を使って日本語フォントを 1.1 倍にすると幅は一致するのですが 高さも変わってしまい英字のみだった行に日本語を加えると数ピクセル動いて気持ちが悪い状態です 文字の大きさも感覚的に日本語のほうが大きくなってしまうので 文字間を少し広くすることでピッチを合わせたいと思っているのですがフォントをいじることなく 変更することは可能でしょうか Ubuntu 13.10 の Emacs 24.3 を使っています
>>198 自分は色々した結果、日本語と英字を同じフォントにすることにした。
>>198 emacs だけだと結局無理だったはず。
自分も数ピクセル高さが合わないのを我慢して使ってる。
ありがとう やっぱりできないか
以下の行にカーソルが乗っている場合、 * foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo. \M-q で * foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo. みたいに整形されるけど、 * foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo. のように "* " の長さも次行のインデントに含めて欲しい場合、どう設定すれば良いですか? adaptive-fill-regexp, adaptive-fill-first-line-regexp 等試しましたが、上手くいきません。
>>202 text-modeだと後者のように整形されるよ。
24.3
後者?
>>203 確かに text-mode デフォルトだと
* foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo.
(\M-q) →
* foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
foo foo foo foo.
が達成できますが、それだと全角スペースやコメント等に対応しておらず、例えば
* foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo.
は \M-q で下記のように整形されるわけです。
* foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
foo foo foo foo.
これを訂正しようと、" " のケースを adaptive-fill-regexp に追加すると、
* foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
foo foo foo foo.
までにしかならず、 "* " のインデント分は考慮されなくなるというイタチごっこで。。。
206 :
205 :2014/01/06(月) 00:31:27.89
あっ、すみません、自己解決しました。 adaptive-fill-regexp のデフォルト値を参照して変更加えてたら、 やりたい事全部できちゃいました。
>>198 フォントまわりは悩ましいよね。
俺も
>>199 さんと同じで日本語と英字で同じフォントにしてる。
それでもフォントの大きさによってずれることがあるので、
うまく合う大きさを指定してる感じ。
ttf 編集出来るソフトで俺俺フォント作っちゃったほうが色々楽になりそうだ
>>209 結局 face-font-rescale-alist って高さも幅もリスケールしちゃうから
どう頑張ってもずれるフォントはずれるんだよね。
強制的に高さと幅指定してそれに満たない部分は空白で埋めるとかできればなあ。
話の流れぶった切るけどと取り敢えず貼っとく Emacsの標準機能だとminibufferにカーソル位置の単語を初期入力に してないものがあったりしてイラついたんで汎用的なのを作った (defun minibuffer-insert-word-at-point () "Get a word at point in original buffer and insert it to minibuffer." (interactive) (when (window-minibuffer-p) (let ((word-at-point (with-current-buffer (window-buffer (minibuffer-selected-window)) (thing-at-point 'word)))) (when word-at-point (insert word-at-point))))) (define-key minibuffer-local-map [(control ?.)] 'minibuffer-insert-word-at-point) これでminibufferでC-.でカーソル位置の単語をコピってくる ちなみにminibuffer.elのケツに似た様なのがあったんでそれをパクった
自分自身の関数名を取得する方法ってありますかね? (defmacro my-debug (msg) `(message "%s - %s:%s" (current-time-string) 関数名 msg)) みたいなことができたらデバッグメッセージ埋め込んだりするのが楽だと思ったのですが、 それらしいものがみつかりませんでした。
format での # 指定時の仕様が気持ち悪い (format "%#6x" 15) とかやると " 0xf" になるのはいいんだけど (format "%#06x" 15) にしたときに "0000xf" はおかしいよ・・0x の後に0足してくれよ C の printf だと"%#06x" で "0x000f" になってくれる
うーんこの
>>212 backtrace-frame を使えばできるかもしれない。
常に関数の先頭で使うという前提なら、関数名のところで、
(if (car (backtrace-frame 1))
(cadr (backtrace-frame 1))
(cadr (backtrace-frame 4)))
かも。
>>213 バグでしょう。
(format "%#.04x" 15)
で回避。
>>215 ありがとうございます。backtrace は自分で呼び出せるんですねー。
呼び出し元でどれだけ遡るかを決めなくてはいけないのは致し方ないですね。
元々sjis(?)でエンコードされたファイルがUTF-8で表示されるようになって しまって、それをセーブしたら、ファイルの文字が以下のように壊れてしまいました。 \343\202\253\343\203\274\343\202\275 ... これを元の文字に直す方法はありませんか? 再現できればsjisでもutf-8でも問題ありません。
C-x C-m c utf-8 C-x C-v カーソ (?)
eval-when-compile と eval-and-compile の使い分けは以下の認識であってますでしょうか? 前提) コンパイル時に素の require は実行されない。 ・eval-when-compile 通常ロード時は他とかわらず普通に eval される。 バイトコンパイル時は eval した結果に置き換わり元の式の形では残らない。 →事前に複雑な定数式の計算をさせたり、 コンパイル時に置き換えてしまって残したくない内部的なマクロ定義をしたり、 コンパイル時に必要な定数値や関数定義をロードするのに使う。 ・eval-and-compile 通常ロード時は他とかわらず普通に eval される。 バイトコンパイル時に eval されるが、コンパイル結果は元の式のまま残る。 →コンパイル時/実行時共に必要な定数値や関数定義をロードするのに使う。
eval-and-compile は使いどころが難しいな マクロの式組み立てに使う関数を require するのぐらいしか使ったこと無い
SKK は今どこにあるんですか?
openlabですよ。
あけおめー
腹が…
RMSは腹の中にGNUを貯めてるから
>>175 俺も calc-mode 改造したぜ!
↓この4行をそのままコピーしてペーストしても
0x1869F円
298,000円
100円
¥10,000
↓スタックにはこう入って超便利!
99999
298000
100
10000
なんか mhc を思い出したわ いまだと twittering-mode とか eww → org へインポートみたいな作りになるんだろうかね
calc-language-input-filter を定義すりゃいいのかね
calc 実際便利だよな
定数について質問です。 C の #define のように、コンパイル時に完全に置き換わってシンボル名を残さない定数定義は可能でしょうか? defconst の場合、コンパイルしても置き換えは起こりませんでした。 defmacro は eval-when-compile と組み合わせればシンボル名を残さずに定義できますが、 関数呼び出しの形で書かなくていけないのがいまいちな感じです。
(eval-and-compile (defconst hogehoge "HOGE!")) こうじゃなかったっけ?
>>235 elc を見てみましたがやっぱり置き換えは発生しておりませんでした。
(eval-and-compile (defconst test-hogehoge "HOGE"))
(defun test-func () test-hogehoge)
=>
(defconst test-hogehoge "HOGE")
(defalias 'test-func #[nil "^H\207" [test-hogehoge] 1])
>>236 あ、ほんとだ。消えない。すまぬ。
(eval-when-compile (defconst test-hogehoge "HOGE"))
(defun test-func ()
(eval-when-compile test-hogehoge))
eval-when-compile で全部包むと消えるみたいけど、めんどくさいかな。
238 :
名無しさん@お腹いっぱい。 :2014/01/10(金) 16:01:53.67
>>234 cl-symbol-macrolet はどうだろう。clパッケージに依存するけれど。
(require 'cl-macs)
(cl-symbol-macrolet ((hoge "HOGE")
(fuga "FUGA"))
(defun f ()
(list hoge fuga)))
(symbol-function 'f)
;=> (lambda nil (list "HOGE" "FUGA"))
>>237 やっぱりその場で eval させないとだめっぽいですね。
>>238 おおおー
スコープ絞ればかなり期待通りの動作です。
ありがとうございます。
cl 奥が深いなあ
二つのリストを与えてそれをemacs lispで処理したいです このようなものです (mapc (lambda (a b) (print (+ a b))) '(2 3 4) '(3 4 5)) 想定しているのはcommon lispのmapcのようなことなのですが、できないものでしょうか
>>240 cl の mapc がそのまんま common lisp の挙動だね。
(require 'cl-lib)
(cl-mapc (lambda (a b) (print (+ a b))) '(2 3 4) '(3 4 5))
>>241 !ばっちりです!ありがとうございました
auto-save-hook で *scratch* の内容を保存してるのですが 保存時に出るこのエコーを無効にしたいです。 Saving file /usr/home/jk2/.emacs.d/.scratch… Wrote /usr/home/jk2/.emacs.d/.scratch 「Saving file~」は message の defadvice で消せました。 「Wrote~」はどこで無効にすればよいのでしょうか?
write-region の第5引数になんか指定すれば黙るよ。
>>244 ありがとうございます!静かになりました。
signal を投げるとデバッガが起動しますが、 デバッガを終了した後に signal を投げた箇所から再開させるよう デバッガの操作ではなくコード側から指示することは可能でしょうか? (let ((count 100)) (while (> count 0) ;; do something (when something-happened (signal 'some-error nil)) ;; do something ;; <= エラーが起きてもここから再開したい & ignore-errors でシグナルを無視はしたくない & ループも抜けたくない (setq count (1- count))))
>>246 (debug 'some-error)
にする
>>247 ありがとうございます。
(debug 'hoge) でシグナルと同じようにデバッガに入れるんですね。
いま気がついたんですけど ignore-errors でもどちらにせよエラー起きた場所で止まっちゃうんですね。
(ignore-errors
(signal 'error nil)
(message "ppp") ;; <= ここまで到達はしない
)
basic とかにある、on error resume next みたいなのは無理かー
set-process-filter で設定したフィルタ関数内で accept-process-output したりすると、(プロセスの出力があれば)フィルタ関数内で フィルタ関数が呼ばれることになるんでしょうか?
>>212 Gaucheのリーダマクロ #?= みたいにprintfデバッグを書くのに debug-print.el というのを作ったのですが,
可能であれば函数名を読み取って表示するので要望に合うかもです.
現状では debug-print を上書きすれば表示は変えられるけど, もうちょい変えやすくしますかね.
(debug-printという関数名は twittering-mode.el も使ってるんで現状では少し注意.)
何か要望出してもらえれば反映するかもです.
丁度いい機会なのでいくつか質問を.
1. 既存の函数の戻り値に一時的に少し手を加えたい場合はどうするのが良いのでしょうか.
adviseされた函数をfletで上書きするとエラーが出るのでadviceを使うのが正しいのでしょうが,
常にそのadviceを有効にしたいわけではないのです. 大域変数を使ってadvice内部で
その変数を見て動作を切り替えるというのが標準的なんですかね?
2. そのやり方で何か不都合が出るかどうかが気になります.
因みに上のやり方がパッと思いつかなかったので現状では ad-enable-advice と ad-disable-advice
でadviceの有効/無効を切り替えています. こちらは既にバグがあることがわかっています.
手元のもろもろのパッケージでは機能の有効化/無効化時に ad-enable/disable-advice を使ってるみたいです。 enable/disable で問題ない気もするのですがちなみにどんなバグなんでしょう? ad-activate が抜けてるとか?
>>250 > 丁度いい機会なのでいくつか質問を.
>
> 1. 既存の函数の戻り値に一時的に少し手を加えたい場合はどうするのが良いのでしょうか.
advice 使わないなら
(defconst original-FUNC (symbol-function 'FUNC))
(defun temporary-FUNC (&rest args)
(let ((retval (apply 'original-FUNC args))
....))
みたいにして
(fset 'FUNC 'original-FUNC) と (fset 'FUNC 'temporary-FUNC)
を切り換える、とか?
>>252 advice された関数に対してそれをするとアカンのですよ。
(defun dump-me ()
"me me")
(defadvice dump-me (after test-ad activate)
(setq ad-return-value (concat ad-return-value "??")))
(defconst original-dump-me (symbol-function 'dump-me))
(defun temporary-dump-me (&rest args)
(let ((retval (apply original-dump-me args)))
(concat retval "!!"))
)
(fset 'dump-me original-dump-me)
(fset 'dump-me 'temporary-dump-me)
(dump-me) ;; => スタック使い果たす
24.4 では fset 時に advice がついてこなくなるとかなんとか。
どうでもいいけど、函数ってかなり古い表現だよね フォント⇒字母 アルゴリズム⇒算法 プログラム⇒算譜 みたいな
255 :
250 :2014/01/14(火) 23:56:40.51
>>251 ; あーこれdefadviceに対して debug-print-eval-last-sexp するとエラーになりますね.
単純にenable/disableするだけだとアドバイスが複数あったときに元の状態に戻せないのです.
advice.elの実装見れば対処法はわかるのかもしれませんがマニュアルしか読んでないので...
; ad-activate入れないといけないってのはわかりにくいですよね. マニュアルにもhelpにもあんまり書いてないですし.
(defmacro keu:with-advice (on-or-off func class advice &rest body)
"[internal] Evaluate BODY with ADVICE enabled/disabled.
Note that there is a bug that it cannot restore the state of ADVICE.
Any ideas?"
`(progn
,(pcase on-or-off
(`'on `(ad-enable-advice ,func ,class ,advice))
(`'off `(ad-disable-advice ,func ,class ,advice))
(_ (error "the first argument must be the symol 'on or 'off")))
(ad-activate ,func)
(let ((keu:with-advice:return-value ,@body))
,(pcase on-or-off
(`'on `(ad-disable-advice ,func ,class ,advice))
(`'off `(ad-enable-advice ,func ,class ,advice))
(_ (error "the first argument must be the symol 'on or 'off")))
(ad-activate ,func)
keu:with-advice:return-value)))
改行が多すぎるので続く.
(defun foo (x) (cons 'foo x)) (defadvice foo (after advice-a) (setq ad-return-value `(advice-a ,ad-return-value))) (defadvice foo (after advice-b) (setq ad-return-value `(advice-b ,ad-return-value))) (keu:with-advice 'on 'foo 'after 'advice-a (funcall 'foo 100)) ; => (advice-a ; (advice-b ; (foo . 100))) (foo 100) ; => (advice-b ; (foo . 100)) (keu:with-advice 'on 'foo 'after 'advice-b (funcall 'foo 100)) ; => (advice-b ; (foo . 100)) (foo 100) ; => (foo . 100)
257 :
250 :2014/01/15(水) 00:04:52.00
ああ, 複数じゃなくてもいいですよね. (ad-disable-advice 'foo 'after 'advice-a) (ad-activate 'foo) (foo 100) ; => (foo . 100) (keu:with-advice 'on 'foo 'after 'advice-a (funcall 'foo 100)) ; => (advice-a (foo . 100)) (foo 100) ; => (foo . 100) (ad-enable-advice 'foo 'after 'advice-a) (ad-activate 'foo) (foo 100) ; => (advice-a (foo . 100)) (keu:with-advice 'on 'foo 'after 'advice-a (funcall 'foo 100)) ; => (advice-a (foo . 100)) (foo 100) ; => (foo . 100)
>>250 なるほど。ある advice の有効/無効状態を取得出来るオフィシャルな方法はあるのかってことですね。
もともと enable ならなにもしない、って感じで。
Info みた感じだとなさそう。
結局 advice の実装見ることになっちゃうけど、ad-get-advice-info あたりを使うしかないのかしらん。
describe-function なんかでも使ってるから準公式みたいなもんでしょうきっと。
それと skk-isearch.el なんかでも advice 済みかどうかの判断に ad-get-advice-info を使ってるみたいです。
>>258 こういうことか? マクロ書き慣れてないから eval 沢山あってキモい
(defmacro keu:with-advice (on-or-off func class advice &rest body)
"[internal] Evaluate BODY with ADVICE enabled/disabled.
Note that there is a bug that it cannot restore the state of ADVICE.
Any ideas?"
(let ((adviced (caddr (assq (eval advice)
(assq (eval class)
(ad-get-advice-info (eval func)))))))
(if (or (and (eq (eval on-or-off) 'on) adviced)
(and (eq (eval on-or-off) 'off) (not adviced)))
`(progn
,@body)
`(progn
,(pcase on-or-off
(`'on `(ad-enable-advice ,func ,class ,advice))
(`'off `(ad-disable-advice ,func ,class ,advice))
(_ (error "the first argument must be the symol 'on or 'off")))
(ad-activate ,func)
(let ((keu:with-advice:return-value ,@body))
,(pcase on-or-off
(`'on `(ad-disable-advice ,func ,class ,advice))
(`'off `(ad-enable-advice ,func ,class ,advice))
(_ (error "the first argument must be the symol 'on or 'off")))
(ad-activate ,func)
keu:with-advice:return-value)))))
>>259 状態チェック入るなら展開時に評価はまずいんじゃないでしょうか。
pcase のところまで含めて実行時評価になるようにしないといけないかと。
261 :
250 :2014/01/15(水) 02:59:03.92
>>258 はい! そういうことです. ありがとうございます.
>>259 一から書き直してみました.
funcallの後ろを ',(if ...) としないといけないのはわからなくはないけど納得いかない.
(defsubst keu:advice-enabled-p (func class name)
(ad-advice-enabled (ad-find-advice func class name)))
(defmacro keu:with-advice (on-or-off func class name &rest body)
"[internal] Evaluate BODY with NAME enabled/disabled."
(let ((onoff
(pcase on-or-off
(`'on t)
(`'off nil)
(_ (error "the first argument must be the symol 'on or 'off")))))
`(let ((enabled (not (not (keu:advice-enabled-p ,func ,class ,name)))))
(if (eq ,onoff enabled)
(progn ,@body)
(prog2 ; return value is that of BODY
(progn
(funcall ',(if onoff 'ad-enable-advice 'ad-disable-advice) ,func ,class ,name)
(ad-activate ,func))
(progn ,@body)
(progn
(funcall ',(if (not onoff) 'ad-enable-advice 'ad-disable-advice) ,func ,class ,name)
(ad-activate ,func)))))))
>>261 > funcallの後ろを ',(if ...) としないといけないのはわからなくはないけど納得いかない.
funcall 使わなければいいのでは?
ああ、マクロ展開だから素でシンボルが頭にくるようにすりゃいいんかな re-builder みたいに書いてるはしから macroexpand-all した結果を表示し続けるやつが欲しいわ・・・
defsubst ありなら onoff その他を引数にとって enable と disable と activate までやってくれる toggle みたいなの書いちゃえば progn 減ってすごく見やすくなりそうだな
しかし advice は何度説明読んでも preactivate と compile の意味がわからんわ
アドバイスが欲しいってか?
emacs と vim の advent calendar 見比べてると (少なくともあそこら辺界隈での) emacs の息切れ感が伝わってきて切なくなるな
もう成熟してるからあとは腐るだけ
化石化してるから腐らないんじゃない
Mac book 使ってカフェで JavaScript 書いてる層には確実に受け悪そうだよな Emacs は。
アイコンの可愛いAquamacsちゃんもおるんやで
(interactive)と(interactive "p")の違いはどういうものですか?
273 :
名無しさん@お腹いっぱい。 :2014/01/16(木) 19:36:16.72
Mac Book とカフェで JavaScript はダサくて 型落ち ThinkPad とメイドカフェで C が最高にクールというのが Emacser の価値観だからねえ。
emacsってjs2-modeあるしmacとも相性良い気がするんだけど理屈じゃないのかな
>>272 "p"だと、コマンドを実行するときに指定した前置引数の値が関数の引数になる。
>>274 Web 界隈だと vim 使ってる人がクールってイメージなんじゃないだろうか。
自分の狭い観測範囲だとそんな感じを受ける。
俺の .vimrc には set compatible って書いてある。
>>275 なるほどそういうことですか
勉強になりました
打ち合わせの時、メモを Mac Book + iTerm2 + Emacs(黒地フルスクリーン) で書いてたら、隣の女の子にじーーーーっと見られて非常にやりづらかった
なんでなんだろ ・Emacs が珍しかった ・黒背景ワロス ・イケメンだった ・ブサメンすぎた ・Mac Book(笑) ・別にお前を見ていたわけではない
・実はゆたぽんフォントを使っていた
・なにこれMIFES?
・隣の女の子なんていなかった
・女の子じゃなくて髪の長いrmsだった
Emacs絡みの女子ネタとは珍しいなw
Emacs 使ってる女の子とか女子力強すぎんだろ
なんで女子力って「高い」って言うんだ
前スレには高2の女の子来てたぞ
こんだけPCが普及してたら女子小学生Emacs使いがいても驚かない
どういうルートを辿ったら女子小学生が Emacs にリーチするんだろう ぶっちゃけ PC なんかよりスマホで動くかどうかだな
>>290 「強い」って表現した時点で、たおやかな女子の魅力が損なわれるだろ?
その自己矛盾に陥ってしまうことを防ぐのが目的の一つ。
あと、「力が高い」という、ユルいけど嫌味にならない程度の
頭の悪さを匂わすフレーズを敢えて使うことで、
さらに女子としての魅力を演出している。
それはさておき、emacs 使ってたらとりあえずモテるよね。
別のスレで女子中学生のpython使いを見た。
>>290 能力が高いって言うだろ
つうかそれ位すぐ分かれよ
戦闘力も「強い」より「高い」な気がするな
腕力が高い
そんなことよりお前ら最近 elisp かいてんの?
毎日書いてはいるけど十数行で簡潔するような小物ばっかり
ちなみにM-x list-packagesでac-js2を入れると js2-modeとskewer-modeがいっぺんに入る auto-completeは自動で入らないけど入れた方がいいね
>>301 昔からブラウザ <-> Emacs 間で js や html/css 等は操作できてた
FireFox だったら Mozrepl があったし、よく使われてただろ (Chrome のお陰でもう死んでるけど)
ただ、なぜにこの skewer ってものは js2-mode を必須としているんだ?
趣味じゃね? 事実上モダンな js 用のモードは js2 しかない状況だから致し方ない気もするが。
そうすか そのサイトに書いてあったけど、時前でhttpサーバを持ってるのと ブラウザに依存しないのが利点かね js2-modeが必須なのは分からんが、js2-mode自体JavaScript編集には必須だとは思う
js3-modeてのがあるけど何これ
A chimeric fork of js-mode (included with emacs 24) and js2-mode that supports comma-first style and other quirks. って普通に書いてあるじゃん
"chimeric fork" って表現が非常にダサイ。 chimeric って形容詞自体、ここでは意味が通じない又は曖昧すぎて意味を無さない。 個人的に、もうその時点で「絶対使いたくない elisp」の仲間入りだわ。
そりゃご自由にと言うほかないが もし前にchimericがなかったら of js-mode and js2-mode まで読んだところで 2つのモードのforkってどういうことさ?ってちょっと疑問符が浮かんでしまいそうなもんだから役目は果たしてると思うけどな ダサイかどうかは判断つきかねるが
js2-modeの完成度が高いからjs3-modeを使う利点は無いだろう
普通にマージとか移植とかパクリとか言うたればええ
一応 npm スタイル対応を追加ってのがメインの売りなんじゃないのかね。 しかしプロダクト名にバージョンっぽいのがくっついてるのは気持ち悪いな。js2 からして。
ん?SysVディスってる?
SVR4とか気持ち悪い。
普通に気持ち悪いだろ。X11 もキモいよな。
キモすぎて離れたいのに離れられないジレンマ
お前らも年齢というバージョンを背負って生きてるだろ
>>317 バージョンが上がっても機能は衰えるのか。
儂らには経験がある(`・ω・´)
(make-obsolete 'お前ら nil "2000-01-01")
elispでの正規表現の書き方を質問します (split-string "123[test]456" "\\[") ;; => ("123" "test]456") (split-string "123[test]456" "\\]") ;; => ("123[test" "456") (split-string "123[test]456" "[\\[\\]]") ;; ("123[test]456") 最後の例で ("123" "test" "456") を得たいのですが "[\\[\\]]"をどのように修正すればよいですか?
(split-string "123[test]456" "[][]")
(split-string "123[test]456" "\\[\\|\\]")
Lingr の Emacs 部屋が vim 勢に乗っ取られててワロタ
リストに対して操作をするとき、dolist と mapc はどう使い分けたらいいんでっしゃろ。
まだ Lingr 盛り上がってるの?
何故か暗黒美夢王が eshell をプッシュしてる>Lingr
>>326 mapcはemacsがネイティブに用意してる関数
dolistはCommon Lisp互換マクロで本来は(require 'cl)しないと使えない
でも今時は誰かが(require 'cl)してるので何もしなくても使えてしまう
Common Lisp互換マクロを積極的に使うべきかはどうかはいろいろ議論がある/った
emacs24.3で試したら最初からdolist使えた
emacs24.3 の場合、dolist は subr.el で定義されてるから 素の emacs で使えちゃう
Emacs21あたりからdolistはsubr.elにあったはず。 mapcの引数FUNCTIONは、関数呼び出しされるので、それがlambda式であり、 bytecompileして使用する場合、 - 関数呼び出しのコスト(実行時間)が、プリミティブによるdolistループ実行コストよ り大きい - lexical bindingにおいて、lambda式の外部のローカル変数にアクセスできない などの可能性がある。 既存の関数をそのまま呼び出せばいい場合だけmapcを使い、他はdollistを使うことが、 一つの有力な選択肢だと思う。
mapcの存在を忘れてdolistだけ使ってたほうが幸せになれる
dolistはsubrとclの両方で定義されてるのか そいでclがロードされてたらsubr側のは使わないような感じになってるのな
副作用で弄ったリストそのものが戻り値で欲しい場合は mapc を使うことにしてるなあ。 dolist はリストを元に何かしたい場合にしてる。
cl-loop 一択。
loop 覚える気皆無
loopで書くよりletで束縛してdo形で繰り返したほうがすっきりした書き方になるな
cl- 三文字分長くなるだけでだるい。眠い。
>>339 いっしょ。loop だとバイトコンパイラと RMS に怒られる。
現在開いているファイルが含まれるディレクトリ内の指定した拡張子のファイルに対して文字列の置換をしたいです 置換処理はstring-replace関数を使うらしいことは分かったのですがどう書けばよいのでしょうか
string-replaceって何ぞ。 M-x find-grep find . -type f -name "*.java" -exec grep -nH -e '検索文字列' {} + でひっかけてwgrepで置換すれば。
すみませんreplace-stringのタイポです
>>344 の方法でできました
ありがとうございました
346 :
名無しさん@お腹いっぱい。 :2014/01/20(月) 19:29:36.48
Diredを使う方法。 ;; カレントディレクトリをDiredで開く。 C-x C-f RET ;; 正規表現でファイルをマーク。 % m \.拡張子$ RET M-x dired-do-query-replace-regexp 又は Q。 後はミニバッファのプロンプトにしたがって検索正規表現と置換文字列を入力して、 y または n で一つずつ置換。または ! でマーク済みファイル全部を一気に置換。
俺はwdired使うかも
wdired ってファイルの内容じゃなくファイル名用じゃないの?
>>350 やってみたw
どうやってスライムやボールを1dot単位で動かしてるのか分からんが
ゲーム自体はもうちょっとなんとかならなかったのかというレベル
しかし画期的なゲームではある
>>349 久し振りに elisp で笑ったわwww
cl-libを使うのはいいけど、caddrとか入ってないのか。ありえねえ。 (require 'cl) するわ。
cadr は subr に入ってるんだし caddr なんかも入れてやれよとは思う
そんな文字の羅列なんかよりnthの方がましだと思う。 d数えるの大変じゃね?
caadar とかはまあ nth 一つじゃ無理だけど 確かに可読性いいもんじゃないよな、このシリーズは。 subr に入ってるあたりが限度だろう。
first second third...tenthを使ったほうが読みやすい
書きづれーだろうがこのとんちきが。
なんでもかんでもハッシュテーブル一択
ハッシュはもっと使われてもいい気がする
infoによると要素数が10以下の場合はalistが速いと書いてあるけど、 逆にいうと10以上は全部ハッシュテーブルでいいんだよね 別に10以下でも致命的に遅いわけでもないし
nthだと不十分ってのは
>>356 も言ってるが、naiveにコードを書いてみるときに使う。
複雑になればdestructuring-bindとかの方が読みやすい場合も多いけど、データの構造を決め打ちできない場合は使えないし。
pcaseもあるけど普通にcond使った方が読みやすいこともある。
あとnthやfirst、secondとかは普通の人間的には読みやすいかもしれないけどプログラム読むモードでは読みにくく感じる。
再帰するときに (first x) (second x) (cddr x) が並んでるよりも (car x) (cadr x) (cddr x) の方がわかりやすい。
>>362 おお、destructuring-bind とか pcase とか初めて知ったわ
destructuring-bind いいなあ
365 :
名無しさん@お腹いっぱい。 :2014/01/23(木) 12:57:26.80
>>362 ここは君みたいに優秀な人が来るとこじゃないよ。
幼稚園の喧嘩に式守伊之助が仲裁に入るようなもの。
木村庄之助ではないのか
367 :
名無しさん@お腹いっぱい。 :2014/01/23(木) 23:27:47.70
プログラミング等を全くの未経験なのですが、 そういった人でも分かるような 全くの初心者でも分かり易いEmacsの 入門書をご教示お願いいたします。
プログラミング未経験なら先にやるべき事があります それを自分で探して習得することが最初の課題です
>>368 >プログラミング未経験なら先にやるべき事があります
「自分で探せ」じゃなく、せめて良著を教えてやれよ。
自分で探す能力無いから初心者。
自分で探せる能力がつくのはある程度知識を得てからだ。
私はEmacsを使ったこと無いので、どこまで予備知識が必要か分からないから
良著を教えることできないが。
使ったこと無いない奴がなんでこんなとこ見てるんですかね
るびきち先生の本一択だろ
広瀬先生に教えてもらえばいいよ
これからEmacsを学ぶってのは茨の道すぎる
時代が時代だし生半可な覚悟では挫折する
そういう意味では
>>368 の言うことは正しい
その上で「ボロクソ言われようが俺はEmacsを使いたいんで教えてくれ!」
くらいの根性が必要だと思う
非プログラマで Emacs だの VIM だの覚えようってのは正直誰かに騙されてるとしか思えない
感化されやすい年頃なんだよ
最近はワナビ御用達は vim と相場が決まってるんだが コミュニティの活発度でいってもあっちの方が初心者にやさしいと思うぞ
よく見てみると
>>369 は
>>367 と同一だな
句読点の使いかたや言葉遣いが同じだし内容も矛盾してない
On Lisp 読もうぜ
on lispってhtmlやpdfが公開されてるけど 本を買う価値あるかな?
よく見てみると
>>377 は
>>368 と同一だな
句読点の使いかたや言葉遣いが同じだし内容も矛盾してない
383 :
名無しさん@お腹いっぱい。 :2014/01/24(金) 10:10:07.31
初めてemacs使うなら本を読むより まず最初に man man man info man emacs でemacs起動してチュートリアル 後は何とでもなるだろww
384 :
名無しさん@お腹いっぱい。 :2014/01/24(金) 10:24:03.70
「リスト遊び」はelisp の入門には良いが、emacs の入門には「Emacs 実践入門」
emacsの入門とか馬鹿げてる そんなことに時間使うくらいなら秀丸使ってたほうがいい
秀丸はともかくそこら辺はおごちゃんも言ってたな
若いうちは馬鹿げたこともやってみるもんだ。
emacs はともかく emacs lisp は lisp 勉強してると色々不満も出てくるって聞いた
とっかかりとしてはelispでもいいんじゃね。
emacs lispはcommon lispのサブセットっていうイメージ
ansi-term とかのバッファで clone-buffer すると微妙に挙動がおかしくなるのはなんでなんだろう 軽くソース見た感じじゃプロセスのクローンも対応してるはずなんだが emacs -q でやってもしばらく ls だの cd - だのしてるうちにどんどん反応がおかしくなっていく
Kazu さんは Haskell にご執心っぽいし、もう書いてくれないだろうな。 そっち方面に期待か。
emacslispの上で他の言語処理系を作ってemacslispの変わりに使うってどう思う? やってみたいけどemacslisp特有の問題を知らないから腰が上がらない
lispを使ってDSLを作り上げるってことがあるのだから 別段問題ないかと
いいんじゃない? 試しにやってみ。
js2-mode とか自前で javascript の構文解釈とかまじめにやってるらしいし やってやれないことはないのでは。 意味があるないでいけばあんまり無い気もするけど。 dynamic load とか実装されてるあたり、RMS も弱腰になってる気がするし FFI の実装支援でもしたほうが健全な気がするよ。
>>384 それよりは、オライリの入門書の方が
初心者向けに丁寧に解説されていると思う
読者にプログラミング未経験者も念頭に置いているようだし
401 :
名無しさん@お腹いっぱい。 :2014/01/24(金) 22:13:58.24
>>367 です。
>>379 >>384 >>398 ありがとうございます。
「Emacs 実践入門」やO'Reilly 「 入門 GNU Emacs 」は
は知人からにも勧められました。
windowsユーザーなのですが、その知人から
「gnupack」は更新が止まって今後更新の状況が不透明だから
たのものにした方がいいと言われたのですが、
windows用のEmacsは他にもよいのがあるのでしょうか?
gnupack以外にもお奨めのwindows用Emacsがあれば
ご教示お願いいたします。
>>397 >
>dynamic load とか実装されてるあたり、RMS も弱腰になってる気がするし
>FFI の実装支援でもしたほうが健全な気がするよ。
ダイナミックロード実装されたの!?
バージョンいくつから??
>>402 24 あたりじゃないっけ。ダイナミックリンクつってもシェアードライブラリ使うようになっただけで
好きなように dlopen 出来るようになったわけじゃないんだよな。
>>401 NTEmacs のことなら NTEmacs スレで聞いた方がいいと思うよ。
Google IME 使ってるなら GNU が配布してる素の NTEmacs でも問題ないかと。
>>403 >
>>402 >24 あたりじゃないっけ。ダイナミックリンクつってもシェアードライブラリ使うようになっただけで
>好きなように dlopen 出来るようになったわけじゃないんだよな。
あ、そうなのね。
自分で作ったsoを、読めるようになったのかと思って歓喜きてしまった
>>389 末尾再帰の最適化とmacroexpand-1がないのがなぁ.
そういうのもあってemacs lispはlispをちゃんと勉強しようとするのには向いてないと思う.
named letを実装してるのがあったけどいつの間にかなくなってるね. bugfixしたから報告しようかと思ってたのに.
>>406 > named letを実装してるのがあったけどいつの間にかなくなってるね. bugfixしたから報告しようかと思ってたのに.
go to melpa!
Lispは書けなくても、.emacsの設定くらいは書ける。
まあ基本 setq の羅列だしな。
深いことしようと思わなければ誰かが作った設定をそのままコピーしてパラメタだけカスタマイズ でなんとかなるっちゃなるし
おとなしく customize 使えよとも思うんだけどなんかダルいよねあれ。 あれがもっと普通の GUI っぽい(?) UI だったらもっと使われてたのかねえ。 あと折角多国語使えるんだし docstring の多国語化の仕組みでもありゃいいのにね。 取得してる所の関数で gettext もどきのことすればやってやれないことはないんだろうか。
俺はcustomize派 なぜならsetqじゃ設定が反映されないものがあったから それとsetqとrequireが同時に出来るから行数の節約にもなるよ
よくわからないんだけれど setqで反映されなくてcustomizeで反映されるのはなぜなの?
customize というか custom-set-variables の場合だが 対象の変数が defcustom 時に :set で関数を設定してた場合、それも一緒に呼ばれるらしい。 値を変更したあとそれを反映させるのに何かしら後処理が必要なのの場合 setq だけだと足りなかったりする。
416 :
413 :2014/01/25(土) 16:55:34.76
なるほど。そうだったのね。 ありがとう
customizeはもっと評価されてもいい機能 インターフェースはテキスト端末もサポートしないといけないから、 ダサいのもしょうがない
customizeは評価するしインターフェースも好きだから日本語対応しておくれ
customize の日本語対応 ≒ 各々の elisp の docstring の翻訳
420 :
名無しさん@お腹いっぱい。 :2014/01/25(土) 21:59:13.58
>>401 です。
>>403 Googleってのが二の足を踏んでしまうので。
知人もgnupackの更新再開を望んでいるのですけどね。
skk 使いなよ。 さもなくば Windows を窓から放り投げるか自分でコンパイルするか emacs を諦めるかだ。
やってるし。
NTEmacsで可及的速やかにビルドしなきゃいけない不具合とかあったっけ
ワナビがずっと騒いでるだけだよ
NTEmacs スレにいけっつうの
Emacs∈NTEmacs
逆じゃね
[無変換]が NTEmacs → non-convert Emacs → muhenkan って統一されてないのも気になる
NTEmacsの話題はこのスレでも構わない
勝手にきめんなよ
>>430 ソース見た感じそのまんま X と Windows API の違いみたいだけど
どうせ文字列で再定義してるんだし違い出ないように合わせてやれよとは思うな確かに。
昨日からEmacsを使い始めております。 今日、tabbarというのをパッケージ経由でインストールし、 Emacsの[Options]->[Customize Emacs]->[Specific Option...]を選択後、tabbar-modeを入力後、 Tabbar ModeをONにして設定を保存しました。 その後、Emacsを再起動したら、 File error: Cannot open load file, tabbar と表示されエラーでこけました。 init.elには (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(ansi-color-names-vector ["#2d3743" "#ff4242" "#74af68" "#dbdb95" "#34cae2" "#008b8b" "#00ede1" "#e1e1e0"]) '(column-number-mode t) '(custom-enabled-themes (quote (tango-dark))) '(tabbar-mode t nil (tabbar))) という形で保存されております。 何が原因かわかりませんが、tabbarを起動時にONにする場合、Customize Emacs経由で設定をONにせずに、 直接init.elに (when (require 'tabbar nil t) (tabbar-mode)) のようにしないといけないのでしょうか? (ググったら上記の記述をinit.elに書いたらOKでした)
Customize でいうところの Applications>>Package>>Package Enable At Startup を On にしないとあかんのでは。 もしくは .emacs.d/init.el に (package-initialize) を入れておくか。
>>435 一応、Package Enable At StartupはONでinit.elにも(package-initialize)は追加してます。
ただ、その順番?が問題だったりするんでしょうか?
今は、init.elが
(custom-set-variables
(略)
(package-initialize)
という感じになってます。
NTEmacsはEmacsである。 だからこのスレでも構わない。
NTEmacs上からレジストリを弄るにはどの方法が最善なんでしょうか?
色んな意味でNTEmacsスレに行くべきだなこりゃ
そもそもWindowsの話は板違いだろう。
EmacsスレなんだしEmacsに関係することなら問題ない そんな包容力もないのか
基本それでいいけど、 より適切なスレがあるんだからそっち行った方がいいと思うよ。 普段からNTEmacs使ってる人はあっちの方が多いでしょ。
>>434 パッケージ経由でインスコしたものは init.el に
(add-hook 'after-init-hook (lambda () 初期化とか設定など))
って after-init-hook に書かないと駄目だよん
そうするとだ、package 使いつつ customize インターフェースもちゃんと使いたいなら ;; カスタマイズファイル読み込み (add-hook 'after-init-hook (lambda () (setq custom-file (locate-user-emacs-file "custom.el")) (load (file-name-sans-extension custom-file) t t))) みたいなのを init.el に放り込んどけばいいのかな。 package + customize だけで完結出来ないってのはあんまりよろしくない感じではあるね。
package-initialize を init.el の最初の方に放り込むんでもいい custom-set-variables の中じゃなくて外の方ね なんにせよ、メニューから素直に設定してったらエラーになるってのは おかしな仕様な気がするわな
起動時の初期化の順番が
1. init.el
2. package-initialize まわり (package-enable-at-startup が t の場合/デフォルトで t)
3. after-init-hook
になってるわけか。
package-enable-at-startup の説明にちゃんとそのことは書いてあるね。
package-enable-at-startup を nil にして先に自分で init.el で package-initialize するか、
>>447 とか
>>449 の言うように after-init-hook で設定するようにするかなのか。
GUI だけでパッケージ入れて設定する人もいること考えると仕様バグと言えないこともないんじゃ。
load-path と autoload の設定だけ init.el の前にやってくれるような感じだったらよかったのにね。
画像を insert-image 等でインライン表示した際に、css でいう float プロパティ指定時のように テキストの流し込みをするにはどうしたらよいのでしょうか?
できないんじゃないか?
無理ですかorz ありがとうございました
NTEmacs 固有の事情があることが多いからすみわけてんだよ そんなこともお察しできない低能は来んな あと言っとくがここはそもそも質問スレですらないから 質問に答えてくれる人がいるのは全面的にスレ民の厚意でしかないんで 質問しようと思ってる人はマニュアル読んで、ググって、 基本的な仕様や仕組みくらい理解して、自分でできることは全部試して それでもダメだったのでやむなく聞いてみるっていうレベルで来い
いきなり偉そうなのがきたぞwwww
NTEmacsはEmacsである。 だからこのスレでも構わない。 ↑ 真理 どうせ過疎ってんだし問題ねえよ。
どうせNTEmacsスレ行けって言われたのがなぜか悔しくてしょうがない ワナビのガキが暴れてるだけなんだからほっとけよ
vimに比べてずいぶんと閉じた世界だよな~ やっぱあっちのが面白いわ バイバイemasc
このスレでも構わないけど、より適切なスレがあるよ ってことよ。
>>459 バイバイ!にどとこないでね!(^o^)/
スレ移動を嫌がる人ってあちこちで見るよなぁ。 そんなに移動の心理的コスト高いかな。
24.4 で image-next-file が実装されてて emacs でのオナニーライフが捗りそうでやばい ~/.emacs.d/image-dired が間違って github なんかに上がったりしたら人生終わりそう
>>447-451 アドバイスありがとうございます。
一度試してみます。取りあえずinit.elに
(require 'package)
(add-to-list 'package-archives '("melpa" . "
http://melpa.milkbox.net/packages/ "))
(add-to-list 'package-archives '("marmalade" . "
http://marmalade-repo.org/packages/ "))
(package-initialize)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
(略)
(add-hook 'after-init-hook
(lambda ()
(setq custom-file (locate-user-emacs-file "custom.el"))
(load (file-name-sans-extension custom-file) t t)))
の順に書いてみます。
あと、今は色々ググって様々な設定を変えるlispを書いたうえで、 CustomでGUI上から変更された設定内容を確認したうえで、 Custom上で設定可能なものはCustom上で設定し直して、 設定できないものに関して手動で書いて設定するように考えています。 それとも、全て手動で設定をinit.elに書いた方が良いのでしょうか?
なんか、 ;; カスタマイズファイル読み込み (add-hook 'after-init-hook (lambda () (setq custom-file (locate-user-emacs-file "custom.el")) (load (file-name-sans-extension custom-file) t t))) を書いた結果なのか、今までカスタマイズの設定がinit.elに記載されてましたが、 新たに.emacs.dにcustom.elが出来て、そこに記載されるようになりました。
連投ですみません。 全角スペースやタブや改行を表示させようと設定する際に、 Customize EmacsからWhitespace Display Mappingsの設定を変えようとしました。 まずは、デフォルトの状態から半角スペース表示を削除して、 その設定を保存しようとしたところ、 Saving whitespace-display-mappings: This field should contain a single character と表示され保存ができませんでした。 Tab表示の設定の箇所も削除すると保存できました。 しかし、このTab表示に関してはこちらで追加したものではなくデフォルト設定にもかかわらず、 設定がおかしいという事なのでしょうか? やはり、この手の設定変更もCustomize Emacsを使用せずに、別途手動で設定を記載する必要があるということでしょうか? ちなみにEmacsは公式のWindows版バイナリで24.3.1です。
>>467 使ってもないのできちんと調べたわけではないが、削除してはいけないものを
削除したせいで依存関係がおかしくなった、とか?
やりたいことは whitespace-style から spaces を無くせばいいだけなのでは?
あと、autoload で済ませたいようなモジュールを custom の機能を使用して設
定すると、強制的にロードされるので、Emacs の起動が遅くなると思う。
>>466 その設定は、
1. customize で設定された内容は custom.el に書き出す
2. custom.el の読み込み(=customize の内容の読み込み)は init.el と package-initialize の後にする
って意味だと思うよ。
init.el は手書きの設定を書く場所、custom.el は customize が機械的に書き換える場所っていう住み分けだとおもう
スレの私物化はgithubでやれや
>>470 「~表」ってディレクトリに dired で入れないっていう恐ろしい問題があるから
使わないほうがいいよ。24.4 で解決されてる公算が強いからそれまで我慢だ!
>>472 NTEmacsはそれまでお預けってことですね
NTEmacsは板違い
NTEmacsは板違いじゃない
>>474 は「白馬は馬じゃない」と言っているような池沼
どうでもいいNTEmacs固有の問題でない限りは全てここでいい どうでもいいというのは、スタートメニューに登録するにはどうすればいいとかいうレベル
どう考えてもこの板でやる話題じゃない もっと適したスレがあるのにわざわざここでやるのは荒らし以外のなにものでもないわ
いや普通に荒らしてんだろ。反応いいんだもんそりゃ頑張っちゃうよね。
厨房が紛れこんじゃったね
もうかまうな。
Emacs でメーラーってどうなんです? Cygwin+B2 生活から Mac に乗り換えたら、AppleMail が死ぬほど使いづらくて もう Emacs で全部やろうかなと思った次第なんです
>>482 逆にemacsを使う一番の理由がMUA。
custom-theme-directoryとcustom-theme-load-pathの違いって何ですか? init.elに (setq custom-theme-directory "~/.emacs.d/themes/")と (add-to-list 'custom-theme-load-path "~/.emacs.d/themes")の どちらを記載すればいいのでしょうか?もしくは普通はどちらを記載しますか?
485 :
名無しさん@お腹いっぱい。 :2014/01/28(火) 07:41:19.39
>>484 custom-theme-directory は、custom-create-theme で新規作成したり
custom-theme-visit-theme で編集したテーマファイル(<テーマ名>.el)が保存されるディ
レクトリ。(自分で直接.elファイルをコピー等して置いてもいい)。
custom-theme-load-path は load-theme 等がテーマを探すディレクトリのリスト。
普通は設定不要。既定値のままでも、変数 custom-theme-directory のディレクトリを
探す設定になっている。custom-theme-directory 以外のディレクトリにも<テーマ名>.el
ファイルを置いて使いたい場合に、そのディレクトリを add-to-list すればOK。
>>485 ありがとうございます!
今はinit.elに
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
を記載していましたが、それをやめて、
(setq custom-theme-directory "~/.emacs.d/themes/")
を記載すればいいという事ですね。
ちなみに、~/.emacs.d/themes/にサブディレクトリをおいて
.emacs.d
|
+-themes
|
+-hoge
|
+piyo
|
+fuga
のようにする場合はどうしたらいいのでしょうか?
今は、
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/hoge")
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/piyo")
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/fuga")
としています。
おまえもいい加減なんでもかんでも人に聞かないとダメなオレにemacsは無理だって気づけや
describe-variable と describe-function、apropos を最初に教えるべきだったな。
こんなかんじでしょうか? ;; custom-theme-directoryを定義 (setq custom-theme-directory "~/.emacs.d/themes/") ;; テーマディレクトリ内の全サブディレクトリにcustom-theme-load-pathを設定 (require 'cl) (loop for f in (directory-files "~/.emacs.d/themes/" t) when (and (file-directory-p f) (not (member (file-name-nondirectory f) '("." "..")))) do (add-to-list 'custom-theme-load-path f))
キーボードの話には食いつくけどNTEmacsはダメなんです
492 :
名無しさん@お腹いっぱい。 :2014/01/28(火) 14:07:30.67
site-lisp/subdirs.el に2行で書いてあるよ。
Emacs実践入門を見て、load-pathを追加する関数を作成してうまくいったので、 ;; load-pathを追加する関数を定義 (defun add-to-load-path (&rest paths) (let (path) (dolist (path paths paths) (let ((default-directory (expand-file-name (concat user-emacs-directory path)))) (add-to-list 'load-path default-directory) (if (fboundp 'normal-top-level-add-subdirs-to-load-path) (normal-top-level-add-subdirs-to-load-path)))))) ;; 引数のディレクトリとそのサブディレクトリをload-pathに追加 (add-to-load-path "elisp" "conf" "public_repos") ↑これと同じような関数をexec-pathとcustom-theme-load-path用に作成すればOKですか?
>>491 全然OKだってば。どんどんNTEmacsのこと書いていってよ。
このスレはみんなを受け入れる。
最近のRMSのemacs事情知ってる人いる? .emacsとかemacsのバージョンとか
いる。
>>495 linux上の24.4.
今だ rmail を御愛用で、内容を政府に監視されているそうだ。
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>>497 なんか1984の世界に近づいていってるな
あとdot.emacsも気になる
古い情報だと空だと聞いたけど
そういや RMS が電総研にきた折に、別の WS の X サーバに Emacs のフレームを飛ばして scratch バッファで筆談したこと があったなぁ…あれからもう20年も経ったのか…
>>497 適当な事いうな
機械翻訳でもそれっぽい訳になったんでコピペしておく
私の電子メールを読んで任意のNSAとFBIエージェントに:検討してください。
すべての敵に対して米国憲法を守るかどうか
海外や国内、スノーデンの例に従うことを要求します。
ようするに単なる警告だ
rmail使っているのは分かるが、バージョンについてはソースが欲しい
>>404 相当短気でなければ、別に公式でも「ブチ切れる」ことはないと思うが。
面倒くさいつっかかりかたすんなや
>>404 俺も MS-IME は、いらない。
w32_initialize あたりで ImmDisableIME(-1) とか呼べばいいのかな?
no-ime パッチとか需要あったりするんかね・・・
与えられた正規表現からそれにマッチする文字列を1パターン逆に導出するのに何か上手い方法ないかね。 [eE][abc][jmK] => eaj みたいな。ゴリゴリ解析してマッチする最小のパターンを取ってくみたいにするしかないかなあ
507 :
493 :2014/01/28(火) 22:47:01.58
度々すみません。 load-pathを追加する関数(add-to-load-path)はうまくサブディレクトリも含め、 全てload-pathに追加されましたが、 exec-pathやcustom-theme-load-pathも同じように関数add-to-load-pathを少し弄ったうえで、 試してみましたが、サブディレクトリがうまく追加されませんでした。 load-pathとexec-pathやcustom-theme-load-pathは何か挙動が違うのですか? 487さんが言うように、無能な私はEmacsを諦めるべきでしょうか?
一個一個何やってるのか意味を調べていったらいいんじゃないの? M-x describe-function なり C-h f なりして normal-top-level-add-subdirs-to-load-path の意味とか調べたらいいとおもう。 とりあえず load-path 専用の関数をつかってるからだとしか。 それと exec-path はそもそもそんなに再帰的にパス追加する必要あるのかね?
>>504 もしくはImmAssociateContextで無効にするとか。
無効にしたときのImmAssociateContextの返り値でImmAssociateContextを呼び
出すと再度有効にできます。
これを使って (disable-w32-ime) で無効 (enable-w32-ime) で有効にする
パッチを作ったことがあります。
1990年代はじめ頃にウチの会社に来てたときには、.emacsは一行 くらいしかなかったって聞いたな。 当時のemacsのデフォルトは、rmsの趣味そのままだったらしい。 会社の新人寮にしばらく泊まってて、rmsのこととか全然知らない 同期の奴が、洗濯機部屋でrmsに出くわしてビビってた話を後で 聞いたのが思い出。
意外とみんな遭遇してるんだな
2006年ぐらいだったかな。その時に聞いてみたら 「昔は.emacsは空っぽだったが、今はファンクションキーの設定を いくつかしている」といってた。 そして相変わらずRMAIL使ってたよ。
みんな遭遇してるというよりも このスレの濃さの問題じゃw
.emacs空っぽは都市伝説かと思ったが本当だったのかよ… それって単にemacsを使いこなせてないだけなのか、デフォ機能以外に興味がないのか…
515 :
493 :2014/01/29(水) 09:56:00.20
CEDETというのを入れてみようかと思って
http://cedet.sourceforge.net/ に行ったら、Ver1.1とのこと。
ELPA経由で入れれるかな?と思ったらbuilt-inとなっててVer2.0になってるけど、
これってどういうことですか?
Emacsは24.3です。
そのまんまだよ Emacs 本体に取り込まれた
517 :
493 :2014/01/29(水) 13:36:08.51
free-keysなるものを入れてみた。
http://d.hatena.ne.jp/syohex/20131104/1383541335 MELPAからインストールしたのだが、
In free-keys-revert-buffer:
free-keys.el:100:35:Warning: repeated variable _ in lambda-list
とワーニングが出るけど、これって問題ないの?
あと、sr-speedbarもインストールしたら、
sr-speedbar.el:244:1:Warning: cl package required at runtime
In sr-speedbar-close:
sr-speedbar.el:404:18:Warning: reference to free variable
`ecb-activated-window-configuration'
In end of data:
sr-speedbar.el:629:1:Warning: the following functions are not known to be defined: ecb-deactivate,
とワーニングが出るけど、こういうワーニングって無視してもいいの?
そうだよ。
>>517 内容にもよるけど基本的に無視していいと思うよ。
Emacs 本体のバージョンが上がった時に仕様変わってでてるのもあるし。
>>518 多分本家に取り込まれたからそっちで開発するようになったんでしょ。
ソースツリー複数持ってても仕方ないし。
>>514 自分で使う機能はデフォルトで有効に
なるように、
emacsのデフォルト設定を変更しちゃうって意味でしょ。
>>517 > free-keys.el:100:35:Warning: repeated variable _ in lambda-list
(defun free-keys-revert-buffer (_ _)
これはないだろうとは思う。
アンダーバー先頭に付けると引数が未使用でもワーニング防げるらしいけど これはアンダーバーのみの引数が二つ状態か 怒りのpull requestだ
これ作ったの日本人だね。。。 このスレ見てくれてると良いけどね。。。
直接連絡とればいいじゃない。
そんなに気になるなら github なんだし issue に一言かけばいいだけの話じゃん
お、おぅ。
Emacs 上で RSS 読もうと思ったら newsticker 一択な感じですか
gnus とか wanderlust とかでも読めるけど なんていうか無理して emacs で読む必要ないよねってのが最近のトレンドじゃないかしら
コマンドラインで動く物を作ってelispでラッパを作るってどうなの? navi2chに変わる専ブラとかrssリーダとか
普通に悪くない発想だと思うけど。 実際 w3m.el なんかはそんな風にして動いてるよね。 もっともプロセスとデータやりとりするのも TCP で接続した先でやりとりするのも生データの加工処理ぐらいの違いだしねえ。 結局 UI 定義する部分を elisp でガッツリ書かないといけないって意味ではあんまり変わらんような気もする。
533 :
名無しさん@お腹いっぱい。 :2014/01/30(木) 21:17:01.48
外部プロセスはEmacs的にはダサいよ。 グラサンにバンダナ、 上下青ジーンズで右手にバタフライナイフ、 左手にはプリキュアグッズ、 と想像してもらえればいかにダサいか分かるかと。
外部プロセスの方が楽でいいよ。 elisp 遅いし面倒。
外部システムでしか出来ないこと多いしな。
migemo とか使ってない人ですか
538 :
名無しさん@お腹いっぱい。 :2014/01/30(木) 21:30:57.57
外部プロセス呼ぶのはEmacsの思想に反してるよ。
じゃあemacsに同化するということにしよう
俺がRMSだ
とりあえず elfeed 使ってるよ。ほんとに読むだけで手くわえてない状態だけど。 作者のバイトコードの記事が勉強になった。
Emacs上からWebサイトって見れますか(テキストだけじゃなく画像も含めて) xyzzyだとdllを使ってなら見えますが。。。
とりあえず検索すりゃここに書き込む前にすぐわかると思うが・・・ emacs-w3m ってのがあるよ。画像も含めて見ることが出来る。 次の 24.4 では eww っていうのが搭載される。 もっとも昨今の Web の感じからすると素直にブラウザで読んだらいいと思うけどねえ。
そんなことは聞いてない。 お前はさっさと答えだけ書いて歯みがいて寝ろ。
NTEmacsスレ行けばやさしく教えてあげる
>>544 ありがとうございました!
>emacs-w3m ってのがあるよ。画像も含めて見ることが出来る。
てっきりテキスト形式しか見えないと思ってました。。。
>次の 24.4 では eww っていうのが搭載される。
24.4っていつリリースされるんですかね~・・・
俺の勘によると、多分2月いっぱいだな
>>535 その記事で
1. マルチスレッド対応の欠如
2. 共有ライブラリ対応の欠如
3. ファイルIOなどの低レイヤーAPIの欠如
って言ってるけど、JavaScriptがほぼ同じで困る事もあるが別に死んではいない
○○だから△△って決めつけてもいい事はない
哺乳類の細胞は絶対初期化されないとか
>>549 Emacsが死んだって言ってる理由はそれじゃないよ
ちゃんと読もうね
>>549 その先読んでないだろ
なんでそんな風なのに今まで愛されていたのか、そしてそれがどんな変遷を迎えようとして
死に至らんとしてるのかって危惧が書いてあるんだが
うっせーばーか
553 :
名無しさん@お腹いっぱい。 :2014/01/31(金) 11:51:29.92
エマ死書いた奴ww 元からemacsはunixと対極の何でもヤルヤルなmultix的エディタだったぜ。 unix的発想ではパイプつないでたらい回しで答え一発。 Emacs的にはプロセス呼ぼうが中に組み込もうがbuffer内で完結すればOk どうせそのうちFFI組み込んで、多言語で開発したpluginがelispから呼び出せる様になる。 それで死亡って短絡もいいところ。 大発展が待ってるぜww
ちゃんと読んでないだろ
wanderlust の ml かなんかで starttls.c のことで似たような揉め事みたような記憶がうっすらあるな まあなんにせよ CEDET はうんこだと思う
>>555 最近は体感でもvimにユーザ取られてんなーっての感じるようになってきたわ。
コミュニティも元気ないよな。
俺が使って便利ならなんでもいいよ
>>555 vimはずっと安定しててemacsが自滅してるだけだな
キモいおっさんから言わせてもらうが Emacs ユーザーは若くてもキモい。
561 :
名無しさん@お腹いっぱい。 :2014/01/31(金) 14:05:05.84
確かに。 あくまでイメージだけど Emacs はアニオタ、Vim はカリスマ美容師ってイメージがあるよな。。。
562 :
名無しさん@お腹いっぱい。 :2014/01/31(金) 14:06:55.19
まあIT技術者の裾野が広がったて事だろうね。 lispと聞いただけで諦めちゃう層が増えた。 比率では下がっても総数ではあまり変わらない気がするよ。 elispぐらい何て事無いって層常に一定数居る。
563 :
名無しさん@お腹いっぱい。 :2014/01/31(金) 14:18:05.15
リチャストのElispへのこだわりが足を引っぱってるんじゃないかね。 Lispマシンの時代と今ではLispを学ぶことの意義が全然違う。 いまどきの人にとってLispなんか「癖のあるマイナー言語」でしかない。 スマホ(Java,Objective-C,C#)にウェブ(PHP, JS)、 ほとんどの場面でC風言語を使うのに Emacsをカスタマイズするためだけに変なElispを学ばなきゃいけないのは 明らかに無駄なコスト。
上3つは同じ奴か… vimのスクリプトの方がよっぽど糞言語だぞ lispはシンプルだからすぐ使えるようになる(が、奥は深い) カッコのせいで難しく見えるだけだ
565 :
名無しさん@お腹いっぱい。 :2014/01/31(金) 14:42:37.41
要するに man man man info man emacs でさあ使え!でOkな奴が減ったって事だな。
566 :
名無しさん@お腹いっぱい。 :2014/01/31(金) 14:45:03.85
Vim スクリプトはシェルスクリプトみたいなもんじゃん。 Emacs の場合、「LISP は素晴らしい」とかいってその世界観を押しつけてくる。 たとえるならば、Vim は付き合いやすいチャラ男、 Emacs はすぐに結婚を求めてくる真面目男、ってことが真理を突いてるように思う。 だからモテないわけ。
素晴らしいって言っただけで押しつけになるのか。
>>567 Emacs を使ってて Elisp に押し付け感を感じない方が異常だろw
なんでもかんでも Elisp、Elisp 以外での拡張も許してないのに。
高機能なエディタとして使う分にはemacslispにもvimscriptにも手を出さなくていいからどうでもいい どうせ大半の奴等は意味も分からずにコピペしてるだけだろ
Lisp程度使えないと、今時のプログラミング言語を使いこなすのは難しいよ ようやく時代が追いついてきた感じ
今むしろ vim 使ってるワナビ層みたいなのこそが Lisp!! Lisp!! って騒いでるのを知らんのか
むしろ lisp まじめにやってる人こそ elisp ふざけんな!!!!!!!!ってなる。 vim やってる人が lisp 知らないみたいな物言いは vim に対する風評被害。
573 :
名無しさん@お腹いっぱい。 :2014/01/31(金) 17:28:42.40
つーかemacs使える奴はvim使えるが、 逆は必ずしもだよね
それ vim 使える/emacs 使えるの意味によるだろう。 hjkl :wq! が使える程度で vim 使えるとは言えないだろうし C-n/p/f/b で移動出来て C-x C-f / C-x C-c 出来ただけで emacs 使えるとは言いがたい。 i1<Esc>qqyyp<C-a>q9@q<CR> とか意味分かんなかったぞ俺は。
最近は569みたいなのもいるからなあ 昔はemacsをインストールする前にviも使えないと話にならなかったが
もっともそういうバカバカしい作業から開放されたってのは喜ばしいことだと思うよ いちいち入れるたびに Makefile 手直ししたりパッチ当てたりとか要らんノウハウだった
あと M-x list-packages も著しい進歩だよ .elが沢山あるパッケージだと、落としてフォルダ作成して展開してパス通して 依存関係があったら他のもとってきてとか超めんどくさかったけど 今はちょちょっとやるだけだから助かる ただウィルスが仕込まれないかは気になるが…
昔だってどっかからダウンロードしてきた el の内容全部精査してたわけでもないしなあ
580 :
名無しさん@お腹いっぱい。 :2014/01/31(金) 22:02:15.87
1月の値 year:emacs:vim:*emacs* @vim@ 2004 100 51 ************************* @@@@@@@@@@@@ 2005 72 50 ****************** @@@@@@@@@@@@ 2006 51 43 ************ @@@@@@@@@@ 2007 40 41 ********** @@@@@@@@@@ 2008 31 36 ******* @@@@@@@@@ 2009 26 35 ****** @@@@@@@@ 2010 21 34 ***** @@@@@@@@ 2011 17 36 **** @@@@@@@@@ 2012 15 35 *** @@@@@@@@ 2013 14 37 *** @@@@@@@@@ 2014 12 38 *** @@@@@@@@@ vimが下げ止まりして、emacsが下がり続けた理由はなんだろう
どうも自動系は怖くて手が出せん
なんとなくだけど、vi の「書き上げる」より「修正する」に向いてるっていう特性が 昨今の開発スタイルに向いてるってことに気付いた人が増えたんでないかしら IMHO
高機能なIDEを求めるならEmacsよりeclipseとかあるし 軽快で効率よく編集するならゴツいemacsよりvimを選ぶ Emacsは器用貧乏だから使う人が減るのは当然
メールとかニュースが主戦場じゃなくなったからってのもありそうだなー
viやnviならともかく、vimは軽快じゃないだろ。 コードサイズはemacsと似たよーなもんだ。
>>584 に同意で、世界的趨勢は知らんけど、日本語使ってメール書くなら
20世紀にはEmacsが圧倒的に便利だった気がする。
プログラム書くのとモード有り編集って結構相性いいんだよなあ。
Evil でも使っとけ
結城先生もいつの間にか vimmer になっちゃった 以前は init.el の中身とか晒してたのに・・・
Vimスレに誤爆したの誰だよw
TeX書くときauto-fill-modeがないとつらい。 行志向じゃないソースにはvi系は使いにくい
vimネタはスレチなんでvimスレ行けよ あっちでも必死でemacsネタ持ち出して小バカにされてるみたいだがな
テスト書くのだるい テストファーストでもなんでもないけど 「今さっき eval-expression で確認した正しい動作」を ert のテストケースに落としこむ拡張とかないもんかね コード書いてる時ちょこちょこ eval してる暇があればテストに落としこんでおけばよかった・・・
余計なお世話かもしれないけど、テストのやり方が間違ってると思う
いや、TDDとかテストファーストとかそういう話ではなくて 単純にテストの実施方法が間違ってるんじゃないかと思っただけ ecal-expression で確認した動作を ert に落とし込みたいってことは 今は使い捨てコードを書いては消して…ってやってるのかな? それなら効率悪いやり方だなぁ、と思っただけで 勘違いならすまん
そうそう 使い捨てコードを書いては消してを繰り返してる 何か関数かいたら M-: でとりあえず動かしてみて いい感じに動いたらもうちょい作りこむみたいな。 書いてる最中にバッファ移ったりするの面倒だから M-: をすごく多用してる。 環境整えたりしなきゃいけないときは *scratch* あたりに書くから残るんだけど ちょこちょこ書いてる eval-expression の方は履歴にしか残ってない。
599 :
名無しさん@お腹いっぱい。 :2014/02/01(土) 16:32:17.87
>>598 > ちょこちょこ書いてる eval-expression の方は履歴にしか残ってない。
履歴に残ってさえいればミニバッファで検索(M-r)して取り出すとかできるでしょ。
それでは不足?
問題があるとすれば、ミニバッファの入力履歴はEmacsを終了すると消えてしま
うという点だけど、eval-expression の履歴は変数 read-expression-history
にリストとして記録されるから、desktop でこの変数を恒久的に保持するよう
にしておくといい。
(require 'desktop)
(desktop-save-mode 1)
(add-to-list 'desktop-globals-to-save 'read-expression-history)
;; 各履歴変数が保持する要素の最大数(既定値はたったの30なのですぐ消えてしまう)。
(setq history-length 50000)
自分は M-x apropos で "-history$" を検索して見つかった変数を全部、
desktop-globals-to-save にぶち込んでる。
ファイルによって、migemo がちゃんと動いたり、動かなかったりする のですが、どこを疑えばいいでしょうか。 例えば、ChageLog ファイルでは、Migemo が ON で、isearch しても、 ascii 文字しかヒットしません。 一方、cpp ファイルだと、ちゃんと動いてくれます。
>>599 session.el で read-expression-history 記録はしてる。なんでかたまにこの変数だけ全部消えるけど。
でも結局のところ、ある関数に対して何個か eval したケースをもう一回実施したいとき、
いちいちヒストリたどってこれとこれと・・・なんてやってるのはかったるい。
で、さっきやった eval とその結果はまたあとで使いたいだろうなーってときに
簡単にテストケースに落としたいなってわけよ。
まあヒストリ辿ってコピーして deftest するだけだし四の五の言わずに書いてみるか。
できたらくれ
結局、俺達は時代の狭間に取り残されたってことだろ?
起動時にlinum-modeをONにするせっていにしましたが、 空のテキストファイルを開いても行番号が表示されず、文字を打つなり、改行をするなりしないと、表示されません。 他のテキストエディタでは、空のテキストファイルを開いた直後に行番号の1が表示されます。 Emacsでも他のエディタのようにできますか?
どうでもいい質問ばかりでうんざりする
>>604 行番号の神と言われる俺なら、素直に M-! から他のエディタで開く。
cygwin なら cygstart hoge.txt
MacOSX なら open hoge.txt
>>604 行番号会の道重さゆみだけど、とりあえず入れといて
(save-excursion
(let ((c (length (buffer-string))))
(if (= c 0) (while (< (setq c (+ c 1)) 500) (insert "\n")))))
保存する前に before-save-hook で (delete-trailing-whitespace) するとか。
ダメなのは分かってる。
el-getをインストールし、el-getからggtagsをインストールしましたが、 M-x ggtags-modeと打っても認識されませんでした。 別途(require 'ggtags)とした後なら、問題なく認識されました。 質問1 package.elからggtagsをインストールした場合は、特にinit.elに(require 'ggtags)を書かなくても 問題なく利用できますが、el-getからggtagsをインストールした場合は、init.elに書く必要があるのでしょうか? 質問2 package.elとel-get.elの両方を使う場合、仮に両方ともに登録されている elisp(例えばggtags)をインストールした場合、どちらが有効となりますか? (もしくは何かしらエラーとなりますか?) 質問3 elispのインストール関係ですと、 ・package.el ・el-get.el ・auto-install.el などありますが、みなさんどのように運用されておりますか?
答え1 両方やってどう違うのか見れば自分で答えを出せる 答え2 試してみれば分かるよな 答え3 三つとも自分で使ってみて自分が一番いいと思うものを使えばよい
>>608 まずそれぞれのパッケージマネージャの説明を読めばわかると思う。
その手のを使うときは何をされるのかわかってないと。
よくわかんないなら package + 手動インストールぐらいにしといたらどうかしら
init.el その他の設定ファイル合計行が 2,000行を超えている奴は無能
そんなふうに考えてた時期が俺にもありました。
613 :
名無しさん@お腹いっぱい。 :2014/02/02(日) 16:01:53.64
>>608 もうお前はEmacs使うの辞めた方が良いと思う。向いていない。
あと、残念だがその手の質問に真剣に答えてくれる奴なんてここにはいないよ。
615 :
名無しさん@お腹いっぱい。 :2014/02/02(日) 16:31:49.98
その通りだ。 elispのソースは直ぐ読めるし、その気になれば本体のソースも公開だから分からなきゃ調べだ。 manもinfoもロクに読まずに質問じゃemacs使う資質に欠けてると思う。 おとなしくvim使えwww
>>594 で言ってたやつを実装してみた
http://paste.lisp.org/display/141112 M-x scratch-test-add で eval-expression の履歴を選んでテストを登録、
M-x scratch-test-run で登録してあるテストを全て実行。
登録したテストは *Scratch test of バッファ名* って名前のバッファに羅列されているから
適当に編集してテストのたたき台にするなり使い捨てるなり。
ユーザも減ってるし、あるのかどうかわからないユーザコミュニティ的にも新規呼びこむ気力感じないし、 自力でどうにかする元気ない/エディタ如きでいちいち調べてらんないな人は 真面目な話 vim の方にいったほうがいいかもしれない。 あっちは今なら人多いからモヒカンじゃない人も多いだろうし。
>>616 テストの名前が同じなんだけど仕様なの?
連番ふろうとして失敗してるように見える
24.4ではようやくstring-joinが搭載されるんだな・・・
>>604 linum-update-window 関数のwhileループを実行するかどうかの判定に (not (eobp)) ってのがある。
バッファが空の場合これが常に偽になるので、行番号表示処理が一度も行われないみたい。
同関数内の
(while (and (not (eobp)) (<= (point) limit))
を
(while (prog1 (<= (point) limit) (setq limit (if (eobp) 0 limit)))
に変更したら期待する動作になった。
623 :
名無しさん@お腹いっぱい。 :2014/02/02(日) 20:27:53.00
>>623 24.4 で追加される奴はまさにその s.el を意識したらしい。
s も f も dash も追加しちゃえばいいのにね。
こんな狭い観測範囲で決めつけられてもね Emacs スレ離れの原因ならともかく
所々自演かと思うレスがあるけど気の所為かな
具体的にどのレス?
取りあえず、出直してきます。。。orz 2014年、今年こそはEmacsを使ってみようと思ったんですが。。。orz
>>629 真面目な話、そんな気負って覚えるもんでもないし。
職場なり学校なりで教えてくれる人でも居ないなら Emacs も vim もわざわざやらんでもいいと思うよ。
>>629 まぁ諦めるな
俺は根っからのvi派だったからEmacsに移行するのに5回程挫折してるよ
最大の難関は指だったが
指に染み付いた感覚を補正するのは大変だよ
viを使うのは、emacsを入れるまでの間だけ
取りあえず、 ・Emaca実践入門 ・入門GNU Emacs第3版 ・Emacsテクニックバイブル ・開発ツール徹底攻略 (WEB+DB PRESS plus) ・SoftwareDesign2013年11月号 ・るびきちさんのメルマガ(過去のバックナンバー含む) を購入して読み漁ってみます。 (Emacs Lispテクニックバイブルはそのうち購入します) 色々とわからないことだらけですが。。。頑張ります。。。
このスレにもう数年来に渡って自演グセのある糖質が居ついてるのは テンプレに書いといてもいいくらいの常識
>>633 そんだけ読んであんだけ低次元な質問投げてんならホント無能としか
> ・るびきちさんのメルマガ(過去のバックナンバー含む) このステマが目的か w もう来ないでね臭いから
>>631 どんな動機でEmacsに移行することにしたの?
これからここで下らない質問した奴もそれに解答した奴もクズ認定
>>638 vimスクリプトに嫌気が差してlispを使いたくなったから
それまではvim本体にバグ修正パッチを送るぐらいのめり込んでた
後悔はしていない
Evil使おう
643 :
名無しさん@お腹いっぱい。 :2014/02/03(月) 12:22:42.57
>>642 そんなもんに無駄に投資するより
info読めよ
>>642 だから、そんなのを読む時間があれば、
Emacsを諦めて他に移った方が時間を有効活用できる。
悪いことは言わないから、Emacsを使うのはやめろ。
そして、もうこのスレには来るなよ?
>>644 たしかに私は空気も読まず長文の質問を連投するウザさ100%ピュアな新参ですが
あなたにそこまで言われる筋合はないと思います。死ね。
これだからIDのない板は
>>645 私を騙って不穏当なレスを投稿するのはやめてください!殺すぞ!
通報しました
Emacsにしようと思ったのはxyzzyを使っていたので、 今後MBPを買った時を考えてEmacsにしたのと、 ユーザ数がxyzzyに比べて多く、開発もまだ継続しているということ、 今後、さらに効率よく、メモを取ったり、コーディングをするため・・・ ということで、Emacsを選択しました。 あと.emacs.dをバックアップすれば、比較的環境移行しやすいのもいいですよね (xyzzyと比較して) ちなみに今までの職場(組込み)は99%以上秀丸で、 一部サクラエディタだったりMIFESの人がいました。xyzzyは私一人でした。 VimやEmacsはゼロでIDE使ってる人もゼロでした (ビルドやデバッグに使う事はあっても、コーディングに使う人はいませんでした)
たまに基地外じみて噛み付く奴がいるけど どうせ匿名なんだし気にしないで書き込んでたらいいさ 無視されようと罵倒されようと別にどうにかなるもんでもないし MBP 買うならなおのこと vim でいいんじゃないの?あっちの方が 今裾野広がってるし入りやすくなってると思うんだが 人多い方がぐぐって問題解決もしやすいし
蒸し返すけどRさんのここだけの話またやり始めたのね。
emacsスレで、emacs使いたい人に対し、vim勧めてる人ってなんなの?
Evil使おう
654 :
名無しさん@お腹いっぱい。 :2014/02/03(月) 19:36:52.04
>>608 自分はel-getをほとんど使っていませんが、それで良ければ回答します。
回答1
package.elがでインストールしたパッケージの関数がrequreしなくてくても使える仕組みは、
autoload cookieによるものです。詳しくは以下のGNU Emacs manualをごらんください。
http://www.gnu.org/software/emacs/manual/html_node/elisp/Packaging-Basics.html el-getでインストールしたものについては、autoloadを反映させる仕組みなどがel-getのレシピに必要ではないかと思われます(前述したようにel-getは使っていないので、間違っていたらごめんなさい)。
回答2
エラーとはならないのでご安心ください。
パッケージはload-pathの先頭から順番に探して、先に見つけてものを読み込みます。
M-x describe-variable で load-path の値を確認してみてください。
回答3
私見となります。
package.elはemacsの標準の仕組みですので、これをメインにつかうとよいでしょう。
package.elのアーカイブで現在の主流はMELPAです。しかしMELPAからインストールできないパッケージもありますので、それらはel-getを使ってインストールします。
auto-install.elはel-getより導入が簡単ですが、el-getを使っているなら特に必要はないと思います。
私はpackage.elが好きなので上記のように使っていますが、el-get.elのほうがpackage.elよりできることは多いです。
package.elをつかわずにel-get.elだけですべてを管理する人もいます。
655 :
名無しさん@お腹いっぱい。 :2014/02/03(月) 19:48:36.07
656 :
名無しさん@お腹いっぱい。 :2014/02/03(月) 19:54:43.80
>>654 おまえ自演するならもうちょっと頭使えよ
>>652 死ねとか質問してくんなとか言ってる奴よりよっぽどまともだよな。
俺が Emacs 使い始めた頃はキーバインドを始めあらゆる操作に死ぬほどイライラしてたけど 気づいたらいつの間にか使えるようになってたな どうやって使えるようになったのか自分でもさっぱり分からないから 初心者に説明しようにもどうやって説明してよいものか分からない
体育会系かよ
使っててれば使えるようになるよ
とりあえず以下の5つのコマンドを駆使する describe-bindings describe-mode describe-key describe-function describe-variable あとはlispディレクトリの下を適当に漁ればだいたいなんとかなるな
664 :
名無しさん@お腹いっぱい。 :2014/02/03(月) 21:24:40.85
>>663 describe-function
describe-variable
の二つは最近使ってます。
他のコマンドも使ってみて勉強しようと思います!
apropos 系が最強 apropos-documentation でガンガン色々発掘できるし apropos-value は結果から調べるのにすごく助かる
668 :
名無しさん@お腹いっぱい。 :2014/02/03(月) 21:45:57.17
何が設定されてるかもわからんままそういうの使って そんでもってわけわからん質問がまた投下されるわけか うぜえ
>>668 だから自演はもうちょっと頭使えって言ってるだろ
デフォルトで使えってか多機能なんだから元々ある機能で事足りる
最悪 (load "term/bobcat" nil t) (terminal-init-bobcat) さえ入ってればなんとでもなる。
人の設定をそのまま使うのって何だか気持ち悪い 他のソフトだと気にならないけどEmacsだけは他人の設定をそのまま使う気にならない
なら好きに変えればいい。
emacsを無設定で使うなんて意味がない 設定をするためにemacs使ってるのに
>>667 apropos-documentationは知らんかったから使ってみたんだけど
skk と sdic の一部混ざってると失敗するな
iso-2022-jpだからいかんのかねえ
>>655 github の issue で質問受付な時点でまず初心者お断りな感じが実によいな。
ページも一年ぐらい放置されてるってのも実に今の Emacs っぽくていい。
なんかEmacsが風前の灯みたいに言ってる奴いるけど
http://melpa.milkbox.net/ を見るとMELPAのパッケージは200万ダウンロードいってるぞ
しかも1ヶ月前が100万だった
ちなみにvimは公式に拡張スクリプトのダウンロード数があるけど800万だった
ただどの期間の集計かは分からんがMELPAのダウンロード数が追い付くのは時間の問題
ある程度で頭打ちだろ。ユーザ少ないんだから入れるもんいれたら終わりだわさ。
navi2chとslimeくらいしか入れるものが無い
最近は migemo もいらないんじゃないかって気がしてきた
MELPAに登録されてるパッケージはマメにバージョン更新されてるのが多いから、 頻繁に更新反映してる人がダウンロード数稼いでるんじゃないかな
パッケージや拡張スクリプトのダウンロード数は ユーザー数を計る目安にするには弱い
ユーザー数気にするとか軟弱もいいところだわ 現時点で満足してるからバージョンアップしなくてもOS変わって動かなくなるとかならん限りこまらんし 俺一人しかユーザ居なくてもなにもこまらん
> 俺一人しかユーザ居なくてもなにもこまらん うわぁ…
いつまでもお客様気分でいるんじゃねえ! 自力でハックしろよ! とでも言えばいいかな
たかが道具なのになんでそんなに他人が使ってるかどうかとか気になるんだか
ユーザが多ければ便利な機能を共有できる可能性が高まる 一人で何でもやってやろうって出来ることなんて多寡が知れてるよ
便利な機能とやらも別に無くても生産性が極端にさがるわけでもなし。
>>688 習熟度別ピラミッドの底辺が増大してるだけなら
便利な機能ってのも「補助輪」レベルだろ
>一人で何でもやってやろうって出来ることなんて多寡が知れてるよ
ひとりでやっても、たかがしれてることを
あつめたのものが
オープンソースじゃないのかなあ
みつを
2013年版の advent calendar の内容を見ればがっかり感がよくわかるよ
「これ以上の機能はいらねー」って成長を止めた人とか Emacsをカスタマイズすること自体が目的の暇人は ユーザ数気にしなくていいだろうね ある意味うらやましいわ
>>693 ヒマじゃない貴方はどういう目的でユーザ数気にしてるの?
いやまじで気になる。
Emacsの本を書いて稼ぐ人なんじゃないかな^^
>>694 今貴方が使ってるelispは誰が実装したか理解してる?
これまでに実装されてきたelispが、少人数のユーザ数の手で作られたとでも思ってるの?
それとも、天からでも降ってきたものでも使ってるのかな
ユーザー数が増えれば色々なノウハウがネットとかで手に入りやすくなるから 楽できる事は間違いない
そりゃ過去には使う人沢山いたから沢山コミットされたかもしれないけどさあ
ツール自体の魅力が減って使う人減ったらコミット減るのは当然じゃん?
Emacs を使うのが目的の人は Emacs から離れられないからユーザ数気にしなきゃいけなくて大変なんだな
俺は堂々とタダ乗りさせてもらうわ
あと「成長を止めた人(笑)」
どんだけたかが道具のエディタに依存してんだよ
>>697 はじめから info 読めよ!!みたいなゴミみたいなノウハウばっかだけどな
おい… (1 - x)^7 をどうしても展開したくなったが、まさかCalcで出来るのか?と思ったら 7 x^6 - x^7 - 21 x^5 + 35 x^4 - 35 x^3 + 21 x^2 - 7 x + 1 って展開してくれて腰を抜かした…
calcはもっと評価されていい sesとかcalculatorはなんでcalcをバックエンドとして使わないんだ
英語読めるやつはとっくに日本のコミュニティなんぞ見限って MLでやりとりしたりgoogle+で情報仕入れたりstackoverflowで質問したりredditで管巻いたりしてるよ
何を当たり前のこと言ってんだ 普通はそういう奴らが日本のコミュニティを活性化させてるもんだが そういうのが無いねって話だろ
それがEmacsクオリティ
コミュニティを牽引するような技術のある元気な人がEmacsを見限る ↓ コミュニティが衰退/新規が入らなくなる ↓ ますます技術力のある人がいなくなる ↓ _人人人人人人人人_ > Emacsの終わり <  ̄Y^Y^Y^Y^Y^Y^Y ̄ 結論:技術力のある人の小指が軟弱なのが悪い
Githubなんかの流行でパッケージの更新は活発だし、 本家の活動も一時期に比べるとわりと活性化してるし、 新しいプログラミング言語が出ればそれ用のmodeはすぐ出てくるし、 現状で特に不自由してない 具体的に何が不満なの?
現状で何も困ってないのに
>>555 とか
>>693 みたいなユーザ数が気になって仕方ない奴が常駐してるのが
ここ最近のスレの流れ
ようするにもっと日本語で情報よこせよってことだろ NTEmacs スレあたりにスポーンした新規が暴れてるんじゃねえの
>>708 なんか無駄にスレ進めようとしてる人がいるよね。
711 :
名無しさん@お腹いっぱい。 :2014/02/04(火) 16:18:55.82
calcも良いがemacsの良さは何でも取り込める事 maxima REDUCE sage R octave Macaulay2 Mathematica などなどがbuffer内で動く gnuplotもinline出来るしね。 APLが遊べるのも最早emacsのみか? Gnu APLが新しくなって面白いが特殊記号のキーボードが普通には手に入らないしなぁ。
APLとかもはやどういう人が何のために使ったりメンテしたりしてるのか全然想像がつかん世界だわ
終わってるEmacsのスレがUNIX板の中で一番勢いあるとか、UNIX板も終わってるなw
>>678 とかVimスレにもほぼ同じぐらいの時間に同じもの書き込んでるのか
プログラム板でGit関連荒らしてた奴となんか手口が似てる
>>678 は自演だろ。終わってる終わってないのマッチポンプ延々やってるんだろう。
715 :
名無しさん@お腹いっぱい。 :2014/02/04(火) 17:29:47.46
>>712 APLはまだ生きてますよ^o^
配列処理言語として
MathematicaやS言語、R言語などにも影響を与え、直系の後継としては特殊記号を無くしたJ言語が現在も開発継続してます。
簡便、簡潔に配列、行列が扱えるので統計処理などに適してます。
Gnu APLは頭の体操には面白いですよ。
716 :
名無しさん@お腹いっぱい。 :2014/02/04(火) 17:37:01.45
終わっちゃてる言語と言えば occam 元はトランスピューターてのを沢山使う 並行プログラミングの言語で最近じゃ誰も使って無いみたいですね。 MacやLinuxならちゃんとビルド出来て マルチメディアを利用するライブラリ、サンプル一式あります。 Emacsにはこんなマイナーな言語のmodeもちゃんと有るから好きかも*\(^o^)/*
717 :
名無しさん@お腹いっぱい。 :2014/02/04(火) 17:51:21.29
大昔から使ってると感じるのですが やっと時代がemacsに追い付いて来た感じ 以前はvi軽い、emacs重いで、貧弱なマシンでは起動するのも躊躇しちゃう 今じゃノートでもサクサク動きますよね scheme、clojure、CommonLispなどlisp系も元気でいよいよemacsの時代到来です。 よく比較されるeclipseは20年後に生き残っているでしょうか? 動作の重い軽いは関係ありません。 年々マシンは強力になるからです。 それでもeclipseには未来は無いと思います。 その時もlispは生きているけどjavaは消え去っているからです。
なんでlisp系が元気だとemacs時代が到来するのか eclipseに未来が無いから何 javaが消えてlispが生きているから何なの 意味不明すぎる
719 :
名無しさん@お腹いっぱい。 :2014/02/04(火) 18:19:40.91
まあ 717 のゆいたいことも分かるよな。 ようは Emacs がスマホとかタブレット OS にもなる プラットフォームとなる時代がきた、ということ。
自演ばっかりで嫌になるな もう吹っ切れてるみたいだし
キーボードレス時代のemacs
lispだのプラットフォームだの言うならせめてマルチスレッド対応してくんないとな そんだけの改修ができるリソースがあるのか知らんが
723 :
名無しさん@お腹いっぱい。 :2014/02/04(火) 18:32:31.19
うるせえ!Emacsはマルチスレッドどころかトリプルスレッドなんだよ。 ガキはだまって俺達の爆進を指くわえてみてな。
なんといってもemacsは中毒性が高い
なんだこの勢いは何があった
気持ち悪いのが居座っちゃったなぁ・・・
>>726 そんなどっちともとれるようなレスしてないで
立場を明確にしようじゃないか
Emacs for iOSは欲しいところ
どうやって操作するんだよ
init.elへの手書きによる設定(フォントや色)変更と、 Customize Emacsを使っての設定変更(フォントや色)と Custom Themeを使っての設定変更(フォントや色)において、 使い分けとかしてます? あと何かしらルールというか守った方が良いお約束みたいなものとか。
custom theme は何がどう変わってるのかよく把握しきれないから使うのやめて 全部手書きになってるわ customize での変更はそもそも使ったこと無い
int.el 入ってる に見えた
マルチスレッド化は既存elispパッケージへの影響が大きすぎるんだよなあ レキシカルスコープも同じく影響大きいから、 一気に切り替えとかできなくて今みたいな実装になってるわけだし
emacs使いはマルチスレッドも御しきれないwww
マルチスレッドが単純だと思っている無能さんは 脳内平和そうでいいですね
>>729 Bluetoothキーボードはつく。
が、AppStoreとライセンスが衝突するのも問題ありそう。
Android版Emacsの方が、Jailbreak不要だし、アプリ間で共有できる書き込み可能ディレクトリあるし、まだ使えそう。
ちなみに、どっちも既に存在する。
vimのiOS版はあるみたいだね。使ったことないけど。
vimもライセンスの II) b)項が、AppStoreの規約と衝突してる気はするな。 まあ、みんな気づかない振りしてるのかも。
Android版Emacsがすでにあるのを無視すんなや
Chrome 用 emacsclient の開発も始まったぞ chromeからS式飛ばすとか脳汁出そうだぜ
742 :
名無しさん@お腹いっぱい。 :2014/02/04(火) 21:33:29.89
744 :
名無しさん@お腹いっぱい。 :2014/02/04(火) 22:41:48.97
マルチスレッドは安全な設計が難しいから Emacsがシングルスレッドなのは理にかなってる。 マルチスレッドなんか導入してたら バグ祭りでEmacs Lispの信頼性なんかいまごろ地に落ちてるよ。
emacsでそこまで時間の掛かる処理をすること自体がナンセンス
でもコルーチンくらいは標準で欲しい…
スレッド無くて困ったことないけどなぁ。 非同期が必要になるのって結局遅い処理と付き合うときだけど そういうのって大抵プロセスとかTCP接続先だし、そっちは一応非同期処理もできるし。
マルチスレッドいってる奴はelispでまともにプログラムしてないんだろうな 別プロセスでフィルタを起動したり、ネットワークを使用すればマルチプロセス になって非同期で処理できる 例えばGnusなんかはメール取得中に別の処理ができるがやってはない 単に処理が複雑になるからだと思われる 別に困ってないからそれでいいんじゃないのかね
それやると移植性落ちるんだよな。
スレッドあるにこしたことはない。 なんでもスレッド化を推奨するわけではない。 だがIPC系のアクセスするより、スレッド系のがアクセスコストやすかろうて。 それよりsoのダイナミックロードつかわせてくれや。 そうすればスレッドそっちでつかうわ。
Emacsで排他制御をする設定ってどうすればいいですか? init.elをEmacsとxyzzyの両方で開いた場合、 今、xyzzyはファイル編集中のみ共有ロックをかけています。 そのため、xyzzyでinit.elを編集中は、Emacsでinit.elを編集し保存しようとしても弾かれます。 しかし、逆にEmacsでinit.elを編集中に、xyzzyでinit.elを編集し保存した場合、保存できてしまいます。 その後、Emacs側でinit.elを保存すると(当然ですが)xyzzy側の編集は消えてしまいます。 Emacsでの排他制御の方法をググったんですが、ヒットしませんでした。。。
てめえ勝手な長文やめろよ低能
NTEmacs スレに帰れよめんどくせえな
この程度の長さの文章を読むのに困難を感じる方が...ゲフンゲフン
package.elから
auto-complete-c-headers
color-moccur
の二つをインストールしたら、
End of file during parsing
というエラーとなりました。
ググったら、
https://github.com/m2ym/popwin-el/issues/96 こんなのが見つかり、popwinの記述をinit.elから消したら、
取りあえずエラーは消えました(ワーニングはありましたが)。
package.elの問題なんですかね?
>>753 global-auto-revert-mode を t にしろ
共有ロックは糞
ちなみに global-auto-revert-mode は現状では一定間隔のポーリングだが
24.4からイベント通知を使う実装になるから瞬時に更新される(win,linux両方)
横からスマン。 xyzzy、Emacsの両方での同時に編集中の場合、 xyzzy側で編集した内容を保存した場合、 global-auto-revert-modeをtにしても効果ってあったっけ? ちょっと覚えがないので悪いが。
効果あるよ? Emacs側で更新されてる状況をチェックしてるわけだから。
>>759 ちょっと考えればわかるやろ?
あと、試せ
>>759 正確ではなかった
Emacsで未編集だったら即座に更新で編集中だったらセーブ時にどうするか聞いてくるだった
global-auto-revert-mode を設定しなくてもセーブ時には聞いてくる
>>760 その場合、Emacs側で編集中の内容は消去されるの?
それとも通知されるから、今編集のものを別名保存した後、手動でマージ?
>>763 そうだよ。ロックなしでファイルが開けるってのはそういうことだ。
>>758 >>760 >>762 >>764 回答ありがとうございます。
Emacs側ではxyzzyが編集中だと、Emacs側で編集し保存をするとNGなのに、
その逆(Emacs側で編集中にxyzzy側で編集し保存が可能)はOKなのが、
ちょっと気持ちが悪い感じですね。。。
Emacs側で編集中は他のソフトでの保存が禁止されればいいんですが。。。
(これはxyzzy側とEmacs側どちらの問題かわかりませんが。。。)
Emacs側でファイルを開いたら、他のソフトではReadオンリーにすることって可能ですか?
できません。 そんな編集のしかたするほうが気持ち悪いと思うが・・・
xyzzy って Windows のソフトでしょ? NTEmacs スレで聞いたほうが解決しやすいんでないの? ファイルロックに関しては OS やファイルシステムに依る部分が多いし。
。。。 ・・・ 。。。 ・・・
素直にxyzzy使ってなよめんどくせえ
では、Emacs同士で同じテキストファイルを編集していた場合、 特に排他制御をするのではなく、保存しようとしたら、 他で編集されてると通知されるので、 その時、現在編集中の内容を別途退避させてから、 マージして保存ということですか? Emacsには特に排他制御という考えはないという事ですか?
xyzzyすらも使いこなせないと思う。 っていうか、ここはUNIX板ということを忘れていないか?
>>771 聞く前に Info 読めよホント。三秒でどういう機能持ってるかわかるわ。
それ以前の問題として、同じファイルを同時に編集するとかこのご時世でありえない。
いいからおとなしく xyzzy 使っとけって。
>>771 普通Emacsは1つしか起動しないのでそんな状況にはならないから誰も困らない
複数起動しない為にemacsclientがある
ぷくくく Emacsは排他制御も出来ないのか
質問のふりして叩きたいだけなのね。
やっぱり時代はxyzzyだな
>>775 お前アホか
linuxにはOSが強制的にファイルをロックする機能がないけど困ってない
だからEmacsも特定のOSだけとかそんな事はしない
なんで困ってないかは自分で調べろ
emacsユーザ怒りの即レス
どうやら急所を触られたようだな この慌てようといったらw
明らかにemacs使ってない奴が煽ってるなあ。 vimmerなの?この人?
xyzzyer(?)じゃないの? いちいちxyzzyガーxyzzyガーって言ってるし
>>773 読んだがそんなことは出来ないってことだけわかった
んじゃこの話終わりな。
Emacsいいよね.好きさ. 24.4いつでるのかなー.eww試したい.
vimmerだろ。 このスレをvimで検索すれば分かるけど、vimmer工作員が紛れ込んでる のは明らか。
* Interlocking:: How Emacs protects against simultaneous editing of one file by two users. 読んでねえだろタコスケ
・。.
読んでなくても、しばらくemacs使ってれば自然に気づくけどね。 煽ってた奴、恥ずかしい。
vimに対する風評被害が酷い
>>791 そういう煽りじゃ、infoも読めない恥ずかしさは拭えないぜ。
このスレに来てる工作員は英語読めないことは、よく分かったよ。
反応すんなっていっても自演なんだから仕方ない ここんところずっとこんなんばっか
排他制御ないんですか?って聞いただけでこんなに伸びるわけないんだから なんか知らんが無用な対立煽りたい人がいるんだろうなとは思う
ID欲しいね。
IDあっても何も困らんよなあ。
800 :
799 :2014/02/05(水) 12:05:12.11
英語読めるやつはとっくにIDのないスレなんぞ見限って MLでやりとりしたりgoogle+で情報仕入れたりstackoverflowで質問したりredditで管巻いたりしてるよ
IDあってもあまり変わらないと思うけどな
ちょっと外出していたこの短時間で、ここまでスレが伸びるとは。。。 取りあえず、結論としては、Emacsは排他制御ができないという事ですね。 多人数で同じファイルを弄る場合は注意が必要ですね。 私の周りでは、皆秀丸ユーザなので、注意します。
subversion でもなんでもいいから VCS 導入した方がいいだろそれは。 開発業務なら結構赤信号だぞ
個人的にはBazaar使ってるんですが、プロジェクトではバージョン管理?何それ美味しいの?状態です。 フォルダをコピーして手動でバックアップ取るとかしてる状況です。。。
emacsは単独では開発業務では使えないということですね。。。
>>803 ちょっと違う。
emacsはxyzzyとは違う方法で排他制御してる。
だから、emacsユーザーとxyzzyユーザーが混在してると問題になる。
全員emacsユーザーだったり、全員xyzzyユーザーなら問題ない。
現代的には、TortoizeSVNとかTortoizeGitでリビジョン管理するのがいいんじゃないかな。
うちはそうしてる。
今時バージョン管理ソフトも使ってないのかよ! って思われるかもしれませんが、これが現状です。 エクセルで仕様書や設計書のバージョンを管理し、 ベースラインを引いている状態です。 隣のプロジェクトは指定された日時に一斉に手を止めて、 順番にローカルで修正したソースをサーバにマージしていき、 衝突する場合は、担当者間で相談した後、全部マージ後は、 リーダが全ファイルのdiffを取ってOK/NG判断するという感じです。 組込みの世界で、皆さんよく聞くメーカですが、これが現状です。 (ちなみに私はSIerで派遣として入ってます)
>>807 まあ現実はそんなもんだよな
俺も前居た職場はそんな感じだったし(そんなんでも東証一部上場だった)
頑張って変えようにもどうにもならんかったわ
だからといってその一点だけで辞めっちまえそんな職場!!なんてのも暴論だし。
開発業務なのか。 今でも開発にVCS使ってないところがあるんだな。驚いた。
803にあったが、秀丸ってどんな感じなんだ?>排他制御 xyzzyと同じような感じかな?
>>814 おんなじ感じみたい。Windows のファイル排他制御機構にのっかってるから
設定項目も同じ感じだな。
git 使うなら magit いいですよ. 最近すごく活発に開発しているみたいだし. ほとんど一人ががんばっていて,本業大丈夫なのか心配になる.
組込みって古臭い職場が多いからね~ 前にいたプロジェクトなんて、ルールで標準関数も使えないので、 memsetやmemcpyを自作していたというwww あと変なコーディング規約やコーディングスタイルとかあったり。
>>813 あるぞ。普通に。
下手にでかい所こそVCS使えてなかったりとか普通にある。
それで回っちゃってるからなおのこと移行できない。
他の仕事ならともかく、開発業務なのにVCS使ってないところは、 VCS以外の点でも終わってるのは確実なので、状況を変えられない ようなら、真面目に転職考えた方が、エンジニアとしての将来は 明るいと思う。
まさか排他制御でこんなに盛り上がるとは
emacsなんてオワコン使ってる終わってる連中に言われたくないよねー
>>808 んなわけねーー
あまりにも短絡的な結論過ぎて泣けてくる
ネットってある1点をセンセーショナルにとりあげて大騒ぎしたい奴らばっかだな
>>818 うーん、組み込み系はVCSの導入が遅い印象があったんだが、
それでも俺の知ってる企業(愛知の有名企業何社か)はどこも、
今ではVCS使うようになったけどなあ。
VCSも使ってないようじゃ、長期的にはジリ貧で、競争に
負けると思う。
デバッグもしてない会社があるんだからVCS使ってない会社だって当然あるさ
不毛だが、そういう状況を自動化するなら 1. xyzzy なりなんなりでロック取得 2. 作業ディレクトリにコピー、emacs なり何なりで編集 3. 編集が終わったらリポジトリにコピー 4. xyzzy なりなんなりでロック開放 ようは RCS がやってることそのまんまやるような感じだけど。 そんでもって多分なんだけどその状況で頑張って Emacs を使うのはやめといたほうがいい気がするよ。 Windows 向けに作られたエディタなら割合そういった排他処理が実装されてるんだろうし、そっちを使ったほうが チーム内のでの作業は破綻しないでしょうし。 どんなクソみたいなルールであれ守らん人が出てくると色々悲惨なことになる。
>>827 開放とコピーの順番が逆だな。
理想を言えばロック担当の xyzzy にファイルコピーを担当させればベスト。
まあほんと昔なつかしの RCS だわな。
OutlookのタイトルのMIMEエンコーディングがRFC標準じゃない!!!って頑張ってる奴とかいたよな。
>>826 いやでも排他制御あるのに、ないって誤解するのは良くないだろう。
emacsと、秀丸/xyzzyで排他制御のやり方が違うのは、出自が違うから仕方ない。
昔のUNIXでは、OS自身のファイルロック機能に頼らないってのが主流だったんだよな。
>>823 にもあるけど、emacsの実装の方が便利なこともあるし。
煽り目的で絡んでくる人相手にマジレスしてあげる必要ないと思うの。
編集中だけアクセス許可を自分だけ書き込み可にしちゃえばいいんじゃないの? そういえば 24.4 からは Windows 版も含めて acl 変更対応するみたいだから そういうフック書けるようになるんじゃないかな。
正確にはWindowsが提供しているOSレベルのファイルロックを使ってないって事だな ロックしたまま長時間席を外す奴とかアプリが落ちたりすると面倒な事になるから ロックも善し悪しだな
>>831 そりゃそうだ。
だが、emacsに排他制御ないなんていうのは、煽りというより
デマ拡散なので、そこはきっちり否定しておきたいんだよ。
共有フォルダで同時編集みたいな環境だと 排他ロックだの共有ロックが命綱みたいになってるわけだし そんな結論に至ったとしてもまあ致し方ないだろう
まあ、たまにはこんな話題があってもいいんじゃないのって思うけどな。 ところで、24.4のリリースはまだかね~
なにこの勢い、怖い
ちなみにvim使いと秀丸使いがいて、VCSなしでサーバのファイルを同時に編集した場合、 Emacsと秀丸みたいな問題が起きるのか?
>>807 EmacsといいBazaarといいオワコンなものを使うとは!
今時オワコンなんて死語を得意げに使ってる輩がいるとは
VCS使わずにやりくりするってのは、むしろ上流側だからできるんじゃないの。 下流でそんなやり方したら、リスクが大きい。
組込みの場合、上(カーメーカと仕様整合)から下(コーディング)までやりますよ。
vim 同士はロックファイル作るからわかるけどねえ。
hiwin でも使ってみるかなと思って何気なく検索したら BGEX パッチ版が今でも普通にメンテされててちょっと感動したわ 画像はともかく、公式でもバッファ毎に face の設定変えたり背景色変えられるようにならんかなー
Emacs本体のリポジトリをBazaarからGitに移そうかという話はどうなりましたか
emacs24.3を使っています lexical-letとletの使い方が理解できていないので質問します (lexical-let ((foo '(a))) (add-to-list 'foo 'b) foo) ;; Symbol's value as variable is void: foo (let ((foo '(a))) (add-to-list 'foo 'b) foo) ;; => (b a) add-to-listの説明にはLIST-VARに要求される変数のスコープについて説明されていませんので、 lexical-letの方でも動くと思ったのですが、何がおかしいのでしょうか
851 :
849 :2014/02/05(水) 16:42:41.64
ありがとうございます。そうだったのですか。 lexical-bindingの方を早速使ってみます。
GmailをEmacsから見るGnus Gmailって使ってる方いらっしゃいます? Mewで見るのに挫折した経緯があってブラウザから使っているのですが、 興味があるので使っている方が居たら感想を聞きたいです。
Gnus Gmail は知らんけど普通に Gnus から Gmail 読めてるよ。 もっともブラウザからのほうが使いやすいからよっぽどのことがない限り Emacs からは読んでないけど。
wlでgmail読んでるな。 スマフォの専用アプリで済ます場合が多いが。
wl の方が Gnus より普通のメーラ(?)っぽい感じでわかりやすい気がする。
Gnusはニュースリーダだし。
使い方覚えようって思うんだけど毎回挫折するな Gnus は。 しっかりメンテされてるしよさそうではあるんだけど。
nntpってまだあるんだ
Gmailって普通にIMAPでアクセスできるからなぁ。
860 :
名無しさん@お腹いっぱい。 :2014/02/05(水) 21:07:58.43
861 :
名無しさん@お腹いっぱい。 :2014/02/05(水) 21:35:29.56
よく考えたら、Emacsしか起動しない軽量Linuxディストリ作ればよくね? アプリとか全部Emacs Lispで作ればLispの理想郷できあがり。
Emacsは環境
>>861 誰だったかログインシェルを Emacs にした記事を書いた人がいた記憶があるんだけど
見つからんな。
dankogai だったような気がするんだけど・・・
diffとか必須の外部コマンドは沢山あるからEmacsだけは無理だね ただ、必須の外部コマンド+Emacs+ブラウザ(Firefox)だけで十分だけど
昔は Emacs だけあればあと要らないかなーだったけど 今はブラウザがあればあと要らないかなーな感じになってきたな あんまりプログラム書かなくなったからってのも大きいけど
そういえばブラウザ上でvimは動いてたな(Emscriptenを使ってる) Emacsはダンプの問題があるから難しそうだ ただWebアプリはファイルシステムにアクセスできないから移植されても常用はできないよ
ダンプとか必要か? NTEmacsとかしてないだろ
してる
ダンプの問題つっても別にダンプしないと動かないわけでもないしね。
>>866 よく考えたらサーバー上のファイルは読み書きできるから、クラウドっぽい
サービスにしてブラウザ内でEmacs動かすみたいな事はできそう
別に Emacs に限定せんでもブラウザ上で端末エミュレータが動けばそれでいいような。 そしてブラウザ上で動く端末エミュレータはすでにあるからやろうと思えば Emacs on Chrome とかすでに可能なんだよね。 どっか適当なレンタル鯖でも借りれば。
それだとEmacs自体はサーバーで動いている事になるよね クライアントのブラウザ上で全てやらないとサーバーに結構な負荷が掛かりそうだ
873 :
名無しさん@お腹いっぱい。 :2014/02/05(水) 23:29:34.97
みんなで1つのEmacsをクラウド上で共有して 設定ファイルを共同編集できるようにしたらなんか 大革命が起こりそうだな。 最初は「てめー勝手に変な advice してんじゃねー」 みたいな喧嘩ばっかりなんだけど そうやって叩きあっているうちに 巨大な統一Emacsライブラリーが出来ていく。 そして全世界のEmacserがひとつになる。
エモい
そういうのとは違うけど、ちょっと前に describe-function とかにコメントが追記ができて しかもそれがネット上で共有出来るってパッケージがあったんだよ
排他制御でおもいだしたが、libclangとか使った外部プロセスとemacsで通信しつつソース編集とかやると、 パーサーがパースしたファイルとかメモリマップドファイルでロックされてまうのよね。 winの場合だと、外部プロセスおとすか、そいつに、ロック解除させないとemacsからセーブできなくなる。
877 :
名無しさん@お腹いっぱい。 :2014/02/06(木) 00:22:17.96
878 :
名無しさん@お腹いっぱい。 :2014/02/06(木) 00:28:23.14
>>873 >>668 がそれにあたるのでは。Pull Requestやissueで共同編集してることになるし。
helmのプロンプトで日本語が入力できなくなったんですけど(ddskk) 何か変更があったんですか?
881 :
名無しさん@お腹いっぱい。 :2014/02/06(木) 02:16:52.43
Vim界隈でもめごとがあったみたい
>>873 その革命は40年にもう起きた
その結果ストールマンは物理学者にならず
emacsがいまここにある
ハッカーズ読むといい
ハッカーズすごく面白かったし勉強になったけど そういえば友達に貸したっきり帰ってきてないや
実際に入れてみて確かめてみよう!
確かめてから後で自分で自分にレスをするんだろ
org-modeで指定した番号からリストを作ろうと思い
http://orgmode.org/manual/Plain-lists.html これの
>Ordered list items
>If you want a list to start with a different value (e.g., 20), start the text of the item with [@20]4.
を試してみたのですが全然うまくいきません
1. foo
2. test
[@20] bar
barの終わりにカーソルをおいてM-<RET> (org-insert-heading) を入力したら
1. foo
2. test
[@20] bar
3.
こうなってしまいます
望むのはこっちです
1. foo
2. test
20. bar
21.
よろしくお願いします
889 :
888 :2014/02/06(木) 15:19:24.38
半角空白が見えなくなってわかりづらくなってしまいました。すみません
全角空白に置き換えてもう一度ポストします
org-modeで指定した番号からリストを作ろうと思い
http://orgmode.org/manual/Plain-lists.html これの
>Ordered list items
>If you want a list to start with a different value (e.g., 20), start the text of the item with [@20]4.
を試してみたのですが全然うまくいきません
1. foo
2. test
[@20] bar
barの終わりにカーソルをおいてここでM-<RET> (org-insert-heading) を入力したら
1. foo
2. test
[@20] bar
3.
こうなります
望むのはこういうものです
1. foo
2. test
20. bar
21.
よろしくお願いします
なんかハブサイトって自己満足でしかないような
なんとなく公式がもうメンテしてない雰囲気だったからかねえ
MELPAは自動で追従してるな
melpa でインストールされる migemo は emacs-jp の migemo だよ
あれ?MELPAのほうも去年三月とかに更新されてるから新しくなってるのかと思ったら 1.9をベースに本家から分岐して違う修正が入ってるんだな
なんかややこしいな。 誰が得をしてるんだ、これは。
emacs-jpの方は新しいemacsへの対応パッチとか取り込んでmelpaに反映される 公式の方は開発者本人が好きなように修正 リリースバージョンと開発バージョンみたいなものかね? 適当なタイミングでマージすれば問題無いんじゃね?
>>664 elisp-slime-nav いいわ
これから愛用することになりそうだ
CVSの方、最新かというとそうでもなく ML に流れてる isearch-search-fun-function に対応したとかの パッチが対応されてないな。 メンテナの白井さんの github リポジトリのがそのパッチが取り込まれたバージョンで、emacs-jp の方はそれを手動マージ、 白井さんはなぜか本家 CVS にはそれを投げておらずメンテナの高橋さんは高橋さんで別の修正を本家 CVS に加えてたって感じ。
901 :
名無しさん@お腹いっぱい。 :2014/02/06(木) 19:22:57.31
>>899 でしょ! これのおかげでelispでタグが必要なくなった。
902 :
名無しさん@お腹いっぱい。 :2014/02/06(木) 19:32:59.29
>>882 Vimのもめごとは当事者で解決したみたい。よかったよかった。
どんなもめごとか気になるから教えてくれ
Vimスレにいけやうんこども
気の短いウンコだなw
何時もこれぐらいの勢いで書き込みがあるといいのに
レジスタに位置を保存する機能あるけどこれスタックの方がいいよな 文字を覚えておかないといけないし使い辛い
標準の mark も C-u C-space でスタックを遡ってくれるしそれで十分な感じ。 レジスタはなんか全体的に惜しい感じだよね。使いづらい。
レジスタになんか記録するとウィンドウがポップアップして記録されてるアピールでもしてくれればいいのかな。 レジスタの中身なんてどうせそんなに長く使うわけでもないだろうし終わったら閉じりゃいいしで。
TECOの時代からあった機能らしいな
標準のマークもスタックするよ つってもリージョン選択とか色々別の用途で使うから使いづらいか
レジスタも
>>911 の奴もバッファ内の位置を保存するだけじゃなくて、
バッファ自体も切り替えてくれるのだよ
もう長い事Emacs使ってるがレジスタは全く使わない
vi使ってた時はレジスタにコピー元テキストを設定するのが常だったけど
EmacsはC-y M-y M-yで取り出せるし
>>908 set-mark-command-repeat-pop を t にする必要があるね
ポイント戻すのはこれで十分
set-mark-command-repeat-popがnilでも、コマンド引数つければスタックたどるよね? tにすると、C-u C-SPCの後に続くC-SPCがC-u C-SPCと同じ意味になるっぽい
あーなるほど、C-u C-SPC C-u C-SPC で戻るのか 今まで set-mark-command-repeat-pop を t にしないと戻らないと思ってた なんかデフォの nil でもよさそうだ
cua-selection-mode にしてると set-mark-command-repeat-pop が nil でも C-u C-SPC C-SPC C-SPC... が有効になるみたいだ なんで設定されてないのに普通に戻れるんだろとおもったらそこが違ってた
レジスタ便利そうだなあと思うもののまったく使っていない
コード書く場合だと変数でいいじゃんってなるしな
長く使ってても使わなかったり知らん機能とか結構あるんだよなあ。 若い子に教えられることも多い。
Alt+マウス選択で出てくるセカンダリセレクションもなんかすごく使えそうでいて 使い道が思いつかない
俺が使っていない機能を便利に使っている人もいるんだろうな. excelなんかと同じで,全部の機能を使うことが必要なのではなく,その人にあった機能サブセットを利用してよいツールという感じがする.
もっともただ知らないだけで実は使ってみるとすごい便利なんてこともあるし たまにこういうところに変わった使い方貼られると結構嬉しい。
そのために2ch見てる。
そういう意味で昔は情報が 2ch でまとまってて便利だった。 今は分散しちゃったから面倒ではあるかも。
926 :
名無しさん@お腹いっぱい。 :2014/02/07(金) 20:47:37.20
MELPAとel-getをウォッチしておけば、新しいelispの情報は追えるよ。
試しにMELPAのTwitter垢フォローしてみたら、 けっこうすごい勢いでいろいろ更新されてるのな mewとかがまだちゃんとメンテされてるのにも驚いた
928 :
名無しさん@お腹いっぱい。 :2014/02/07(金) 23:27:09.88
> 927 Twitter垢は新規と既存の更新の区別がつかないので、新規elispだけしりたいときはMELPAのgithubリポジトリをウオッチするかRSSを取得するといいよ。
marmalede とはなんだったのか
faceいじりが楽しい、というか実際diffとか見やすくなって幸せ せっかくの雪だし今日は美しいグレー調にしてるかなー
char-width と実際のフォント幅合わせるのなんとか自動化できないもんかな font-get-glyphs でフォントの文字毎の横幅は取れたんだけど
>>931 そこまで調べられたんならできるんじゃないの?
何がだめなんだろう。
char-width は how many ★columns★ it occupies on the screen とあるので char-width がたぶんピクセル単位かなんかであろうフォント幅と合ってしまうと いろいろぶっ壊れてしまうんじゃね?
>>932 何が正しいやり方なのかわからなくなっちゃって。
考えてたのは以下なんだけど・・・
1. set-fontset-font の target と font-spec と append を実行順序順に記録しておく
2. フォントを設定し終わった後、font-spec 毎に target で指定した文字/文字範囲/文字集合範囲内の
文字列を全部適当な変数に書き出し、font-get-glyphs で処理してそれぞれの文字のピクセル幅を取る
3. 2 で取ったピクセル幅を大体の感じで文字幅に変換して 1 の順番を考慮して char-width-table に書き出す
2 でいちいち範囲内の文字列出力とかなんかすごく無駄な感じがして。
もっともフォントの文字幅なんて一回取っちゃえばそれで終わりなんだし幅とったらキャッシュに書き出しでもしておけばいいのかな。
まとめると「誰かこれ書いて」ということですね。 わかります。
そう。 文字集合だの内部コードへのマッピングだのやってることが正しいのかどうかもわからないから 詳しい人がびしっとやってくれたらすごく嬉しい。
クズすぎワロタ
>やってくれたらすごく嬉しい。 「やってください。お願いいたします」だろ
939 :
名無しさん@お腹いっぱい。 :2014/02/08(土) 12:42:51.20
先ず第一にemacsってワープロじゃ無いから。 fontなんて本人が「まあいいっか」と思える程度で十分だよ。 唯一困った例はGNU APLのソフトキーボードで、これはちゃんと特殊記号のフォントとその他も等幅にしないとレイアウトがガタガタになっちゃう フォントの心配はTeXに任せたいな。
自分が日常使いで char-width に困った例何かあるかっつったら
popup-kill-ring(というかpopup.el)のポップアップがガタガタになったぐらいかなあ
つっても
>>939 みたいに APL でも使ってない限りそうそう顕在化する問題でもないわな
むしろchar-widthなんて大雑把な数値を当てにしたUIを作るパッケージ作者の方に問題があるんじゃねえの?
玄人はEmacsではなくフォントの方を調整する。 いやマジでそっちの方が早い。
>>941 indent-tabs-modeがnilでタブのかわりにスペース挿入する場合もchar-widthを見て挿入するスペース計算してるから
見た目と挿入するスペース数の計算が狂ってガタガタになったりする。
でもこれって、フォントに合わせてchar-widthを変えたりした場合、逆に他の環境で
インデントガタガタになっちゃったりとかもあり得るかもしれんね。
つかテキストエディタでプロポーショナルフォント使って四苦八苦してる時点でアホ
フォントまわりは深追いしない方が無難ではあるねえ。 これ本当。
英語しか使わない俺に死角はなかった
英語しか使わないってことは 「俺はあまり Emacs を使ってません」 て言ってるのと同じだぞ
全角と半角の認識がemacsとフォントで違ってるってことだろ fjで全角半角とか書くと怒られたよなそういや
>>949 何をもってそういう判断になったのか教えてくれませんかね
英語で
>全角と半角 ユニコードの文字幅曖昧問題においても突っ込まれるには十分な認識だな
>>951 ここは日本ですが?
2chにいるってことは少なくとも海外のコミュに引きこもってるわけじゃないんだよね
それなのにnavi2ch、w3m、TwitteringMode…とか使ってないってことでしょ?
その他にも Emacs に引きこもっていれば日本語を使う機会なんかいくらでもあるのに
英語しか使ってないってことは Emacs を特定用途でしか使ってないって推測できるでしょ
>>953 うわっ、気持ちわりい
こういう奴が文字幅なんてつまんないことにこだわるのか
navi2chなんてくっさいの俺のemacsには入ってねえよ
>>953 > それなのにnavi2ch、w3m、TwitteringMode…とか使ってないってことでしょ?
使わなきゃいけないんだ…
おれは別にemacsで日本語を使わないわけじゃないが、 2chやwwwは専用クライアント使うし、Twitterはやらないなあ おれはemacsをあまり使ってない人だったのかw
Windows:MSゴシック一択 Linux:Migu 1M一択
>>954 ,995,956
2chにいる→海外のコミュに引きこもってる訳ではない
という流れでコミュニケーション系elispを挙げただけで
使ってないとおかしいとは言ってないぞ?
最後に「…」ってある時点で例を列挙しているって分かるでしょ
俺が言いたいのは最後の1文だよ
> その他にも Emacs に引きこもっていれば日本語を使う機会なんかいくらでもあるのに
> 英語しか使ってないってことは Emacs を特定用途でしか使ってないって推測できるでしょ
かっこつけて和文と英文でフォント変えてたりとかすると フォント幅だの高さだの記号が期待してるフォントで表示されないだの曖昧文字幅だので苦労させられるんだよな
文字幅そろえるのに疲れたんで色々フォントを変えてたら
>>957 に行きついた
それにすれば勝手に揃う
WindowsでMigu 1Mを使わないのはMSゴシックの方がいいってこと?
>>957 MSゴシックでも (char-width ?Ⅺ) が1になるんだよな。
なお (char-width ?Ⅲ) はちゃんと2の模様。
>>958 navi2chやw3mはワードを見ただけで過剰反応する奴が多いので例としては不適切
文字化けしたが
>>962 はローマ数字の11な。
>>958 頭固すぎ
世の中にはいろんな人がいるってことを理解できない奴に
emacsを使いこなせるとは思えないな
>>962 MSゴシックが悪いんじゃなくemacs側の問題じゃないかな
characters.el 見てると曖昧文字については
(japanese-jisx0208 (#x2121 . #x287E))
(cp932-2-byte (#x8140 . #x879F))
これだけしか二倍幅にしてくれない
ローマ数字は10までしか入ってないんじゃないの?
なんでそんなことになってるのかはわからんが
>>966 いろんな人がいるのは理解している
そもそも俺自身 1% も Emacs を使いこなせてるとは思ってないし言ってもいない
でも少なくとも日本でも活動している人が Emacs で英語しか使ってないという事実について
「特定用途でしか Emacs を使ってないんだな」とは思わないわけ?
反論するのはいいんだが勝手に脳内補間しないでくれない?
特定用途で使ってる=「俺はあまり Emacs を使ってません」 なんだ へえー ずいぶんと馬鹿にしてるよな
>>958 自分のレスをグダグダ解説しはじめてる時点で負けてんだよコミュ障
>>968 おまえは都合のいい脳内補間を他人に要求しすぎなんだよ
俺からしてみると、emacsで日本語使ったり、2chしたり、web見たり、twitterしたり~っていうのこそが「特定」用途なんだよな
OSS系ソフト開発に使ってる場合、英語しか使わないって普通だしなー。
まあ俺はメールとメモ取りにも使うから、日本語も使ってるけど。
でも
>>953 にあるソフトは一つも使ってない。
>>961 WindowsでもMigu 1Mを使いたいがなぜか表示がスゲー汚ない
だから無難にMSゴシックにしてる
まぁ英語しか使わないってのも極端な気はするけどな
ちなみに俺も
>>953 にあるソフトは一つも使ってない
>>961 Windows→低DPI、Linux→高DPIで環境も違うからなんとも言えない
Migu 1Mは高DPIだと綺麗に見えるのかもしれない
navi2chだけは使ってる ただしサーバ経由でID買えずに書き込みたい場合だけ
>>974 >>977 ありがとう
同じフォントでも見て分かるほどに差があるんだ
複数環境で使ったことないから知らなかった
参考になります
Stallman はあまり Emacs 使ってない理論。 実際どうなんだろ。
>>962 Migu 1Mでも1になるよ
Migu 1Mで不思議なのは(char-width ?―)は2になるけど表示幅は1になる
(文字化けしたらゴメン)
>>981 あれ…違う文字になった
横棒は U+2014 EM DASH UTF-8: e2 80 94 な文字のつもりだった
>>980 emacsを使ってないと言うかpcでやることがメールとコーディングと雑多な作業くらいだから
当然emacs自体でやることも少なくなるんだろ
>>982 うちもなったわ
つうかハイフンと似てて混ざってたら気がつかないなこれ
>>962 のローマ数字の11はchar-widthは1だけど表示幅はちゃんと2になる
この辺の事情はよーわからん
list-charset-chars で japanese-jisx0208 と cp932-2-byte みてみると たしかにローマ数字11はその中にないわ jisx0213 とか他の文字セットの一部も cjk-char-width-table-list に入れてやれば 問題解決するんじゃなかろうか
988 :
名無しさん@お腹いっぱい。 :2014/02/08(土) 16:04:18.83
大事な事だからもう一度言おう emacsはテキストエディタ ・ワードプロセッサ ・タイプセッター ではありません
M-x snake
ようするに、
>>986 のテーブルの設定を固定じゃなくて
実際のフォントに合わせてやるのはどうしたらいいかっていう話だよね?
>>988 ワードプロセッサと関係なくね?
曖昧文字の幅がおかしいとインデントが正しくならないよねみたいな話だろこれ
他の等幅フォントも色々ためしてみたけど、 いまだ BDF 東雲明朝 9pt がベストだと思っている自分は異端なんだろうか。 UNICODE 対応さえしてくれれば…
解像度高いと 9pt って小さすぎね?
ピクセル幅とるの書いてみたけど MeiryoKe_Console が等幅じゃないことが判明してしまってショック 以下 0 から (max-char) までの文字のピクセル幅の uniq 値をソートして出力するコード (let* ((font-name "MS ゴシック") (font-obj (open-font (find-font (font-spec :name font-name)))) (table (make-char-table nil)) width-list result) (mapc (lambda (c) (let ((pixel-width (ignore-errors (aref (aref (font-get-glyphs font-obj 0 1 (char-to-string c)) 0) 4)))) (when pixel-width ;; (set-char-table-range table c pixel-width) (add-to-list 'width-list pixel-width)))) (number-sequence 0 (max-char))) ;; (optimize-char-table char-width-table) ;; (cons (sort width-list '<) table) (sort width-list '<) )
emacs死にかけたぞおい
>>996 起動時に毎回フォント毎にそんな重いの走らせてられんよ
フォントになあ
フォントだよ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。