Saya mencoba untuk menulis yasnippet untuk memasukkan potongan kode ke file R Markdown. Saya menggunakan polymode untuk memiliki beberapa mode utama (penurunan harga, ESS [S]) dalam satu file. Ini cuplikan saya:
# -*- mode: snippet -*-
# name: chunk
# key: chunk
# --
\`\`\`{r $1}
$0
\`\`\`
Ketika saya mencoba memasukkan cuplikan ke file .Rmd dalam mode penurunan harga, saya mendapatkan kesalahan ini:
Error in post-command-hook (yas--post-command-handler): (error "Marker points into wrong buffer" #<marker at 7 in test.Rmd>)
Cuplikan memang muncul dan kursor saya berada di tempat yang benar (tepat sebelum kurung kurawal kedua):
```{r }
```
Ketika saya menekan tab saya mendapatkan yang berikut:
yas-next-field: Wrong type argument: overlayp, nil
Saya menduga bahwa saya mengalami interaksi dengan polymode: Saya dalam mode penurunan harga ketika saya memasukkan snippet, tetapi kemudian polymode mengubah isi dari kode chunk ke mode ESS [S]. Sepertinya pada akhirnya akan ada perintah untuk memasukkan potongan baru dalam polymode, tetapi sementara itu apakah ada cara untuk membuat potongan ini berfungsi?
M-x tws-insert-r-chunk
. Mungkin Anda ingin mengikat perintah ini ke pintasan keyboard - ada banyak pertanyaan di sini tentang pengaturan ikatan kunci.