元スレEmacs Part 51
emacs覧 / PC版 /みんなの評価 :
301 = :
multiple-cursorsがnext-logical-lineを使っていてカーソルがずれるのをなんとか
しようとしている。以前は以下の設定でうまく動いていたような気がするんだが、
現在使っているemacs26.1ではカーソルがずれる時がある。やはりバージョンが
関係しているんですかね。
http://www49.atwiki.jp/ntemacs/pages/40.html
303 = :
emacsを久しぶりに立ち上げたらinit.elにエラーがある。
と出て、emacs --debug-initで立ち上げろと出たのでそうしたら
いろいろ表示されたのですが、これからどうやってdebugしたらいいのか
アドバイスください
304 = :
>>302
何でだろう…
ああわかった、多分 M-x next-logical-line の入力方法が違うからだ
私は二回目の M-x プロンプトでの入力に、上矢印キー(履歴)を使っていました
履歴を使わずコマンド名を直接タイプしたり
あるいは M-p (previous-history-element) で履歴を呼び出して使った場合は、再現しません
上矢印キー (previous-line-or-history-element) で履歴を使うと再現します
305 = :
>>304
つまり previous-line-or-history-element に何かあるのかな
と思ったけど previous-line-or-history-element が絡んでいなくても
変な位置に移動する別の手順を発見(Emacs 26.1)
emacs -Q で起動
*scratch* バッファが表示される。バッファ内容は:
;; This buffer is for text that is not saved, and for Lisp evaluation.
;; To create a file, visit it with C-x C-f and enter text in its buffer.
M-x column-number-mode RET (※これは位置の説明を明確にする為で症状再現とは関係ない)
M-< (バッファ先頭へ移動)
M-f (最初の単語 "This" 直後の空白の上へ移動。行,桁表示は 1,7)
M-x n-l-l RET (二行目の b の上に移動)
C-p (一行目の b の上に移動)
M-x C-p (ミニバッファに "Beginning of buffer" と表示される)
M-p (ミニバッファの表示が M-x next-logical-line となる)
RET (二行目の最初の単語 "To" 末尾、"o" の上に移動する。行,桁表示は 2,4。
ここで期待した結果は 2,7、"create" の "r" の上)
306 = :
>>303
いろいろ表示されたのを見て頑張ってくださいとしかw
ウチラはあんたの Emacs のバッファを見ることできないんだよ
307 = :
>>306
ホントそれ。
バックトレース見ればどの関数でエラー起きたかの
特定くらいは初心者でも自力でできそうな気がするので、
とりあえずそこをコメントアウトしとけば?
308 = :
>>303
エスパー「解決しておいたよ」
309 = :
>>303
久しぶりに emacs を立ち上げるくらい使っていないのならどうせ init.el だって大したことないと思うから ~/.emacs.d 以下全部削除すればいいんじゃない?
310 = :
>>305
開始位置に関係なく移動先はミニバッファの入力欄先頭位置と同じ桁になってる。
ミニバッファの入力が元のバッファの入力と同列に扱われてるね。
バグというべきかは悩む挙動…
311 = :
>>294
結局、interactiveに前後の論理行に移動するときに桁位置を保持したいだけなら、
next-lineでline-move-visualをnilにするだけ?
ただ、next-logical-lineの挙動は必ずしも一致しないけど、
この関数を使う機会があるのかな?
313 = :
とりあえず、logical-line問題はこれで解決できるかなぁ。
(defun ad-next-logical-line (orig-fun &rest args)
(if (eq last-command 'next-logical-line)
(let ((last-command 'next-line))
(apply orig-fun args))
(apply orig-fun args)))
(advice-add 'next-logical-line :around #'ad-next-logical-line)
(defun ad-previous-logical-line (orig-fun &rest args)
(if (eq last-command 'previous-logical-line)
(let ((last-command 'previous-line))
(apply orig-fun args))
(apply orig-fun args)))
(advice-add 'previous-logical-line :around #'ad-previous-logical-line)
でも、multiple-cursors問題はさらに別なところにあることが分かった。
temporary-goal-columnが保管される仕組みがあるみたい。
mc/cursor-specific-vars変数に定義されている。
314 = :
315 = :
結局、multiple-cursorsは以下で直った。wikiの設定に1行目を追加しただけで
した。ただ、どのような影響があるのかは分かりません..。
(delq 'temporary-goal-column mc/cursor-specific-vars)
(defun mc/last-command-check ()
(memq last-command '(mc/mark-next-like-this
mc/unmark-next-like-this
mc/skip-to-next-like-this)))
;; 縦移動時にカーソル位置が維持されないのを対策する
(advice-add 'mc/mark-next-like-this
:around (lambda (orig-fun &rest args)
(if (mc/last-command-check)
(let ((last-command 'next-line))
(apply orig-fun args))
(apply orig-fun args))))
316 = :
wikiに反映しました。cua-modeのように動きます。mc/cursor-specific-varsの影響は
確認できていませんが、良ければお使いください。
http://www49.atwiki.jp/ntemacs/pages/40.html
319 = :
そりゃそうだろ
俺はやってない
320 = :
逆に使わない意味がわからない。
ddskk で設定してる
321 = :
emacs --debug-initでemacsを立ち上げると次のようになりました。
エラーが出るのでデバッグモードで立ち上げました。
(show-paren-match-face nil
のところなのですが、最初は'#500のように書いていたのをnilにしました。
それでも下のエラーがでるのですが、どのようにすればいいか
できれば教えていただけないでしょうか?
Debugger entered--Lisp error: (error "Invalid face" show-paren-match-face)
internal-set-lisp-face-attribute(show-paren-match-face :background unspecified 0)
set-face-attribute(show-paren-match-face nil :background unspecified)
set-face-background(show-paren-match-face nil)
eval-buffer(#<buffer *load*> nil "/ホームディレクトリ/.emacs.d/init.el" nil t) ; Reading at buffer position 6390
load-with-code-conversion("/ホームディレクトリ/.emacs.d/init.el" "/ホームディレクトリ/.emacs.d/init.el" t t)
load("/ホームディレクトリ/.emacs.d/init" t t)
#f(compiled-function () #<bytecode 0x4009eced>)()
command-line()
normal-top-level()
322 = :
解決しました。
show-paren-match-face nilを
(set-face-attribute 'show-paren-match nil
:background 'unspecified
:underline "turquoise")
にしました。
http://typeinf-memo.blogspot.com/2016/06/emacsshow-paren-match-faceremoved.html
323 = :
>>321
それを >>303 の時点で晒せやw
ほんとどのような質問をしたら解答を得られやすいかとかまったく考えない人が増えたよね…
324 = :
>>323
質問していいですか?と尋ねたときに
イイトモー
といってもらえたら載せてたよ。謙譲したんだ
325 = :
>>324
ホント馬鹿だな…エラーの「内容」がわからないとそのエラーを解決することが不可能なことすら理解できないとは…
それとお前のどこがへりくだってんだよw
へりくだることは、エラーの解決を目標にする人間が他人に協力してもらうための情報提示を惜しむことじゃねえよ(´・ω・`)
326 = :
口頭なら「質問していいですか」と聞く意味もあるけど、
不特定多数が見る掲示板ではroundtrip一回分無駄に時間を費やすだけで無意味。
出せる情報は始めから全部出して、いきなり質問すべき。
質問の書き方は以下を参照。
http://www.hyuki.com/writing/techask.html
327 = :
>>326
こういうのを読ませても理解できないバカなんだから
スルーが一番
回答してくれる人達は
質問の仕方も理解してるんだよな…
質問内容を整理している間に自己解決してそうだけども
328 = :
>>327
おまえみたいなきもい奴にはviがお似合い
329 = :
>>328
横レスですまんが君には秀丸がお似合いだな
当たり前の内容が理解できないんだからわかりやすいシステムを使えばよろしい
330 = :
331 = :
秀丸か。秀丸でtex使うといいよと言ってた人、最近お亡くなりになった
332 = :
>>331
誰?
333 = :
【中庸はNG、右か左】 世界教師マⅰトレーヤ「新時代を切開くため70億人を2つのグループに分ける」
http://rosie.5ch.net/test/read.cgi/liveplus/1534987219/l50
PCとスマホのモニターを覗いている傍観者のみなさん、腹を決めてください。
334 = :
emacs で動作する peco コマンドを考えてみた。(epeco)
http://github.com/smzht/wsl-utils/blob/master/epeco
これはこれで便利なんだけど、入力データをすべて取り込んでからしか動作しない。
本家の peco はデータ入力途中でも絞り込みを開始できる。
この動きを epeco で実現できればさらに便利になるんだけど、なにか良いアドバイスが
あれば教えてほしい。
epeco 中では helm を使っているだけど、なんとなく入力するデータを作成するコマンドを
helm 側でコントロールできていないと、実現できないような気がしている。でも、epeco に
入っているデータはパイプで流れてくるものだからそれは実現できない。
shell-mode のように comint と絡めればできると思うけど、シェルスクリプトで動作
できるようにコマンドで完結させたい。
337 = :
それは今のバージョンでも実現できている。やりたいのは、epeco にパイプでつなげる
コマンドが終了する前に helm が起動して絞り込みをできるようにしたい。
helm-build-async-source 辺りを使えばできそうなきもするんだけど、helm の知識が
足りなくてうまく行っていない。なんとなく、パイプで流れてくるストリームを非同期
で処理するのはできないのかなぁと思ったりしている。
338 = :
Oさん
339 = :
340 = :
関係ないけど昔、YaTeXのサイトに秀丸用にポートしてた人の追悼文か何か
載ってなかったっけ。
341 = :
>>338
誰?
342 = :
>>334
とりあえずテストコード書いてみた。
http://gist.github.com/smzht/9fdb573297bb11937a96fc94d81e001f
query文字列を入れるとコマンドが再実行されることと絞り込みが効かなところ
から調べてみる。
343 = :
非同期バージョンの原型できた。
http://gist.github.com/smzht/0e4886b8857fe028d24388b8c70462e3
以下でテストできる。
while :; do date; sleep 1; done | epeco-test-2
さらに直したいところ。
・migemoが不安定(現在は使わないようにしている)
・epecoが終了しても入力元のコマンドが終了していなとコマンド全体が終わらない
(割り込みで終える必要がある)
もう少し。
344 = :
プロセスがうまく終了しないのはteeで対応できた。
http://gist.github.com/smzht/0e4886b8857fe028d24388b8c70462e3/revisions
megemoが使えないけど、まずは大体いいかんじ。コマンド化します。
345 = :
コマンド化しました。
http://github.com/smzht/wsl-utils/blob/master/epeco
helm ユーザの方は良ければご利用ください。migemo は継続調査とします。
以上、おじゃましました。
346 = :
Macでbrew cask install emacs-macを使用しています
OSは、最新版で、APFSです
dired及びwdiredで濁点や半濁点が入ったファイルを使うことができないのですが、
皆さんはどうでしょうか?
設定ファイルは、次の通り指定しています。
(require 'ucs-normalize)
(prefer-coding-system 'utf-8)
(setq file-name-coding-system 'utf-8-hfs)
(setq locale-coding-system 'utf-8-hfs)
347 = :
>>346
Linux版のEmacs-25.3ではwdired-modeで問題なし
Ext4で環境は全然違うから参考にならないかもしれないけど
関係ありそうな設定は以下
(require 'wdired)
(set-default-coding-systems 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(define-key dired-mode-map "r" 'wdired-change-to-wdired-mode)
(setq dired-recursive-copies 'always)
(setq dired-recursive-deletes 'always)
下の4行は関係なさそうだけど
350 = :
spacemacs って yasnippet は auto-completion layer でオンにできるが、肝心のスニペットってどこにあるの?
.emacs.d/layers/+completion/auto-completion/local/snippets
には emacs-lisp-mode しかないが、デフォルトではこんだけしかスニペットないの?
みんなの評価 :
類似してるかもしれないスレッド
- Emacs Part 54 (97) - [92%] - 2023/1/25 17:15
- Emacs Part 41 (1001) - [92%] - 2012/12/24 4:15
- Emacs Part 31 (1001) - [92%] - 2009/10/23 10:31 ○
- Emacs Part 52 (984) - [92%] - 2021/5/13 1:45
- Emacs Part 50 (978) - [92%] - 2017/12/29 18:45
- Emacs Part 53 (989) - [92%] - 2022/12/5 12:45
- Emacs Part 32 (1001) - [84%] - 2009/12/20 2:04 ○
- Emacs Part 33 (1001) - [84%] - 2010/3/9 20:01 ○
- Emacs Part 34 (1001) - [84%] - 2010/6/21 19:45 ○
- Emacs Part 35 (1001) - [84%] - 2010/9/19 17:01
- Emacs Part 36 (1001) - [84%] - 2011/3/1 5:02
- Emacs Part 37 (1001) - [84%] - 2011/6/20 19:47
- Emacs Part 38 (1001) - [84%] - 2011/11/29 0:01
- Emacs Part 39 (990) - [84%] - 2012/2/9 19:45
トップメニューへ / →のくす牧場書庫について