Emacs Part 50 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
>>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
そんなファイルは入っていないし。 ~/.emacs.d がインストール時に書きかわるはずがない。ユーザーホーム配下なんだから。
パッケージは/usrなり/optなりで共有するけど、仮にそのマシンで100ユーザーいたら100人分のホームディレクトリが書き変わってしまうのかって話。
んなわけない。 >>848
>macでターミナルにだけ入れる(appは作らない)というやりかた
emacs-25.3/nextstep/INSTALL に思いっきり書いてあるけど。
第3者が書いたものではなくて、Emacsの付属文書の方を信用しようよ。 $ 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もできていない。 configure時に --without-ns 付けずにコケてるってオチかな たしかにmacへ希望のemacsのインストールは慣れてないと手間取るよね。ubuntuとかシンプルなコマンド打つだけなのに >>854
ありがとう。おかげさまでできました。
gmake && make install
のところで
-bash: gmake: command not foundと出たので
make installとだけ打ちました。(これだと問題でるでしょうか?)
>>850 >>853
全般的なことを教えてくれてありがとう
>>852
emacs-25.3ディレクトリの中に全部インストールされるから上書きされないということだとインストールが終わった後に気づきました。
>>855
わかりません
>>856
ターミナルの初心者なのでなおさらです。 >>851
grep init.elと打ったところ
まだ機械が検索しています 自学もなにも、何をみたらいいかすらわからなかった。 app版のemacsとターミナル版のemacsで後者が前者と比べて、機能的にできない
ことは、マウスやメニューバーを使って選択ができないということだけなのでしょうか?
他ターミナル版はapp版よりこういうことができないという点があれば教えてください。 今だとターミナルでマウス使えるんじゃ?
macよく知らんけども >>862
「ターミナル版」←この表現はとても奇異に感じる
ターミナルというアプリを使わなくても、君のいうターミナル版のEmacsは使えるよ
なぜなら、ターミナルとは直接関係がないから。
とりあえず、ターミナルを使用しなければならない理由がないなら、
iTerm2とか別の高機能ターミナルエミュレータを勧めるよ。 ターミナルでできない事はいくつかある。特に キーバインドが制限されるのは個人的には大きい。
+ ターミナルの仕様上送れないキーが存在するので使えないキーバインドか出てくる。
+ 画像が表示できない
ただ一方でターミナルのメリットもあってリモートにtmuxなんかで繋げば作業ぎ継続しやすい。場合によっては誰かと画面共有できる。
ローカルで使うならGUIの方がいいよ >>863
ターミナルで動かしたemacsについてはメニューバー等は使えないです。
>>864
ありがとう。iterm2をダウンロードして使ってみました。
これからはこれを使います。 >>865
ありがとう。
僕はそれくらいの違いならしばらく
iterm2を使います。それで
キーバインド等で問題が起こったら
guiに変えます。シェルを使って
いきたいとおもって、勉強をだいぶ前
からちょこっとやっています。 土曜からいろいろ教えていただきありがとうございました。 使いたい方を使えば良いさ
追記するとMacの場合はGUIならライブ変換なんかも使いたければ使えるけど、ターミナルの中だとnacOSのIMEが制御できないので難しい。
日本語入力部分は確認した方がいいよ
カーソルの色とか形状もターミナル側の設定に依存するので例えばview-mode時にカーソル形状を変えるといった事ができない
ターミナルの制限との兼ね合いだね tmuxと併用すればOSのバージョンアップするまで立ちあげっぱなしで済むからね OSの再起動を跨いでEmacsを上げたままするには、どうすればいいの? desktop-save して desktop-read するのではいかんのか 前に、インストールのことで質問をしたものです。
さらに質問があり書かせていただいています
.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ディレクトリ
はできています。そちらのファイルを参照にするようにしたい)はどのようなもの
でしょうか? >>874
emacsはリソースの掴みっぱなしは少ないんでそれなりに保存できるけど
つながってる外部プロセス(シェルやインタプリタ)の状態までは出来ない >>875
その24.5がスペシャルバージョンで、バージョンがついたディレクトリが存在すれば
そっちを検索するように作られてるんじゃ無いのか?
lisp/site-init.elあたりに「そのように記述された」パッケージ? >>878
おまえemacsユーザーの鏡だよ
でも風呂は入れよ >>879
煽って誤字とかダッサ
Emacs ユーザーはゴミしかいないのなwww >>875
update-alternatives使えるんでない? >>882
http://log-c.blog.so-net.ne.jp/2015-06-30-1
にあるようにupdate-alternatives --config emacs
とすると、command not foundとでます >>881
>>884
別に誤字でもないのに何が言いたいんだ? わかりました
/usr/local/bin
にemacs -> emacs-24.5
と書いてました。つまり、emacs-24.5にリンクを貼っていました。
失礼しました。/usr/local/binについては.bash_profileでpathを通していました (´-`).。oO(スレが伸びてると思ったら変なのしか集まってないな… 質問は頑張って英語でEmacs Stack Exchangeでしたほうがいいよ ここにるびきち先生おられるんですか
知らなかった。 >>841
Ricty とか見分けがつくフォント使え
見やすさ大事 ! <-これとか目立つフォントってあるかな?C文法系は記号間違いは致命的 >>898
Ricty とか? ビットマップじゃないけど。 Ricty入れてみた
フォントもだけどカラーテーマ選びも重要だあね >>898
そこだけ色変えるのが手っ取り早いとおもうけど 質問です。
Emacsで開発環境を構築していますが、まさに
http://www.wagavulin.jp/entry/20100330/1269953592
このURLの問題に直面しています。
実際のところ。"make -k -C .."ようにしたとしても
エラーメッセージからソースコードをジャンプすることができず不便です。
どーするんですか??? >>905
http://d.hatena.ne.jp/teny/touch/20060626/p1
これを改造して*.cやら拡張子でgcc等のコマンドを呼ぶようにしている
エラーメッセージからは標準機能?の [C-x `] or [M-x next-error] で該当箇所に飛べるはず >>906
ありがとうございます
なるほどこのように切り替えて制御するのは名案です
早速スクリプトをこしらえようかと思います
しかし、エラーメッセージの件については'make -C ..'にとってのカレントディレクトリと
実際の実行するEmacsのカレントディレクトリがことなるためジャンプに手動で検索を要します。
オフトピですが、該当記事の次の記事
http://d.hatena.ne.jp/teny/touch/20060626/p2
の発想はすごいですね >>905
今の Emacs ユーザは projectile 使ってそれ解決していると思う
https://github.com/bbatsov/projectile
プロジェクト管理にまつわる色々やってくれるっていうパッケージ
開発プロジェクトのルートディレクトリがgitとかのVCSで管理されていれば、
サブディレクトリで作業しているときでも
M-x projectile-compile-project で所望の動作
(ルートディレクトリ下でコンパイルコマンドを実行)が得られる >>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年以上前の環境からあまり変わってないので便利そうですね〜 ansi-termとtermは同義語だとおもっていました。
というか多くの解説では同義語のように解説されていました。
しかしM-x ansi-term と M-x term でそれぞれ起動すると
バッファ名が ansi-term, terminalとそれぞれ違います。
キーバインドも違います。特に term のほうはキーバインドの多くが無効になっています。
結局なにが違うのですか?どこで違いの解説をみることができますか? すみません。
自己解決しました。
失礼いたしました。 質問です、emacs上のポインタにある文字の種類を調べるには、どのキーを押せば出てくるでしょうか? >>913 質問の意図が汲み取りづらいけど「C-x =」とかは違う? これなんですが、もうちょっと細かい情報が出るようなコマンドなんです。 >>916
> C-u C-x =
それです!ありがとうございました。 emacsを開いたとき、使っている初期設定ファイルのフルパスを表示
させるコマンドはあるのでしょうか? 補足します。emacsを起動しました。
タイトルバーにフルパスを表示させたくて
init.elを探してそこに
(setq frame-title-format "%f")
と書いてemacsを再起動させたのですが、その設定が
反映されていませんでした。それで書き直したinit.elは別のinit.elだったのか?
emacsが用いているinit.elは他にあるのかと思った次第です 追加ですが、
scratchバッファで
(setq frame-title-format "%f")
とすると返ってくる値は
"%f"
なります。
タイトルバーは
1.Default(emacs24.5)となっているだけです。
そこで別のファイルを開いても、タイトルバーにはパスは表示されません。
1.Default(emacs24.5)となっているだけです。 >>918
読み込んだ初期化ファイルの名前は M-x describe-variable => user-init-file で見れる
初心者のうちは ~/.emacs とか ~/.emacs.el とか余計なファイル作っていて
それで ~/.emacs.d/init.el を読み込めていなかったということはあるかもね
初心者の init.el 読み込めていないあるある、 他の理由と解決策は
・よくわからないままバイトコンパイルしている => ~/.emacs.d/init.elc を削除
・実は読み込み中エラーが発生していた => emacs --debug-init でデバッグ
とかか とりあえず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というディレクトリに保存されるものなのでしょうか? >>921
おしえていただきありがとうございます。
お礼が遅れました。
それでは >>919
> init.elを探してそこに
このinit.elはどこにあるんですか? せめてOS周りの環境書かないと答えようが無いんじゃ? >>924
init.elは~/.emacs.d_24_5
にあります。なぜそんなディレクトリの
init.elを読み込むかというと>>887
で書いている通りでありまして、
.bash_profileに読み込むパスを書いていて
その中の/usr/local/binでemacs->emacs-24.5
というリンクを入っているからです。
しかし、それ以前になぜscratch バッファで
(setq frame-title-format "%f") としてC-jを
してるのに、新たにその設定を読み込んで
実行しないのかという疑問もあります。 >>925
どのように必要な環境を書き出せるで
しょうか? 正直なところいろいろよくわからないので、
とりあえず気が付いたところだけ。
>>922
> user-init-file is a variable defined in `C source code'.
> Its value is "~/.emacs"
> と出ました。ところが~"~/.emacs"というディレクトリは作っていないという
> ことがわかりました。
これはディレクトリではなくファイルです。
~/.emacsというファイルがあればそれを読み込むはずです。 >>926
> しかし、それ以前になぜscratch バッファで
> (setq frame-title-format "%f") としてC-jを
> してるのに、
frame-title-format:
This variable has the same structure as ‘mode-line-format’...
mode-line-format:
%f -- print visited file name.
scratch バッファは特定のファイルに紐付いていないのでフレームタイトルは
変わらないんじゃ? あと、regular file以外(例えば dired バッファ)でも変わらない。
こちらの環境 Emacs 27.0.50 (build 2, i686-pc-linux-gnu, GTK+ Version 3.22.25)
ではそうなっている。 結局次のような形になりました。
/usr/local/binにあったemacs->emacs24.5ディレクトリへのリンクを削除した。
すると24.5が立ち上がらなくなったが、22.1?が立ち上がり、しかも
helmも使えた。だから24.5と22.1が使っている初期設定ファイルが同じものなんだろうなとおもった。
describe-variable->user-init-file
をしても
.emacs
と出てきていたが、.emacsというファイルは見つからなかった。ただCでコードされているということは出てきたものに書いていた。
リンクで24.5ディレクトリを読みに行かせていたはずで、その中の
init.elを読んでくれていたはずだったがそうではなかった。
ただ、.emacs.dが別にあり(いつできたか知らない)
auto-save-list
というのが入っていた。
それをデスクトップに移動してemacsが読めなくした。
その上で、.emacs-24.5というディレクトリを.emacs.dに変えた。
その中の.init.elを読み込んで欲しいのでそうした。
そうすると
An error has occurred while loading `/Users/hiro/.emacs.d/init.el':
Symbol's value as variable is void: user-emacs-directory
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.
というエラーが出た。
ということで、とりあえずは解決しました。最初からインストールすることに
決めました。 >>931
> その上で、.emacs-24.5というディレクトリを.emacs.dに変えた。
> その中の.init.elを読み込んで欲しいのでそうした。
>
> そうすると
> An error has occurred while loading `/Users/hiro/.emacs.d/init.el':
>
> Symbol's value as variable is void: user-emacs-directory
>
> To ensure normal operation, you should investigate and remove the
> cause of the error in your initialization file. Start Emacs with
> the `--debug-init' option to view a complete error backtrace.
> というエラーが出た。
これは~/.emacs.d/init.elが読み込まれているということです。
その中のuser-emacs-directoryが定義されていないということなので、
中身を晒せばわかる人がいるかもしれませんね。 >> 931
再インストールしても解決しないよ、それ。
まず--debug-init付けてエラー内容確認しないと無理。
init.elも晒すべきだろうね。
親切な人が見てくれるかも知れない ありがとうございます。
再インストールしても同じinit.elを使うのなら同じようにエラーがでるでしょうね。
エラーのうちの一つは、22以前のバージョンでuser-emacs-directory変数が未定義
だから出たというのはわかっています。そこを修正したら別のエラーの内容が
変わったから。
emacsの最新バージョンに入れ替えて、init.elの書き直しもぼちぼちやります。 >>933
そうなんですよ。24.5へのシンボリックリンクを
削除したら22.1?のemacsを読みに行くように
なりました。それでその22だと user-emacs-directory
が定義されていないのでエラーがでました。 なぜ外したauto-save-listがあれば、問題なくemacsが動いていたかと、疑問に思います。 とりあえず
>>854さんに教えていただいたようにしてemacsは動くようになりました。
あとはinit.elを書き換えたり、ディレクトリを移動したり、elispを入れたり
するだけです。
ありがとうございました。 >>938
それは良かった。
念のために確認するけど、テストではなく、本番使用のものは、perfixを/tmpのままにしていないよね? >>939
してます。どうするのがいいのでしょう? ここで昨日、一昨日と教えてもらったものです。
一旦動くようになったのですが、emacswiki?からの読み込みでエラーが
出てたくらいで一旦無事に動くようになりました。
その後、init.elを弄ってそれぞれのelispの順序を変えていると、動かなくなりました。パソコンの中を調べたら2年前のinit.elがあり、それは手を入れていたinit.el
とほとんど同じでした。それにちょこっと手を加えて、今があります。
emacswikiの読み込みも問題なくできるようになりました。
やったことは、/opt/emacs-25.3にemacsをインストールして.bash_profileにemacsのaliasを作って、/opt/emacs-25.3/emacsを読みに行くようにしたこと、/Users/自分の名前(つまりホームディレクトリ)/.emacs.dのinit.elを少し弄ったことです。
それで、ホームディレクトリに移ってからemacsと打つことで起動させるという風で、問題なく動いています。
二年前のinit.elは大竹さんの本だけ
を基本的に見て作ったものです。その時はとても難しく思いました。
今回普通に第二版を読んでいて難しいとは思わなかったですが、設定を変えようと
考えて、今回いろいろしくはくしてたのですが、その時ようやく実は難しいものだ
なと思いました。
いちおう感想だけ。emacsが使えるようになればいいなあとずっと思っています。
(ヘルプが英語だったりして、なかなかとっつきにくいですが。)
いろいろ教えていただきありがとうございました。 >>946
教えてくれてありがとう。
>>947
ありがとう emacsで別ファイルで指定した文字列に色を付けるパッケージってありますか?
自分が頻繁に誤用する文章パターンを別ファイルに正規表現のリストとして保存しておいて
文章整形中に正規表現に一致する文字パターンを色付けするってことをしたいのです. anything-M-xって以前からemacs起動時にミニバッファの履歴読んで無かったっけか? レス数が950を超えています。1000を超えると書き込みができなくなります。