のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,522,796人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレEmacs Part 49

emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
101 : 名無しさん@お腹 - 2016/01/28(木) 10:01:41.23 .net (-4,-22,+0)
三行で
102 : 名無しさん@お腹 - 2016/01/28(木) 14:19:56.16 .net (+2,-25,-16)
magit入れたんだけど
間違えて保存したファイルを戻す
ベストな方法を教えてください。
103 : 名無しさん@お腹 - 2016/01/28(木) 14:59:56.69 .net (+57,+29,-16)
別にb bが普通のやり方だよ
カーソルをファイルの位置に移動させてもファイル名聞かれるのは
checkoutが危険な操作だから念の為聞いてるんじゃないかと思われる
104 : 名無しさん@お腹 - 2016/01/28(木) 15:41:54.61 .net (-6,-24,+1)
stash
105 : 名無しさん@お腹 - 2016/01/30(土) 12:38:13.93 .net (+3,-29,-63)
macでgrepを使いたいので、emacs上でmoccur-grep-findしました。
ところが「nに下点がつく」などのunicodeにある飾りつき文字を検索してくれません。
解決策はないでしょうか?
別のエディターとかツールを使ったほうがいいというアドバイスも
歓迎です
106 : 名無しさん@お腹 - 2016/01/31(日) 23:57:41.65 .net (+75,+29,-62)
org-modeの小見出し(*)から次の小見出しまでの行数を表示してくれるようにするコードってどこかにないでしょうか(探し回ったけど見つからない&自分で書く能力はありません……)。

