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

    元スレEmacs Part 51

    emacs覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    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 = :

    原因みつけた。これかぁ。
    http://github.com/magnars/multiple-cursors.el/commit/eba10208fc38889e792dca08f4c2067936c3008a#diff-749d0080f8fe91f23f075149bf069e64

    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 = :

    >>325
    >>326
    ありがとう。今度からはそうします。

    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 = :

    >>338>>332むけ

    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 しかないが、デフォルトではこんだけしかスニペットないの?


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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