X



Emacs Part 50 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
0887名無しさん@お腹いっぱい。
垢版 |
2017/12/06(水) 12:03:10.13
わかりました
/usr/local/bin
にemacs -> emacs-24.5
と書いてました。つまり、emacs-24.5にリンクを貼っていました。
失礼しました。/usr/local/binについては.bash_profileでpathを通していました
0897名無しさん@お腹いっぱい。
垢版 |
2017/12/09(土) 09:26:40.51
>>841
Ricty とか見分けがつくフォント使え
見やすさ大事
0907名無しさん@お腹いっぱい。
垢版 |
2017/12/14(木) 21:41:29.39
>>906
ありがとうございます
なるほどこのように切り替えて制御するのは名案です
早速スクリプトをこしらえようかと思います
しかし、エラーメッセージの件については'make -C ..'にとってのカレントディレクトリと
実際の実行するEmacsのカレントディレクトリがことなるためジャンプに手動で検索を要します。

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

開発プロジェクトのルートディレクトリがgitとかのVCSで管理されていれば、
サブディレクトリで作業しているときでも
M-x projectile-compile-project で所望の動作
(ルートディレクトリ下でコンパイルコマンドを実行)が得られる
0909906
垢版 |
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年以上前の環境からあまり変わってないので便利そうですね〜
0910名無しさん@お腹いっぱい。
垢版 |
2017/12/16(土) 12:53:04.36
ansi-termとtermは同義語だとおもっていました。
というか多くの解説では同義語のように解説されていました。
しかしM-x ansi-term と M-x term でそれぞれ起動すると
バッファ名が ansi-term, terminalとそれぞれ違います。
キーバインドも違います。特に term のほうはキーバインドの多くが無効になっています。
結局なにが違うのですか?どこで違いの解説をみることができますか?
0915913
垢版 |
2017/12/16(土) 21:28:42.36
これなんですが、もうちょっと細かい情報が出るようなコマンドなんです。
0917913
垢版 |
2017/12/16(土) 22:32:56.14
>>916
> C-u C-x =

それです!ありがとうございました。
0918名無しさん@お腹いっぱい。
垢版 |
2017/12/16(土) 23:34:56.06
emacsを開いたとき、使っている初期設定ファイルのフルパスを表示
させるコマンドはあるのでしょうか?
0919918
垢版 |
2017/12/16(土) 23:40:57.08
補足します。emacsを起動しました。
タイトルバーにフルパスを表示させたくて
init.elを探してそこに
(setq frame-title-format "%f")
と書いてemacsを再起動させたのですが、その設定が
反映されていませんでした。それで書き直したinit.elは別のinit.elだったのか?
emacsが用いているinit.elは他にあるのかと思った次第です
0920名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 01:07:25.49
追加ですが、
scratchバッファで
(setq frame-title-format "%f")
とすると返ってくる値は
"%f"
なります。
タイトルバーは
1.Default(emacs24.5)となっているだけです。
そこで別のファイルを開いても、タイトルバーにはパスは表示されません。
1.Default(emacs24.5)となっているだけです。
0921名無しさん@お腹いっぱい。
垢版 |
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 でデバッグ
とかか
0922名無しさん@お腹いっぱい。
垢版 |
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というディレクトリに保存されるものなのでしょうか?
0926名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 02:34:49.42
>>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を
してるのに、新たにその設定を読み込んで
実行しないのかという疑問もあります。
0929名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 02:51:45.24
正直なところいろいろよくわからないので、
とりあえず気が付いたところだけ。

