私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレEmacs Part 49
emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
magit入れたんだけど
間違えて保存したファイルを戻す
ベストな方法を教えてください。
間違えて保存したファイルを戻す
ベストな方法を教えてください。
別にb bが普通のやり方だよ
カーソルをファイルの位置に移動させてもファイル名聞かれるのは
checkoutが危険な操作だから念の為聞いてるんじゃないかと思われる
カーソルをファイルの位置に移動させてもファイル名聞かれるのは
checkoutが危険な操作だから念の為聞いてるんじゃないかと思われる
macでgrepを使いたいので、emacs上でmoccur-grep-findしました。
ところが「nに下点がつく」などのunicodeにある飾りつき文字を検索してくれません。
解決策はないでしょうか?
別のエディターとかツールを使ったほうがいいというアドバイスも
歓迎です
ところが「nに下点がつく」などのunicodeにある飾りつき文字を検索してくれません。
解決策はないでしょうか?
別のエディターとかツールを使ったほうがいいというアドバイスも
歓迎です
org-modeの小見出し(*)から次の小見出しまでの行数を表示してくれるようにするコードってどこかにないでしょうか(探し回ったけど見つからない&自分で書く能力はありません……)。
org-modeで長文を書きたいんですが、小見出し間の行数が重要な文書なのです。いちいちモードラインを見て引き算すればいいんですが、小見出し全部畳んだ状態で一望できると便利だなぁ、と。
org-modeで長文を書きたいんですが、小見出し間の行数が重要な文書なのです。いちいちモードラインを見て引き算すればいいんですが、小見出し全部畳んだ状態で一望できると便利だなぁ、と。
>>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-:にコピペすれば行数が出るよ
エラーチェックとか見出し行を含めるのかとか考慮してないけどね
(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-:にコピペすれば行数が出るよ
エラーチェックとか見出し行を含めるのかとか考慮してないけどね
>>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 ---"))))
見やすくしたバージョン 見出し行を含んだ行数を*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 ---"))))
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
まず、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
spacemacsはすでにemacs使ってきた人にはどうでもいいんだよね
ターゲット層の絞りこみが変なプロジェクト
ターゲット層の絞りこみが変なプロジェクト
>>112
確かにそうかもしれない。ただ、起動がめっちゃ早いのはいいと思った。
今は、ターミナルからspasemacsを起動すると文字がズレて表示される問題について調べてるんだけど
誰か原因わかるやついる?なんかカーソル動かすとその行だけリフレッシュされて治るみたいな。
なぜかeclipseでもこのバグが起こってるからEl Capitanのせいなのかもしれないけど。
確かにそうかもしれない。ただ、起動がめっちゃ早いのはいいと思った。
今は、ターミナルからspasemacsを起動すると文字がズレて表示される問題について調べてるんだけど
誰か原因わかるやついる?なんかカーソル動かすとその行だけリフレッシュされて治るみたいな。
なぜかeclipseでもこのバグが起こってるからEl Capitanのせいなのかもしれないけど。
コード見て(私でも)想像付いたように、
*Messages*バッファに綺麗に列挙されるんですね。
バッチリです、ありがとうございます!
イチイチ目で見て引き算しないで済んで、すごく助かります。
*Messages*バッファに綺麗に列挙されるんですね。
バッチリです、ありがとうございます!
イチイチ目で見て引き算しないで済んで、すごく助かります。
>>114
グラボが瀕死の予感
グラボが瀕死の予感
emacs -q だとメモリー15MBしか食わないのに普通に init.el ロードすると180MBも食うのは何であ
emacs関係なさそうって自分で突き止めてんだから
あとはmac板で質問厨するかサポートに電話してサポートを困らせるか
お前のmacを叩き割ってオモシロ画像としてツィートするくらいしかできないだろ
あとはmac板で質問厨するかサポートに電話してサポートを困らせるか
お前のmacを叩き割ってオモシロ画像としてツィートするくらいしかできないだろ
Mac系の板にEmacsスレないんだっけ
この板にMacの話持ち込まれても正直困る
この板にMacの話持ち込まれても正直困る
>>117
NTEmacsだがemacs -Qで25MB emacs-Q -nwで10MB普通に起動で62MBだな
helmとか大物が常駐してるから妥当な数字だと思う
180MBとか大量にメモリ使ってるpackageがあるんだろうね
NTEmacsだがemacs -Qで25MB emacs-Q -nwで10MB普通に起動で62MBだな
helmとか大物が常駐してるから妥当な数字だと思う
180MBとか大量にメモリ使ってるpackageがあるんだろうね
>>124
spacemacsのテーマもあるからこっちも入れなきゃダメとかかな?
http://github.com/nashamri/spacemacs-theme
ちなみに自分は結局まだspacemacs使ってなくて
でも、spacemacsのテーマがかっこよかったからmonokaiからspacemacs-themeに変更した。
ちなみにモードラインはシンプルなのが好きだからspaceline入れてない。
ていうか、terminalからemacs立ち上げて使ってるから入れてもまともに反映されないから不要な感じ。
spacemacs-theme入れてみて結果教えてちょ
spacemacsのテーマもあるからこっちも入れなきゃダメとかかな?
http://github.com/nashamri/spacemacs-theme
ちなみに自分は結局まだspacemacs使ってなくて
でも、spacemacsのテーマがかっこよかったからmonokaiからspacemacs-themeに変更した。
ちなみにモードラインはシンプルなのが好きだからspaceline入れてない。
ていうか、terminalからemacs立ち上げて使ってるから入れてもまともに反映されないから不要な感じ。
spacemacs-theme入れてみて結果教えてちょ
ちなみに導入方法は
M-x package-install spacemacs-themeして
init.elに(load-theme 'spacemacs-dark t)追加でいけた。darkとlightがあるらしい。
M-x package-install spacemacs-themeして
init.elに(load-theme 'spacemacs-dark t)追加でいけた。darkとlightがあるらしい。
行番号表示を「表示行」にするのってかなり難儀なんでしょうか(正式な呼び名が分からない……秀丸みたいなテキストエディタ的挙動といいますか)
>>125
ありがとう。
週末に時間ができたらコード見てどうやって動いてるか見てみます。
debian sid emacs24.5で試してるけど、spacemacsカーソル動かしてもドミノ倒しならないです。
ありがとう。
週末に時間ができたらコード見てどうやって動いてるか見てみます。
debian sid emacs24.5で試してるけど、spacemacsカーソル動かしてもドミノ倒しならないです。
>>127
linum-modeの事を言ってると思うけど、linum-update-windowの下から3行目の
(forward-line)を(next-line)にするだけで表示行に行番号が付くよ
ただしクソ重くなるけどねw
Emacsはカーソルは(next-line)使って物理行(表示行)で移動してるけど
かなり重い処理みたいだな
linum-modeの事を言ってると思うけど、linum-update-windowの下から3行目の
(forward-line)を(next-line)にするだけで表示行に行番号が付くよ
ただしクソ重くなるけどねw
Emacsはカーソルは(next-line)使って物理行(表示行)で移動してるけど
かなり重い処理みたいだな
>>129
いただいた返事を初見で見たときに「両方です」と思いました。
はい、折り返し行にも行番号の割当が欲しいのです。linum-modeで行番号を表示して、line-move-visual tで折り返し行にもカーソルを動かせるようになりますが、行番号の数字は折り返しをカウントしてくれません(2、3行にまたがる行が1行でカウントされる)。
後者は……すみません、正確な意味がつかみ取れませんでした。↑でうまく全貌が伝わるといいんですが。
いただいた返事を初見で見たときに「両方です」と思いました。
はい、折り返し行にも行番号の割当が欲しいのです。linum-modeで行番号を表示して、line-move-visual tで折り返し行にもカーソルを動かせるようになりますが、行番号の数字は折り返しをカウントしてくれません(2、3行にまたがる行が1行でカウントされる)。
後者は……すみません、正確な意味がつかみ取れませんでした。↑でうまく全貌が伝わるといいんですが。
>>130
linum.elの該当箇所を発見、確かに表示行での行番号がバッチリ表示されました。ありがとうございます。
……でも起動時にEnd of Bufferというエラー(というかWarning)が表示されるようになってしまった。むむ、どこがあかんのだろう。
linum.elの該当箇所を発見、確かに表示行での行番号がバッチリ表示されました。ありがとうございます。
……でも起動時にEnd of Bufferというエラー(というかWarning)が表示されるようになってしまった。むむ、どこがあかんのだろう。
(global-linum-mode 1) をinit.elに書くと
必ず起動時にWarningを出すことだけは分かったので
(理由まで分からないのが知識のなさ)いったんそいつはコメントOutして
(global-set-key [f6] 'linum-mode)
で人力起動することにしました。どうせいったん起動したらまず落とさないし。
ともあれおかげさまで、表示行で行番号表示ができて嬉しいです。
ありがとうございました。
必ず起動時にWarningを出すことだけは分かったので
(理由まで分からないのが知識のなさ)いったんそいつはコメントOutして
(global-set-key [f6] 'linum-mode)
で人力起動することにしました。どうせいったん起動したらまず落とさないし。
ともあれおかげさまで、表示行で行番号表示ができて嬉しいです。
ありがとうございました。
>>128
Mac使ってる?emacs.app起動でなく、ターミナルで動かすとどお?
/usr/local/Cellar/emacs-mac/emacs-24.5-z-mac-5.15/Emacs.app/Contents/MacOS/Emacs -nw
で起動できるはず。
Mac使ってる?emacs.app起動でなく、ターミナルで動かすとどお?
/usr/local/Cellar/emacs-mac/emacs-24.5-z-mac-5.15/Emacs.app/Contents/MacOS/Emacs -nw
で起動できるはず。
起動時間が気になって、use-packageを使って遅延ロードを導入すると、5秒から1.5秒ぐらいまで高速化できた
ログイン時に起動したら落とすことはほぼ無いので、
起動時間の遅さは気にならないな。
起動時間の遅さは気にならないな。
>>134
半分冗談のつもりだったんだけど…(next-line)はカーソル移動用でlispソースから
呼び出してはいけないとドキュメントに書いてある
End of Bufferが出るのもそういう理由からだと思う
本気で表示行にしたいのならnext-lineと同等の処理でlispコードから呼び出せる関数を
自作した方がいいかもね
最終的にはline-move → line-move-visualとかline-move-1を呼び出してるけどこれがかなり複雑…
半分冗談のつもりだったんだけど…(next-line)はカーソル移動用でlispソースから
呼び出してはいけないとドキュメントに書いてある
End of Bufferが出るのもそういう理由からだと思う
本気で表示行にしたいのならnext-lineと同等の処理でlispコードから呼び出せる関数を
自作した方がいいかもね
最終的にはline-move → line-move-visualとかline-move-1を呼び出してるけどこれがかなり複雑…
>>130
ありゃ、(next-line)も使ってはダメだったんですね……。無知ですみません。昔何かのときに(beginning/end-of-buffer)を使ってはいけないとは学習したんですが、これもNGでしたか……。
やっぱり関数書くしかないんですねー。そんなに特殊な使い方なのかなこれ……まぁ日本語文書くらいでしか意味ないかもですが。
Xyzzy使ったりmi使ったりいろいろ浮気してましたが、これを期にちゃんとやれということなんだろうか。
ありゃ、(next-line)も使ってはダメだったんですね……。無知ですみません。昔何かのときに(beginning/end-of-buffer)を使ってはいけないとは学習したんですが、これもNGでしたか……。
やっぱり関数書くしかないんですねー。そんなに特殊な使い方なのかなこれ……まぁ日本語文書くらいでしか意味ないかもですが。
Xyzzy使ったりmi使ったりいろいろ浮気してましたが、これを期にちゃんとやれということなんだろうか。
仮想ライン番号はウィンドウサイズで変わるしねぇ
プログラミング用途だと確かに需要ない気がする
プログラミング用途だと確かに需要ない気がする
>>136
use-packageって、そのパッケージが存在しなかったら自動で
elpaからとってきてくれるんだと思って頑張ってinit.el書き換えたのに、
存在しないパッケージはconfig実行しなくなるだけだった(´・ω・`)
use-packageって、そのパッケージが存在しなかったら自動で
elpaからとってきてくれるんだと思って頑張ってinit.el書き換えたのに、
存在しないパッケージはconfig実行しなくなるだけだった(´・ω・`)
>>143
まあそうですよね……。そこは理解しているつもりなんですが、これほどまでに知見と情報の集まっているソフトウェアで、該当情報を見つけられないとは思わず^^;
というかみんな自分で関数書いてるのかな。。。または諦めて(そういう需要の人は)秀丸とかmiとか使ってるのかな。
まあそうですよね……。そこは理解しているつもりなんですが、これほどまでに知見と情報の集まっているソフトウェアで、該当情報を見つけられないとは思わず^^;
というかみんな自分で関数書いてるのかな。。。または諦めて(そういう需要の人は)秀丸とかmiとか使ってるのかな。
;; パッケージを自動的にインストールします。(機能してないっぽい)
(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に入れたら勝手に神環境整うぜー!みたいなことやってないの?
(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に入れたら勝手に神環境整うぜー!みたいなことやってないの?
>>145
検索したらいくらでも例が出てきそうなもんだけど
あと use-package はオプションに自動インストールなかったっけ
自分は環境構築なんてそう何度も繰り返すものじゃないのに
起動ごとに毎回 package-installed-p が走るのは無駄だと思うから
init.el 内のコメントに書いてあるパッケージ名を拾ってインストールする関数書いて
新しい環境ではそれを手動で叩くようにしてるなぁ
検索したらいくらでも例が出てきそうなもんだけど
あと use-package はオプションに自動インストールなかったっけ
自分は環境構築なんてそう何度も繰り返すものじゃないのに
起動ごとに毎回 package-installed-p が走るのは無駄だと思うから
init.el 内のコメントに書いてあるパッケージ名を拾ってインストールする関数書いて
新しい環境ではそれを手動で叩くようにしてるなぁ
>>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) など
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) など
ensureを知らない人がいて驚いたので、一応説明しておくと
use-packageは、パッケージの自動インストール、遅延ロードの設定、diminishの設定、複数環境でinit.elを共有するときの設定分岐等を
可読性高く簡単に設定できる
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 スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- Emacs Part 40 (1001) - [92%] - 2012/9/7 0:30
- Emacs Part 46 (984) - [92%] - 2014/12/24 14:15
- Emacs Part 39 (990) - [92%] - 2012/2/9 19:45
- Emacs Part 42 (1001) - [92%] - 2013/6/9 5:15 △
- Emacs Part 43 (1001) - [92%] - 2013/12/14 11:30
- Emacs Part 44 (1001) - [92%] - 2014/2/8 8:01 △
- Emacs Part 41 (1001) - [92%] - 2012/12/24 4:15
- Emacs Part 45 (1001) - [92%] - 2014/6/23 9:45
- Emacs Part 47 (995) - [92%] - 2015/4/19 13:01
- Emacs Part 48 (997) - [92%] - 2015/12/9 15:15
- Emacs Part 34 (1001) - [84%] - 2010/6/21 19:45 ○
- Emacs Part 33 (1001) - [84%] - 2010/3/9 20:01 ○
- Emacs Part 32 (1001) - [84%] - 2009/12/20 2:04 ○
- Emacs Part 35 (1001) - [84%] - 2010/9/19 17:01
トップメニューへ / →のくす牧場書庫について