org-modeで長文を書きたいんですが、小見出し間の行数が重要な文書なのです。いちいちモードラインを見て引き算すればいいんですが、小見出し全部畳んだ状態で一望できると便利だなぁ、と。
107 : 名無しさん@お腹 - 2016/02/01(月) 06:24:59.06 .net (+48,-29,-17)
spacemacs使ってるやついる?
108 : 名無しさん@お腹 - 2016/02/01(月) 11:08:46.91 .net (-1,-29,-44)
.spacemacsにelisp書いても起動時に設定が反映されない
109 : 名無しさん@お腹 - 2016/02/01(月) 18:53:39.50 .net (+46,-30,-95)
>>106
(save-excursion
(let* ((beg (if (search-forward-regexp "^\\*[^*].*$" nil t) (line-number-at-pos)))
(end (if (search-forward-regexp "^\\*[^*].*$" nil t) (line-number-at-pos))))
(- end beg)))
これをM-:にコピペすれば行数が出るよ
エラーチェックとか見出し行を含めるのかとか考慮してないけどね
110 : 名無しさん@お腹 - 2016/02/01(月) 19:31:23.68 .net (+13,-30,-227)
>>106
見やすくしたバージョン 見出し行を含んだ行数を*Messages*に表示するよ
(defun count-lines-between-headline ()
(interactive)
(message "--- top of buffer ---")
(save-excursion
(goto-char (point-min))
(let (ln (prev 1))
(catch 'break
(while t
(if (search-forward-regexp "^\\(\\*[^*\n]+\\)$" nil t)
(progn
(setq ln (line-number-at-pos))
(message "%d" (- ln prev))
(message "%s" (match-string 1))
(setq prev ln))
(goto-char (point-max))
(message "%d" (- (line-number-at-pos) prev))
(throw 'break nil))))
(message "--- end of buffer ---"))))
111 : 107 - 2016/02/02(火) 07:21:26.35 .net (+10,-30,+0)
spacemacsだが、いろいろわかってきたのでチラシの裏

まず、spacemacsは新しいディストリビューションでもなんでもなく、ただの.emacs.d
だから、githubから.emacs.dを落としてくるだけでemacsがクールになる。
初回起動時はセットアップが始まり再起動が必要。
$ git clone --recursivehttp://github.com/syl20bnr/spacemacs ~/.emacs.d


で、カスタマイズするには~/.emacs.d/init.elと思いきや、なんか~/.spacemacsとかってのが作られてるのでそっちにやる。
なんだかよくわからんが色々デフォルトで書かれてるが、最後の方に (defun dotspacemacs/user-config()って行があるので
その対応するカッコの中にinit.elの中身をコピペすればいい。ただ、spacemacsと競合する可能性あるのでそこら辺注意。

パッケージのインストールはlist-packageとかしなくていい。
multiple-cursorsが使いたかったら.spacemacsのdotspacemacs-additional-packages '()のカッコの中にmultiple-cursorsを加えればいい。
再起動すると、multiple-cursorsがインスコされる。この仕組みのおかげで、init.elだけ残してemacsを初期化した時などに
いちいちインスコしてないパッケージを探す必要がなくなる。

GJ
112 : 名無しさん@お腹 - 2016/02/02(火) 08:51:52.04 .net (+89,+27,-24)
spacemacsはすでにemacs使ってきた人にはどうでもいいんだよね
ターゲット層の絞りこみが変なプロジェクト
113 : 名無しさん@お腹 - 2016/02/02(火) 09:56:05.28 .net (+74,+29,-19)
>>109ー110 さん
うおおおおおありがとうございます!
いまちょっと出先なので、あとで早速ためしてみます!
114 : 107 - 2016/02/02(火) 12:18:30.53 .net (+105,+29,-81)
>>112
確かにそうかもしれない。ただ、起動がめっちゃ早いのはいいと思った。

今は、ターミナルからspasemacsを起動すると文字がズレて表示される問題について調べてるんだけど
誰か原因わかるやついる?なんかカーソル動かすとその行だけリフレッシュされて治るみたいな。

なぜかeclipseでもこのバグが起こってるからEl Capitanのせいなのかもしれないけど。
115 : 113 - 2016/02/02(火) 19:31:59.15 .net (+57,+29,-19)
コード見て(私でも)想像付いたように、
*Messages*バッファに綺麗に列挙されるんですね。

バッチリです、ありがとうございます!
イチイチ目で見て引き算しないで済んで、すごく助かります。
116 : 名無しさん@お腹 - 2016/02/03(水) 02:17:34.73 .net (+70,+29,-14)
>>114
グラボが瀕死の予感
117 : 名無しさん@お腹 - 2016/02/03(水) 02:41:38.44 .net (+4,-29,-39)
emacs -q だとメモリー15MBしか食わないのに普通に init.el ロードすると180MBも食うのは何であ
118 : 名無しさん@お腹 - 2016/02/03(水) 04:05:02.28 .net (+7,-29,-46)
>>116
え、まじで!

誰かEl Capitanの人spacemacs導入してターミナルから起動してみてくれないか
カーソルを上下に動かすとなんかドミノ倒しみたいに文字がずれないか?
119 : 名無しさん@お腹 - 2016/02/03(水) 05:56:23.38 .net (+57,+29,-31)
emacs関係なさそうって自分で突き止めてんだから
あとはmac板で質問厨するかサポートに電話してサポートを困らせるか
お前のmacを叩き割ってオモシロ画像としてツィートするくらいしかできないだろ
120 : 名無しさん@お腹 - 2016/02/03(水) 09:59:45.76 .net (+57,+29,-7)
Mac系の板にEmacsスレないんだっけ
この板にMacの話持ち込まれても正直困る
122 : 名無しさん@お腹 - 2016/02/03(水) 14:18:12.01 .net (+3,-30,-61)
>>117
NTEmacsだがemacs -Qで25MB emacs-Q -nwで10MB普通に起動で62MBだな
helmとか大物が常駐してるから妥当な数字だと思う
180MBとか大量にメモリ使ってるpackageがあるんだろうね
123 : 名無しさん@お腹 - 2016/02/03(水) 23:57:15.25 .net (-1,-29,-16)
skkなんかでL辞書ロードしてるとかじゃないの?
124 : 名無しさん@お腹 - 2016/02/04(木) 13:57:09.15 .net (+12,-23,-36)
>>111
spacemacsのモードラインを適用したいときは、どうすればいいの?
spacelineっていうの入れただけじゃダメだった。
125 : 107 - 2016/02/04(木) 14:22:49.42 .net (+11,-29,-156)
>>124
spacemacsのテーマもあるからこっちも入れなきゃダメとかかな?
http://github.com/nashamri/spacemacs-theme

ちなみに自分は結局まだspacemacs使ってなくて
でも、spacemacsのテーマがかっこよかったからmonokaiからspacemacs-themeに変更した。

ちなみにモードラインはシンプルなのが好きだからspaceline入れてない。
ていうか、terminalからemacs立ち上げて使ってるから入れてもまともに反映されないから不要な感じ。

spacemacs-theme入れてみて結果教えてちょ
126 : 107 - 2016/02/04(木) 14:25:04.19 .net (+3,-30,-71)
ちなみに導入方法は
M-x package-install spacemacs-themeして
init.elに(load-theme 'spacemacs-dark t)追加でいけた。darkとlightがあるらしい。
127 : 名無しさん@お腹 - 2016/02/04(木) 18:57:48.90 .net (+158,+29,-72)
行番号表示を「表示行」にするのってかなり難儀なんでしょうか(正式な呼び名が分からない……秀丸みたいなテキストエディタ的挙動といいますか)
128 : 名無しさん@お腹 - 2016/02/04(木) 19:24:51.19 .net (+10,-29,-26)
>>125
ありがとう。
週末に時間ができたらコード見てどうやって動いてるか見てみます。
debian sid emacs24.5で試してるけど、spacemacsカーソル動かしてもドミノ倒しならないです。
129 : 名無しさん@お腹 - 2016/02/04(木) 20:27:40.43 .net (+80,+29,-32)
>>127
折り返す行にも行番号を割り当てるってこと?
buffer中で先頭から数えた行番号を表示するってこと?
130 : 名無しさん@お腹 - 2016/02/04(木) 21:51:41.75 .net (+73,-30,-74)
>>127
linum-modeの事を言ってると思うけど、linum-update-windowの下から3行目の
(forward-line)を(next-line)にするだけで表示行に行番号が付くよ
ただしクソ重くなるけどねw
Emacsはカーソルは(next-line)使って物理行(表示行)で移動してるけど
かなり重い処理みたいだな
131 : 名無しさん@お腹 - 2016/02/04(木) 21:53:23.14 .net (+20,-23,-105)
>>129
いただいた返事を初見で見たときに「両方です」と思いました。

はい、折り返し行にも行番号の割当が欲しいのです。linum-modeで行番号を表示して、line-move-visual tで折り返し行にもカーソルを動かせるようになりますが、行番号の数字は折り返しをカウントしてくれません(2、3行にまたがる行が1行でカウントされる)。

後者は……すみません、正確な意味がつかみ取れませんでした。↑でうまく全貌が伝わるといいんですが。
132 : 名無しさん@お腹 - 2016/02/04(木) 21:54:34.41 .net (+64,+29,-12)
>>130
って私がちんたら返信書いてるうちに新たなお返事が!

あとで早速試してみます。……でもクソ重いのか(;;
133 : 127 - 2016/02/04(木) 23:30:00.28 .net (+10,-29,-55)
>>130
linum.elの該当箇所を発見、確かに表示行での行番号がバッチリ表示されました。ありがとうございます。

……でも起動時にEnd of Bufferというエラー(というかWarning)が表示されるようになってしまった。むむ、どこがあかんのだろう。
134 : 127 - 2016/02/05(金) 00:24:09.86 .net (+9,-30,-101)
(global-linum-mode 1) をinit.elに書くと
必ず起動時にWarningを出すことだけは分かったので
(理由まで分からないのが知識のなさ)いったんそいつはコメントOutして
(global-set-key [f6] 'linum-mode)
で人力起動することにしました。どうせいったん起動したらまず落とさないし。

ともあれおかげさまで、表示行で行番号表示ができて嬉しいです。
ありがとうございました。
135 : 107 - 2016/02/05(金) 08:42:15.57 .net (+4,-30,-92)
>>128
Mac使ってる?emacs.app起動でなく、ターミナルで動かすとどお?
/usr/local/Cellar/emacs-mac/emacs-24.5-z-mac-5.15/Emacs.app/Contents/MacOS/Emacs -nw
で起動できるはず。
136 : 名無しさん@お腹 - 2016/02/05(金) 08:58:46.80 .net (+4,-29,-40)
起動時間が気になって、use-packageを使って遅延ロードを導入すると、5秒から1.5秒ぐらいまで高速化できた
137 : 名無しさん@お腹 - 2016/02/05(金) 09:23:00.31 .net (-1,-29,-12)
起動時間がきになるならdaemon使えば良いのに
138 : 名無しさん@お腹 - 2016/02/05(金) 09:55:25.28 .net (+57,+29,-18)
ログイン時に起動したら落とすことはほぼ無いので、
起動時間の遅さは気にならないな。
139 : 130 - 2016/02/05(金) 12:07:18.57 .net (+8,-30,-113)
>>134
半分冗談のつもりだったんだけど…(next-line)はカーソル移動用でlispソースから
呼び出してはいけないとドキュメントに書いてある
End of Bufferが出るのもそういう理由からだと思う
本気で表示行にしたいのならnext-lineと同等の処理でlispコードから呼び出せる関数を
自作した方がいいかもね
最終的にはline-move → line-move-visualとかline-move-1を呼び出してるけどこれがかなり複雑…
140 : 127 - 2016/02/05(金) 13:56:22.28 .net (+12,-29,-46)
>>130
ありゃ、(next-line)も使ってはダメだったんですね……。無知ですみません。昔何かのときに(beginning/end-of-buffer)を使ってはいけないとは学習したんですが、これもNGでしたか……。

やっぱり関数書くしかないんですねー。そんなに特殊な使い方なのかなこれ……まぁ日本語文書くらいでしか意味ないかもですが。
Xyzzy使ったりmi使ったりいろいろ浮気してましたが、これを期にちゃんとやれということなんだろうか。
141 : 名無しさん@お腹 - 2016/02/05(金) 13:58:54.96 .net (+57,+29,-26)
仮想ライン番号はウィンドウサイズで変わるしねぇ
プログラミング用途だと確かに需要ない気がする
142 : 名無しさん@お腹 - 2016/02/05(金) 14:51:29.66 .net (+47,-29,-89)
>>136
use-packageって、そのパッケージが存在しなかったら自動で
elpaからとってきてくれるんだと思って頑張ってinit.el書き換えたのに、
存在しないパッケージはconfig実行しなくなるだけだった(´・ω・`)
143 : 127 - 2016/02/05(金) 15:10:10.17 .net (+112,+29,-50)
>>143
まあそうですよね……。そこは理解しているつもりなんですが、これほどまでに知見と情報の集まっているソフトウェアで、該当情報を見つけられないとは思わず^^;

というかみんな自分で関数書いてるのかな。。。または諦めて(そういう需要の人は)秀丸とかmiとか使ってるのかな。
144 : 名無しさん@お腹 - 2016/02/05(金) 15:24:34.89 .net (+86,+29,-2)
そういう需要自体がないんですよ
145 : 142 - 2016/02/05(金) 16:04:39.60 .net (+9,-30,-146)
;; パッケージを自動的にインストールします。(機能してないっぽい)
(dolist (package '(helm expand-region undohist multiple-cursors highlight-symbol undo-tree anzu magit git-gutter+))
(when (not (package-installed-p package))
(package-install package)))

ってコード書いてみたんだけどなんかダメだった。変なエラー出る。
みんなはinit.elさえ.emacs.dに入れたら勝手に神環境整うぜー!みたいなことやってないの?
146 : 名無しさん@お腹 - 2016/02/05(金) 16:14:10.56 .net (+8,-29,-61)
>>145
検索したらいくらでも例が出てきそうなもんだけど
あと use-package はオプションに自動インストールなかったっけ

自分は環境構築なんてそう何度も繰り返すものじゃないのに
起動ごとに毎回 package-installed-p が走るのは無駄だと思うから
init.el 内のコメントに書いてあるパッケージ名を拾ってインストールする関数書いて
新しい環境ではそれを手動で叩くようにしてるなぁ
147 : 名無しさん@お腹 - 2016/02/05(金) 16:33:04.85 .net (+0,-28,-17)
最近は新しい環境すら.elpa以下コピーで済ませてる
148 : 142 - 2016/02/05(金) 17:20:03.34 .net (+5,-29,-6)
>>146
use-packageに自動インストールオプション!?誰か詳しく!
149 : 名無しさん@お腹 - 2016/02/05(金) 18:40:22.11 .net (+10,-30,-149)
>>148
README によると :ensure キーワードを指定するようです

単に指定する場合は (use-package パッケージ名 :ensure t) で OK
または (setq use-package-always-ensure t) で全てに適用

使いたいパッケージとインストールしたいパッケージの名前が違う場合は
(use-package 使いたいパッケージ名 :ensure インストールしたいパッケージ名)

MELPA 以外からインストールしたい場合は :pin キーワード (Emacs 24.4 以上) を
同時に指定して (use-package パッケージ名 :ensure t :pin melpa-stable) など
150 : 名無しさん@お腹 - 2016/02/05(金) 20:00:54.85 .net (+9,-30,-74)
ensureを知らない人がいて驚いたので、一応説明しておくと
use-packageは、パッケージの自動インストール、遅延ロードの設定、diminishの設定、複数環境でinit.elを共有するときの設定分岐等を
可読性高く簡単に設定できる
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について