Emacs Part 50 [無断転載禁止]©2ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
2016/12/19(月) 06:49:45.33
前スレは落ちていないみたいだけど。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/

前スレ
Emacs Part 49
http://echo.2ch.net/test/read.cgi/unix/1449824135/
824名無しさん@お腹いっぱい。
垢版 |
2017/11/25(土) 12:28:04.15
>>823
ediff って diff 部分は lisp 製じゃなかったような
2017/11/25(土) 14:42:38.39
なんでわざわざdiffをelispで書く必要があるw
2017/11/25(土) 17:13:45.58
elispで書きたきゃ書けばいい
>>815の一行目は既に実用化されてるが
やるのは自由
2017/11/25(土) 17:36:26.45
>>826
実用化って、何を指して言っとるの?
2017/11/25(土) 20:13:02.33
きっと~の事だよ
2017/11/25(土) 22:25:00.41
お手軽にバージョン管理の要件がわからんけど、単純に変更履歴が欲しいならundo-histで足りるんじゃねーの

修正点だけじゃなく日時もとか諸々なら好きに足せばいいんじゃねと思う。

あれもこれもならgitでも使えよって話だし。それならvcが使えるわけで
2017/11/26(日) 03:23:16.35
ediff もあるしshell のdiffもあるじゃない
vc もmagitもあるじゃない
何を望んでいるのかわからない
2017/11/26(日) 11:31:04.76
emacsユーザーは何もわからんからな
832名無しさん@お腹いっぱい。
垢版 |
2017/11/26(日) 21:13:46.58
やっぱ、viの方が生産性は高いよな
833名無しさん@お腹いっぱい。
垢版 |
2017/11/26(日) 21:32:57.43
つねに
(setq version-control t kept-old-versions 0 kept-new-versions 0)
で運用する
2017/12/01(金) 20:22:59.84
emacs 24.5をすでにインストールしているのですが(.init.el含めて
いろいろカスタマイズしているのですが)、25.2をcurl, tar, makeを使って
インストールした場合に上書きされてしまわないようにするにはどうすれば
いいのでしょうか?
2017/12/01(金) 22:09:27.93
>>834
バージョンを分けるならemacsenvかな
http://mocchit.hatenablog.com/entry/2016/09/21/180915
2017/12/01(金) 22:26:09.72
ありがとう
でもやりたいのは、新しくビルドすることです
そのままだと、.emacs.dが上書きされるので古い方を上書きして
新しいバージョンをビルドしてから、古い方から、コピーペースト
しようかな
.init.elは古い方からコピーして同じものにしてなどと思っています。
こういうことをするとどういう不都合が発生するのでしょうか?
2017/12/01(金) 22:38:32.64
単にインストール先変えればいいんじゃ
場所決めうちみたいな設定あったっけ。
838名無しさん@お腹いっぱい。
垢版 |
2017/12/01(金) 22:42:26.62
つーか、古い方をバックアップしてからインストール、コピーすればいいんじゃねーの?
2017/12/01(金) 23:32:37.36
ありがとう
古い方からコピペして新しいほうにいろんなもの移してくると
問題生じますか?
2017/12/01(金) 23:48:37.64
curl -0 https://ftp.gnu.org/pub/gnu/emacs/emacs-25.3.tar.gz