>>922
> user-init-file is a variable defined in `C source code'.
> Its value is "~/.emacs"
> と出ました。ところが~"~/.emacs"というディレクトリは作っていないという
> ことがわかりました。
これはディレクトリではなくファイルです。
~/.emacsというファイルがあればそれを読み込むはずです。
0930名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 11:03:44.18
>>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)
ではそうなっている。
0931名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 14:20:57.48
結局次のような形になりました。

/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.
というエラーが出た。

ということで、とりあえずは解決しました。最初からインストールすることに
決めました。
0933名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 14:34:30.91
>>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が定義されていないということなので、
中身を晒せばわかる人がいるかもしれませんね。
0934名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 14:54:10.83
>> 931
再インストールしても解決しないよ、それ。
まず--debug-init付けてエラー内容確認しないと無理。

init.elも晒すべきだろうね。
親切な人が見てくれるかも知れない
0935名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 16:36:28.29
ありがとうございます。
再インストールしても同じinit.elを使うのなら同じようにエラーがでるでしょうね。
エラーのうちの一つは、22以前のバージョンでuser-emacs-directory変数が未定義
だから出たというのはわかっています。そこを修正したら別のエラーの内容が
変わったから。
emacsの最新バージョンに入れ替えて、init.elの書き直しもぼちぼちやります。
0936名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 16:38:45.77
>>933
そうなんですよ。24.5へのシンボリックリンクを
削除したら22.1?のemacsを読みに行くように
なりました。それでその22だと user-emacs-directory
が定義されていないのでエラーがでました。
0938名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 16:54:22.86
とりあえず
>>854さんに教えていただいたようにしてemacsは動くようになりました。
あとはinit.elを書き換えたり、ディレクトリを移動したり、elispを入れたり
するだけです。
ありがとうございました。
0939名無しさん@お腹いっぱい。
垢版 |
2017/12/17(日) 18:31:03.12
>>938
それは良かった。
念のために確認するけど、テストではなく、本番使用のものは、perfixを/tmpのままにしていないよね?
0942名無しさん@お腹いっぱい。
垢版 |
2017/12/18(月) 20:55:41.11
ここで昨日、一昨日と教えてもらったものです。
一旦動くようになったのですが、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が使えるようになればいいなあとずっと思っています。
(ヘルプが英語だったりして、なかなかとっつきにくいですが。)
いろいろ教えていただきありがとうございました。
0949名無しさん@お腹いっぱい。
垢版 |
2017/12/20(水) 13:38:20.24
emacsで別ファイルで指定した文字列に色を付けるパッケージってありますか?
自分が頻繁に誤用する文章パターンを別ファイルに正規表現のリストとして保存しておいて
文章整形中に正規表現に一致する文字パターンを色付けするってことをしたいのです.
0952名無しさん@お腹いっぱい。
垢版 |
2017/12/23(土) 22:09:06.61
iterm2の画面を開いて、emacsを起動させて、文書1を呼び出したとして、
それをさらに新しくひらいたiterm2の画面を開いて、新しい文書2をつくり
そこに、文書1からコピーしたものを文書2にヤンクしたいのですが、
文書2にヤンクしようとすると空だと出ます。
どういうコードをinit.elに書き加えればいいのか教えてください
0954名無しさん@お腹いっぱい。
垢版 |
2017/12/23(土) 23:33:04.63
クリップボードの共有はinit.elにコードを書いて、できるようにはなっているんです。
だからcommand+cでコピー、command+vでペーストはできるんですが、
元々の画面のあらわれている部分しか選択できないんです。
だから、画面をさらにずらして、コピーしてペーストをするしかないんです。
コピー元のファイルの画面に映っていないところも全部、C-spaceで選択して
ペーストするほうでyankなりできればとおもうんですが
0958名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 11:20:40.33
>>957
レジスタ、今やってみましたが、同じターミナルの中で立ち上げた、emacsのバッファー
同士の間ではレジスタを使ってテキストの挿入はできるのですが、
異なるターミナルを使って立ち上げたemacsのバッファーへのペーストはできないです
0959名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 11:35:06.26
>>958
それがemacsclientのメリットですよね
https://ayatakesi.github.io/emacs/25.1/emacs-ja.html#Emacs-Server
なぜなら新しいEmacsプロセスが開始されるからです。なぜこれが不便かというと、新たなEmacsプロセスは、既存のEmacsプロセスのバッファー、コマンドヒストリー、その他の情報を共有しないからです
0960名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 11:44:07.60
Emacsは必要のない限りGUI版使うべきだと思うよ
CUI環境で動かすと
クリップボードの共有云々の件もそうだし
キーボードだとか表示だとか面倒が多い
0963名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 12:05:21.08
>>958
できるよ
(set-register) で永続化
0964名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 12:14:26.08
ちなみに端末でのコピーもtmux使えば、
C-b [ space 範囲指定 ret C-b ] でできるし、スクロールバッファも遡れる。

Macならpbcopy, pbpasteも使える。

色々方法あるけどわからない摩訶不思議な事せず素直にGUI使って勉強しろって
0966名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 12:42:03.25
>>965
別に失敗してねーな。端末のEmacsでC-bも使えるし。
何が失敗するんだ?

そもそもC-z始め他の適当なprefixはEmacsの方で埋まってる
0969名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 12:55:49.77
>>967
そら複数画面で編集したいときでしょ。
セッションを共有するという意味ではemacsclientが一番素直。クラウド時代にはもっといろいろとやりかたがあるんだろうとは思いますが。
0970名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 12:57:40.92
tmuxとemacsでクリップボードの共有できればいいけど、できないでしょ。
だから失敗する。でかい領域のコピーで。
0971名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 13:22:52.86
Macならpbcopy使ってtmuxのバッフアスタックとクリップボードの共有もできるけどなぁ

設定しなくてもtmuxのバッフアコピーでEmacsにもペーストできるし、俺のところは動いてるけどこれ普通じゃないの?
0972名無しさん@お腹いっぱい。
垢版 |
2017/12/24(日) 13:30:23.07
>>969
フレームかウインドウ分割でいいと思う。
あと複数Emacsの同時起動はrecentfのトラブルの元。
0977名無しさん@お腹いっぱい。
垢版 |
2017/12/29(金) 06:46:14.85
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

ANQTM6C0LN
0978名無しさん@お腹いっぱい。
垢版 |
2017/12/31(日) 18:04:30.44
emacs デフォルトの Python メジャーモードをつかってるんだけど、ある時期を境に、eldoc の挙動が変わった気がする。
以前は引数が表示されていたのに、今では docstring が表示される。

以前の挙動にせっていしたいんだけど、何を調べればいいですか?
0979emacs利用者
垢版 |
2017/12/31(日) 21:54:05.69
あと少しで今年も終わり
今年一年、いろいろ教えてくださってありがとうございました
来年もよろしくお願い申し上げます
0983名無しさん@お腹いっぱい。
垢版 |
2018/01/01(月) 21:44:46.14
>>980
rjsx-mode で
(setq js-indent-level 2) してみるとか

web-modeなら
(setq web-mode-markup-indent-offset 2
web-mode-css-indent-offset 2
web-mode-code-indent-offset 2
web-mode-attr-indent-offset nil) とか
0984名無しさん@お腹いっぱい。
垢版 |
2018/01/03(水) 01:52:31.41
24.5から25.3にバージョンアップしてみたけど、動かないlispが多数出たため、切り戻しした(´・ω・`)。
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況