emacs で選択したテキストをテキストで囲みたいと思います。
行の選択から:
First item
Second item
私は取得したい:
\begin{itemize}
\item First item
\item Second item
\end{itemize}
C-c C-e
AucTeX で使用すると、選択範囲が 1 行に折りたたまれます。
\begin{itemize}
\item First item Second item
\end{itemize}
yasnippet の次のスニペット:
# -*- mode: snippet -*-
# name : wrap item
# expand-env : ((yas-wrap-around-region nil) (item-string "\item "))
# binding : C-M-z
# --
\begin{itemize}
`(let ((text (yas-selected-text))) (when text (replace-regexp-in-string "^" item-string text)))` $0
\end{itemize}
与えます:
\begin{itemize}
item First item
item Second item
\end{itemize}
(item-string "\\item ")
代わりに使用してみましたが、エラーが発生します:
[yas] elisp error: Invalid use of '\' in replacement text
他のコンテキストでも使用できるように変更できるので、スニペットを機能させたいと思います。