とすると、ターミナルに次々と浮かぶ文字が文字化けするんです。
そして音がします
どうすればいいのでしょう?
2017/12/01(金) 23:54:50.30
文字化けは解決しました。
大文字のOでした。
2017/12/02(土) 00:13:33.80
最後に
sudo make install
とすると
make: Nothing to be done for `install'.
と出ます。どういう問題があるのでしょう?
やったことはcurl -Oでemacs-25.3を保存して
tar で解凍して、
cd emacs -25.3
として、/.configure --without-xとして
make
として
sudo make install
最後のところだけうまくいかないのです。
843名無しさん@お腹いっぱい。
垢版 |
2017/12/02(土) 00:19:16.83
これで終わりにします。
configure: WARNING: AppKit/AppKit.h: present but cannot be compiled
configure: WARNING: AppKit/AppKit.h: check for missing prerequisite headers?
configure: WARNING: AppKit/AppKit.h: see the Autoconf documentation
configure: WARNING: AppKit/AppKit.h: section "Present But Cannot Be Compiled"
configure: WARNING: AppKit/AppKit.h: proceeding with the compiler's result
configure: WARNING: ## ------------------------------------ ##
configure: WARNING: ## Report this to bug-gnu-emacs@gnu.org ##
configure: WARNING: ## ------------------------------------ ##
checking for AppKit/AppKit.h... no
configure: error: The include files (AppKit/AppKit.h etc) that
are required for a Nextstep build are missing or cannot be compiled.
と出ているから、多分さきほどXQuirtzをインストールしたのですが、
それがまずかったのだと思います。
ご迷惑おかけしました
2017/12/02(土) 03:46:53.43
configure のオプションで --with-cocoa とかなんかあるんじゃない
./configure -h でオプションを調べて見れば
2017/12/02(土) 07:50:22.09
>>836
>.emacs.dが上書きされる
sessionのことなら何が問題なの?
init.elは自分で書き換えることをしなかったら上書きされないだろ。

異なるバージョンならインストール先を変更したらいいだけでは?
$ /usr/bin/emacs --version |head -1
GNU Emacs 22.1.1
$ /opt/local/bin/emacs --version | head -1
GNU Emacs 25.3.1
こちらはこの2つを入れているけど、どちらもちゃんと動作するよ。
自分は特にしていないけど、必要があればinit.elはバージョンで分岐すればいいだろ。
2017/12/02(土) 14:51:05.85
>>843
まず本を読もう。emacs実践入門がおすすめだよ。
2017/12/02(土) 23:07:31.89
>>846
新しい版をみながらコマンド打って
エラーがでたんだよ。
どこかにしまった初版をさがさなくちゃ。
赤と白の初版持ってたらインストールの
ところだけおしえてくれない?
2017/12/02(土) 23:08:36.45
二版ではmacでターミナルにだけ入れる(appは作らない)というやりかたが載ってない。
初版は載ってたのになぜああいうふうに落とすかな。
2017/12/02(土) 23:10:32.19
>>845
init.elは.emacs.dの中に入ってるでしょ。
新しい版をいれたらそれ自体が上書きされちゃうんじゃないか
とおもったんだ。
2017/12/02(土) 23:19:27.34
>>848
Emacsのインストールすらできない人がEmacsを使うっていうのは奇異に感じる。
一般的なソフトのインストールと同じだと思うけど。
INSTALLやREADMEにざっと目を通して、何かイレギュラーなことが必要かどうか確認して、
次に ./configure でオプションを確認して、適当なオプションをつけて実行。
依存ライブラリが欠落していたらそれをインストール。
最後に、makeしてmake install、それだけだろ。
./configureのオプションを確認したら、appを作るか作らないか確認できるだろ。
2017/12/02(土) 23:27:27.05
>>849
普通はユーザがinit.elをゼロから書くものと思うけど。
$ tar tzf emacs-25.3.tar.gz |grep init.el
emacs-25.3/lisp/vc/ediff-init.elc
emacs-25.3/lisp/vc/ediff-init.el
emacs-25.3/lisp/emulation/viper-init.el
emacs-25.3/lisp/emulation/viper-init.elc
そんなファイルは入っていないし。
2017/12/02(土) 23:45:15.33
~/.emacs.d がインストール時に書きかわるはずがない。ユーザーホーム配下なんだから。

パッケージは/usrなり/optなりで共有するけど、仮にそのマシンで100ユーザーいたら100人分のホームディレクトリが書き変わってしまうのかって話。

んなわけない。
2017/12/02(土) 23:50:32.39
>>848
>macでターミナルにだけ入れる(appは作らない)というやりかた
emacs-25.3/nextstep/INSTALL に思いっきり書いてあるけど。
第3者が書いたものではなくて、Emacsの付属文書の方を信用しようよ。
2017/12/03(日) 00:08:35.83
$ sw_vers |head -2
ProductName: Mac OS X
ProductVersion: 10.13.1
$ tar xvzf emacs-25.3.tar.gz && cd emacs-25.3
$ ./configure --without-x --prefix=/tmp --disable-ns-self-contained --without-ns --with-jpeg=no --with-gif=no --with-tiff=no
$ gmake && make install
$ /tmp/bin/emacs --version |head -1
GNU Emacs 25.3.1
普通にインストールできるよ。Emacs.appもできていない。
2017/12/03(日) 00:11:11.99
configure時に --without-ns 付けずにコケてるってオチかな
2017/12/03(日) 04:14:16.12
たしかにmacへ希望のemacsのインストールは慣れてないと手間取るよね。ubuntuとかシンプルなコマンド打つだけなのに
2017/12/03(日) 06:32:30.95
>>854
ありがとう。おかげさまでできました。
gmake && make install
のところで
-bash: gmake: command not foundと出たので
make installとだけ打ちました。(これだと問題でるでしょうか?)
>>850 >>853
全般的なことを教えてくれてありがとう
>>852
emacs-25.3ディレクトリの中に全部インストールされるから上書きされないということだとインストールが終わった後に気づきました。
>>855
わかりません
>>856
ターミナルの初心者なのでなおさらです。
2017/12/03(日) 06:34:25.61
>>851
grep init.elと打ったところ
まだ機械が検索しています
2017/12/03(日) 06:35:13.27
みなさま有難うございました
2017/12/03(日) 09:05:28.51
自学のできないフレンズなんだね!
2017/12/03(日) 18:24:06.97
自学もなにも、何をみたらいいかすらわからなかった。
2017/12/03(日) 21:37:10.38
app版のemacsとターミナル版のemacsで後者が前者と比べて、機能的にできない
ことは、マウスやメニューバーを使って選択ができないということだけなのでしょうか?
他ターミナル版はapp版よりこういうことができないという点があれば教えてください。
2017/12/03(日) 21:55:10.24
今だとターミナルでマウス使えるんじゃ?
macよく知らんけども
2017/12/03(日) 22:16:06.56
>>862
「ターミナル版」←この表現はとても奇異に感じる
ターミナルというアプリを使わなくても、君のいうターミナル版のEmacsは使えるよ
なぜなら、ターミナルとは直接関係がないから。
とりあえず、ターミナルを使用しなければならない理由がないなら、
iTerm2とか別の高機能ターミナルエミュレータを勧めるよ。
2017/12/04(月) 00:02:04.79
ターミナルでできない事はいくつかある。特に キーバインドが制限されるのは個人的には大きい。

+ ターミナルの仕様上送れないキーが存在するので使えないキーバインドか出てくる。
+ 画像が表示できない

ただ一方でターミナルのメリットもあってリモートにtmuxなんかで繋げば作業ぎ継続しやすい。場合によっては誰かと画面共有できる。

ローカルで使うならGUIの方がいいよ
2017/12/04(月) 00:26:20.85
>>863
ターミナルで動かしたemacsについてはメニューバー等は使えないです。
>>864
ありがとう。iterm2をダウンロードして使ってみました。
これからはこれを使います。
2017/12/04(月) 00:38:31.79
>>865
ありがとう。
僕はそれくらいの違いならしばらく
iterm2を使います。それで
キーバインド等で問題が起こったら
guiに変えます。シェルを使って
いきたいとおもって、勉強をだいぶ前
からちょこっとやっています。
2017/12/04(月) 00:41:07.62
土曜からいろいろ教えていただきありがとうございました。
2017/12/04(月) 00:44:46.40
使いたい方を使えば良いさ

追記するとMacの場合はGUIならライブ変換なんかも使いたければ使えるけど、ターミナルの中だとnacOSのIMEが制御できないので難しい。
日本語入力部分は確認した方がいいよ

カーソルの色とか形状もターミナル側の設定に依存するので例えばview-mode時にカーソル形状を変えるといった事ができない

ターミナルの制限との兼ね合いだね
2017/12/04(月) 23:14:11.42
tmuxと併用すればOSのバージョンアップするまで立ちあげっぱなしで済むからね
2017/12/05(火) 14:58:06.72
OSの再起動を跨いでEmacsを上げたままするには、どうすればいいの?
2017/12/05(火) 18:51:55.41
そんなことできるの?
2017/12/05(火) 19:10:07.81
core使えばできるんじゃねえの
2017/12/05(火) 23:52:35.67
desktop-save して desktop-read するのではいかんのか
2017/12/06(水) 01:01:00.42
前に、インストールのことで質問をしたものです。
さらに質問があり書かせていただいています
.emacs.dの中身をみるとauto-save-listがあるだけで、
.bash_profileには、emacs関連の入ったディレクトリへのpathを書いていません。
また.bashrcにもemacsのことは書いていません。
それなのにemacsとターミナルで打つと、どういうわけだか~/.emacs.d_24_5に入っているinit.elを読み込んで
いて、helmも使えます。emacsのバージョンも24.5です。
どうしてこういうことが起こるのでしょうか?また、対策(emacs-25.3ディレクトリ
はできています。そちらのファイルを参照にするようにしたい)はどのようなもの
でしょうか?
2017/12/06(水) 07:45:33.29
>>874
emacsはリソースの掴みっぱなしは少ないんでそれなりに保存できるけど
つながってる外部プロセス(シェルやインタプリタ)の状態までは出来ない
2017/12/06(水) 08:01:50.54
>>875
その24.5がスペシャルバージョンで、バージョンがついたディレクトリが存在すれば
そっちを検索するように作られてるんじゃ無いのか?

lisp/site-init.elあたりに「そのように記述された」パッケージ?
878名無しさん@お腹いっぱい。
垢版 |
2017/12/06(水) 09:19:37.68
もう相手すんなよ…
2017/12/06(水) 09:26:22.17
>>878
おまえemacsユーザーの鏡だよ
でも風呂は入れよ
2017/12/06(水) 09:34:13.28
>>879
誤 鏡
正 鑑
2017/12/06(水) 09:53:53.34
>>879
煽って誤字とかダッサ
Emacs ユーザーはゴミしかいないのなwww
882名無しさん@お腹いっぱい。
垢版 |
2017/12/06(水) 09:54:45.34
>>875
update-alternatives使えるんでない?
2017/12/06(水) 10:06:08.44
まあ鑑も鏡も同じ意味だけどな。
2017/12/06(水) 10:29:35.01
同じ意味だけどな(キリッ
2017/12/06(水) 11:55:37.65
>>882
http://log-c.blog.so-net.ne.jp/2015-06-30-1
にあるようにupdate-alternatives --config emacs
とすると、command not foundとでます
2017/12/06(水) 11:56:55.95
>>881
>>884
別に誤字でもないのに何が言いたいんだ?
887名無しさん@お腹いっぱい。
垢版 |
2017/12/06(水) 12:03:10.13
わかりました
/usr/local/bin
にemacs -> emacs-24.5
と書いてました。つまり、emacs-24.5にリンクを貼っていました。
失礼しました。/usr/local/binについては.bash_profileでpathを通していました
2017/12/06(水) 12:03:29.67
ありがとうございました
2017/12/06(水) 12:14:26.11
>>884
ご苦労様って言われると怒るタイプ?
2017/12/06(水) 14:51:36.63
(´-`).。oO(スレが伸びてると思ったら変なのしか集まってないな…
2017/12/07(木) 17:14:00.71
初心者を大事にしないと
2017/12/08(金) 01:39:56.29
日本人の初心者なんか要らなくね
2017/12/08(金) 16:02:32.17
質問は頑張って英語でEmacs Stack Exchangeでしたほうがいいよ
2017/12/08(金) 19:53:54.42
emacsスレは昔は親切だったのにな
2017/12/08(金) 23:06:13.34
しんせつなのは全部るびきち先生だしな
2017/12/09(土) 03:56:30.82
ここにるびきち先生おられるんですか
知らなかった。
897名無しさん@お腹いっぱい。
垢版 |
2017/12/09(土) 09:26:40.51
>>841
Ricty とか見分けがつくフォント使え
見やすさ大事
2017/12/09(土) 10:10:58.40
! <-これとか目立つフォントってあるかな?C文法系は記号間違いは致命的
2017/12/10(日) 02:35:41.04
>>898
Ricty とか? ビットマップじゃないけど。
2017/12/10(日) 10:10:58.60
Ricty入れてみた

フォントもだけどカラーテーマ選びも重要だあね
2017/12/10(日) 14:06:02.57
>>898
そこだけ色変えるのが手っ取り早いとおもうけど
2017/12/10(日) 19:37:43.96
>>897 変えてみた。ありがとう
2017/12/11(月) 02:08:31.57
そこでdroid dottedですよ
904名無しさん@お腹いっぱい。
垢版 |
2017/12/11(月) 22:13:08.19
【自然破壊】何百種類ものコンピューターは必要ない
http://lavender.5ch.net/test/read.cgi/kaden/1510387401/l50
世界教師マイトLーヤ「大暴落は日本からスタート」
http://rio2016.5ch.net/test/read.cgi/2chse/1512813686/l50
2017/12/14(木) 20:35:38.19
質問です。
Emacsで開発環境を構築していますが、まさに
http://www.wagavulin.jp/entry/20100330/1269953592
このURLの問題に直面しています。
実際のところ。"make -k -C .."ようにしたとしても
エラーメッセージからソースコードをジャンプすることができず不便です。
どーするんですか???
2017/12/14(木) 21:23:52.52
>>905
http://d.hatena.ne.jp/teny/touch/20060626/p1
これを改造して*.cやら拡張子でgcc等のコマンドを呼ぶようにしている

エラーメッセージからは標準機能?の [C-x `] or [M-x next-error] で該当箇所に飛べるはず
2017/12/14(木) 21:41:29.39
>>906
ありがとうございます
なるほどこのように切り替えて制御するのは名案です
早速スクリプトをこしらえようかと思います
しかし、エラーメッセージの件については'make -C ..'にとってのカレントディレクトリと
実際の実行するEmacsのカレントディレクトリがことなるためジャンプに手動で検索を要します。

オフトピですが、該当記事の次の記事
http://d.hatena.ne.jp/teny/touch/20060626/p2
の発想はすごいですね
908名無しさん@お腹いっぱい。
垢版 |
2017/12/15(金) 03:49:24.57
>>905
今の Emacs ユーザは projectile 使ってそれ解決していると思う
https://github.com/bbatsov/projectile
プロジェクト管理にまつわる色々やってくれるっていうパッケージ

開発プロジェクトのルートディレクトリがgitとかのVCSで管理されていれば、
サブディレクトリで作業しているときでも
M-x projectile-compile-project で所望の動作
(ルートディレクトリ下でコンパイルコマンドを実行)が得られる
909906
垢版 |
2017/12/15(金) 20:18:21.35
>>907
(Dired-Modeからファイルを開いたりすると次からそこがEmacsのカレントになってりしなかったっけ…)
ディレクトリをまたぐ場合は結局Makefileを作ったり、全体をetagでTAGSファイルを作ったりしてました
そうすると
;; ***** etags *****
;; [M-.] 関数位置にジャンプ
;; [M-*] ジャンプした位置から戻る
;; [M-/] 定義した関数、変数の補完
;; [M-<tab>] 定義した関数、変数の補完
こんな感じで関数間をタグジャンプ出来ますので

あとよく使うのは
;; ***** プログラミング *****
;; [C-x `] エラー箇所にジャンプ (next-error)
;; [C-M-n] 対応するカッコへジャンプ(後ろへ)
;; [C-M-p] 対応するカッコへジャンプ(前へ)
;; [C-M-a] 関数の先頭に移動
;; [C-M-e] 関数の末尾に移動
;; [C-M-\] 領域をインデントする (indent-region)
こんなものでしょうか…
(でもこのあたりはvimとctagの方が便利でそっちばかり使ってましたw)

>>908
私は10年以上前の環境からあまり変わってないので便利そうですね〜
2017/12/16(土) 12:53:04.36
ansi-termとtermは同義語だとおもっていました。
というか多くの解説では同義語のように解説されていました。
しかしM-x ansi-term と M-x term でそれぞれ起動すると
バッファ名が ansi-term, terminalとそれぞれ違います。
キーバインドも違います。特に term のほうはキーバインドの多くが無効になっています。
結局なにが違うのですか?どこで違いの解説をみることができますか?
2017/12/16(土) 17:01:18.51
すみません。
自己解決しました。
失礼いたしました。
2017/12/16(土) 19:22:17.39
答えはなんなんだ
2017/12/16(土) 19:46:56.56
質問です、emacs上のポインタにある文字の種類を調べるには、どのキーを押せば出てくるでしょうか?
2017/12/16(土) 20:59:35.51
>>913 質問の意図が汲み取りづらいけど「C-x =」とかは違う?
915913
垢版 |
2017/12/16(土) 21:28:42.36
これなんですが、もうちょっと細かい情報が出るようなコマンドなんです。
2017/12/16(土) 22:16:49.91
C-u C-x =
917913
垢版 |
2017/12/16(土) 22:32:56.14
>>916
> C-u C-x =

それです!ありがとうございました。
2017/12/16(土) 23:34:56.06
emacsを開いたとき、使っている初期設定ファイルのフルパスを表示
させるコマンドはあるのでしょうか?
919918
垢版 |
2017/12/16(土) 23:40:57.08
補足します。emacsを起動しました。
タイトルバーにフルパスを表示させたくて
init.elを探してそこに
(setq frame-title-format "%f")
と書いてemacsを再起動させたのですが、その設定が
反映されていませんでした。それで書き直したinit.elは別のinit.elだったのか?
emacsが用いているinit.elは他にあるのかと思った次第です
2017/12/17(日) 01:07:25.49
追加ですが、
scratchバッファで
(setq frame-title-format "%f")
とすると返ってくる値は
"%f"
なります。
タイトルバーは
1.Default(emacs24.5)となっているだけです。
そこで別のファイルを開いても、タイトルバーにはパスは表示されません。
1.Default(emacs24.5)となっているだけです。
921名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 01:08:26.26
>>918
読み込んだ初期化ファイルの名前は M-x describe-variable => user-init-file で見れる
初心者のうちは ~/.emacs とか ~/.emacs.el とか余計なファイル作っていて
それで ~/.emacs.d/init.el を読み込めていなかったということはあるかもね

初心者の init.el 読み込めていないあるある、 他の理由と解決策は
・よくわからないままバイトコンパイルしている => ~/.emacs.d/init.elc を削除
・実は読み込み中エラーが発生していた => emacs --debug-init でデバッグ
とかか
2017/12/17(日) 01:58:38.11
とりあえずM-x describe-variable => user-init-file
をすると
user-init-file is a variable defined in `C source code'.
Its value is "~/.emacs"
と出ました。ところが~"~/.emacs"というディレクトリは作っていないという
ことがわかりました。
init.elc
というディレクトリもファイルも作っていないことを確かめました。
elcはelの拡張子のファイルをより早い形にコンパイルすると変わるファイルの
拡張子だったと思います。それは
elispというディレクトリに保存されるものなのでしょうか?
2017/12/17(日) 01:59:29.95
>>921
おしえていただきありがとうございます。
お礼が遅れました。
それでは
レス数が900を超えています。1000を超えると表示できなくなるよ。