Emacs Part 50 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>715
「:noh」が直近の検索によるハイライトを解除するっていうことならそのまま「:noh[Enter]」って打ち込めばいいと思う
違うのなら「:noh」の意味をちゃんと説明すると誰か知っている人が教えてくれるかもかも >>715
SPC SPC で「clear highlight」って入力して調べてみたけど
SPC s c の spacemacs/evil-search-clear-highlight のことかな? >>716
その意味で有ってるのですが頻繁に使うのでSPCからのコマンドで実行できるように割り振っておこうかと思いまして
>>717
ありがとうございます!まさにその通りでした!自分で割りふろうと思ってたのですが初めからちゃんと用意してあったんですね… 19.29って1995年か、年季の入った脆弱性ですね。 今回の脆弱性をイマイチ理解してないけど、どうやらEmacsでメーラーを起動してるような人だと
メールを見ただけで任意のLispコードが実行されてしまう可能性があるっぽい事が書いてあった
Gnus使ってるから3行のワークアラウンドのコードをinit.elに追加した x-displayの処理前チェックがされていないから、
<x-display><param>(when (message "hello world") nil)</param>test</x-display>
なんてことができちゃうという話ですね
あと、
19.29ってのは単なる間違いで、1999年に
emacs-pretest-21.0.90~7452
向けに導入されたとのこと 25.3は、x-displayの機能潰した以外本当になにも変わってないから
別に新しくしなくても手でel書き換えるとか、init.elで機能潰すとかでいいじゃん 24.5の俺が通ります
マイナーバージョンが3になったからぼちぼち考える これかな?
[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する
2017/9/22
https://www.amazon.co.jp/dp/477419235X 個人的には「詳細 Emacs calc」みたいな本が欲しい Emacs Lispの最新リファレンスがあればいいや pp-to-stringで質問です。
たとえば、以下のようなコードがあります。
(let ((word (pp-to-string '(:string "hoge\nhage"))))
(print (mapcar (lambda (x)
(format "0x%02X" x)) word)))
wordのlisp-objectをpp-to-stringで変換し
価した時の値をhex表示します。
("0x28" "0x3A" "0x73" "0x74" "0x72" "0x69" "0x6E" "0x67" "0x20"
"0x22" "0x68" "0x6F" "0x67" "0x65" "0x5C" "0x6E" "0x68" "0x61" "0x67" "0x65" "0x22" "0x29" "0x0A")
こんな感じになり、改行のエスケープコードが非エスケープ
0x0A(\n) -> 0x5C(\) 0x6E(n) に変換されてしまいます。
これを回避する方法はないでしょうか?
理想としては↓を評価した時と同じになってほしいのです。
(let ((word "(:string \"hoge\nhage\")"))
(print (mapcar (lambda (x)
(format "0x%02X" x)) word)))
("0x28" "0x3A" "0x73" "0x74" "0x72" "0x69" "0x6E" "0x67" "0x20"
"0x22" "0x68" "0x6F" "0x67" "0x65" "0x0A" "0x68" "0x61" "0x67" "0x65" "0x22" "0x29")
つまり lisp-object
'(:string "hoge\nhage")
を変換したときに、
"(:string \"hoge\nhage\")"
という出力を得るには何をするのが適切でしょうか?
この例では \n だけを書いていますが \t など他のエスケープも文字コードに変換されずに、
エスケープコードとして文字列にのこしたままの出力を得たいのです。
この結果が得られるのであれば、pp-to-stringでなくても問題ありません。 これじゃだめ?
最後の "0x0A" は入っちゃうけど
(let* ((pp-escape-newlines nil)
(print-quoted nil)
(word (pp-to-string '(:string "hoge\nhage"))))
(print (mapcar (lambda (x)
(format "0x%02X" x)) word))) ごめん、二行目の (print-quoted nil) は意味ないやね >>731
> 個人的には「詳細 Emacs calc」みたいな本が欲しい
欲しい。
あとorg-modeの表計算も。 左右に画面分割して両方に同じバッファを映した状態で、左のバッファの続きを右のバッファで表示するってコマンド、何て名前だったかの
たまに使いたくなるけどその度に名前を忘れてしまう >>738
follow-modeだ! ありがとう助かりました >>733
pretty print じゃなくていいなら
(format "%S" '(:string "hoge\nhage"))
でどうかな
%sでなく%Sで >>734
ありがとうございます。
助かりました。
(pp-escape-newlines nil)
で行けました。
実は、投稿前にこれを試していたのですが、
その時はうまく動いておらず、ダメだと思っていました。
しかし、scratchバッファで
pp-to-stringを評価した時は正しく動いていたので疑問に思って調べたら、
凡ミスだったことに気が付きました。
自分の場合は、(pp-escape-newlines nil)とpp-to-stringを使用しているファイルをバイトコンパイルしていたのですが
バイトコンパイルしている場合のみ、正しく動いておりませんでした。
理由は、 (require 'pp) をしていない状態でバイトコンパイルされており、
let でバインド時に pp-escape-newlinesがglobal-varであると認識できず、
ただのlocal-varとしてcurrent-bindingされていたためでした。
最終的には
(require 'pp)と(let ((pp-escape-newlines nil)) (pp-to-string args))
で正常動作するようになりました。 >>740
ありがとうです。
format %Sでもいいんですね
lisp-object出力できることすっかりわすれてました。
read関数をつかっていたので
対応する pp-to-string を使うことに固執してましたけど、
formatのほうがシンプルですね。
pp-to-stringだと リスト内リストとかに改行はいってたりしますし、
こっちも実験してみます。 学生に「どうして、その会社の内定を断ったの」と聞くと、以前は、給料が安い、休みが少ない、転勤がある、仕事が
詰まらない、業績が下がっている、だったのが、最近では、開発環境が古臭い、自分でカスタマイズが許されない、
社員の多くが○○エディタを使っていた、というのも出てきている。
https://twitter.com/tmnghryk/status/587413159440355329
○○の中身はたぶんvim avyさらに進化してるな
avy-zap とか avy-kill-ring-save-whole-line とか avy-kill-ring-save-region
相変わらずキー割り当てに困る そういえばたまに
word star like
なキー操作って単語が出てくるけど
word starって何よ?? >>730
ありがとう
改訂版でたんだ。
たすかる WordStarは、マイクロプロ・インターナショナルがCP/M用に開発したワープロソフトなんだよな(´・ω・`)
後にMS-DOS向けに移植され、1980年代中盤まで市場を独占したんだよな(´・ω・`) >>753
WordStar、懐かしい。修士論文はWordStarで書いた。
その後渡米したら、みんなWordPerfectを使っていて、
日本がいかに後進的か思い知ったよ。 wordstar, word perfectいずれも一世を風靡したソフトだね
個人的にはダイヤモンドカーソルがemacsより格段に使いやすくてよかった flyspell ってデフォルトでジャンプ機能ついてないの? htパッケージが消えたり復活したり
連想配列は使うなってことか? revive.elは最近のだと何が対応してるの?
OSのサスペンドがバグってるので久しぶりに必要になった htパッケージ消えたせいで連想配列使っている古いパッケージが全滅してなかった? 特定のモード起動でHelm切るにはどうしたらいいの?
具体的にはYaTeXモードでHelmを起動したくない YaTeX 使わないなら auctex を使うの? 765とは別人だが、15年くらい前(?)にYaTeXのソースに癖あり過ぎで嫌になり
素のlatexモード使うようになったことはあった。 YaTeX に比べての auc の魅力を教えてほしい。
YaTeX の一括インデントの挙動があまり好きじゃなくて、乗り換えを少し悩んでる。 自分の好みは自分しかわからないのだから、自分で試した方が早いんじゃないか?
それか、YaTeXの仕様の気に入らない点がauctexでどうなってるか、ピンポイントで聞くか たいていの人はyasnippetとM-!で足りるんじゃないの 結局、helmはモード毎にon/off設定はできないってことでおk?
M-xで切り替えるか helmを切るって言うのが具体的に何をしたいかわからんが、そのモード用のキーバインド定義すればいいんじゃないのか YaTeXはメジャーモード
Helmはマイナーモード
こちらからは以上です ん?特定のラッパーじゃなくhelm-mode自体、Emaca23の人なのか?
24以降では無効なはずだが。23
からhelm-mode無効にする方法はドキュメントに書いているし
普通にhookで呼ぶだけでしょ 依存してるパッケージが沢山あったのにhtパッケージが一年ぐらい消えてたのは何で? >>778
普通に使えてないか?
自分はパッケージ管理にel-get使ってるけど
packege.elユーザもMELPAをリポジトリに追加している限り使えるよね auctexをつかっています.
(defun latex-compile ()
(interactive)
(save-buffer)
(TeX-command "Latexmk" 'TeX-master-file))
(eval-after-load 'latex
'(define-key LaTeX-mode-map (kbd "C-c C-t") 'latex-compile))
としてC-c C-t,C-c C-l (TeX-recenter-output-buffer)でコンパイルしているのですが,これをまとめたいです.そこで以下のようにしたのですが上手くいきません.なぜでしょうか?
(defun latex-compile ()
(interactive)
(save-buffer)
(TeX-command "Latexmk" 'TeX-master-file)
(TeX-recenter-output-buffer)) >>781
auctex については全く知らないんだけど、
"lisp/textmodes/tex-mode.el" 内で
(defun tex-recenter-output-buffer (linenum) ...)
を確認すると、引数が要るから
(tex-recenter-output-buffer nil)
とすべきか
(call-interactively 'tex-recenter-output-buffer)
とするとか? >>783
ありがとうございます。以下で望む動作ができました (_ _;)
(defun latex-compile ()
(interactive)
(save-buffer)
(TeX-command "Latexmk" 'TeX-master-file)
(call-interactively 'TeX-recenter-output-buffer)
(other-window -1)) >>784
才能を引き出すことをできて、よかったw 非IT系の職種なんだけど、mdファイルを頻繁に見かけるようになったので、
そろそろMarkdownを勉強しようかと思っています。
M-x markdown
で、markdown-modeになったので手元のEmacsにはすでに含まれていることが確認できました。
当面はこれを使って学習してみます。
/usr/bin/markdownをインストールするとプレビューもできました。
そこで質問なのですが、
TeXの場合は、標準でついてくるTeX modeの他に、YaTeXとかAUCTeXとかがあります。
Markdownの方も、何かヘビーユーザ用で広く普及したものがあるのでしょうか。 >>786
Markdownはレガシーな規格であり、現在はAsciidocが主流になっています 久々に来たけど全然伸びてないな
みんなどこに行ってしまったんや NeovimとSpacemacsの時代じゃろ
ttps://www.slant.co/versus/62/69/~neovim_vs_spacemacs emacsをvimっぽくするやつか
両方知ってる人には便利なんだろうな qiitaのemacs関連記事は割と賑わってる印象 画面分割ってバッファと紐付け?して
各個独立して動くようにしないと意味ないよね? エスパーだけどtmuxみたいにしたいんでしょ
emacsで画面分割してもすぐ壊れるからこのへんが参考になるかも
ttp://fukuyama.co/sticky-buffer
ttp://lists.gnu.org/archive/html/help-gnu-emacs/2007-05/msg00975.html C-x 2 とかで画面だけ割って同じファイルが上下にでてるだけとか 暗号解読スレになってるな
「何に困っていて」、「どうしたいか」を書けばいいだけなんだが。それがそんなに難しいのか? 例えば縦に2分割して、左の画面に何か文字を
打ち込むと、右の画面にも同じ文字が自動で打ち込まれる
のですが、元の画面を残しながら、(例えば右)
左の画面で編集を続けたい。 -----------
| a b c | ------> | a b c | | a b c |----->| a b c || a b c |
| | | d e f || d e f |
右 の 左画面にd e fと打ち込むと、右画面にも勝手にd e fと追加される。
理想 a b c | a b c
d e f | ファイルコピーして、別名ファイルとして開くしかないんじゃね? それはバージョンコントロールとかバージョン管理と言うものを学ぶ必要がある
本格的にツールを使ってもいいけど単にファイルやバッファを別名で複製する何かを使うだけでも望んでる事は出来るだろう
何が有るかは知らん 元のをコメントアウトして残しとくのが一番楽だと思う
ところでFiremacsやKeysnailの代替でいいのがあったら教えて欲しいんだが…… >>798 意味はある
2か所以上同時に見ながら編集する事はよくある
>>807 みたいにしたいならマクロで新規バッファにコピーして
カーソル移動のコマンドでできそう ×2か所以上同時に見ながら編集する事はよくある
○2か所以上同時に見ながら2か所とも編集する事はよくある ベースはこんな感じか。
元を見ながら編集も使えるかもしれん
(defun my/duplicate-buffer ()
(interactive "")
(save-excursion
(copy-to-buffer (temp-buffer-window-setup "viewtmp") (point-min) (point-max))
(split-window-horizontally)
(switch-to-buffer-other-window "viewtmp"))
) もう少し汎用的にしたいならバッファ名を元バッファから生成するとか、分割絡みを調整すれば使えるかもなぁ。
用途的にはewwで開いたサイトを元に編集とか諸々 Emacsだけでお手軽にバージョン管理が出来るようになって欲しいなと常々思ってる
だから手始めにdiffを内包してほしいんだよね
elispだけでdiffを実装するのも不可能ではないだろうけど厳しいよね…
バグったら洒落にならんし ■ このスレッドは過去ログ倉庫に格納されています