获取 R 片段以接受插入文本中的空格
Get R snippet to accept whitespace in inserted text
我正在尝试编写一个片段以允许我使用我的标准格式快速插入评论文本:
#######################################><###################
## [date and time goes here] ------------------------------
## [comment goes here, can span multiple
## lines]
#######################################><###################
这是我目前得到的:
snippet comm
`r paste0(
"#######################################><###################\n## ",
date(),
" -------------------------------\n## ",
eval(
paste0(
gsub(
".{1,51}\s?\K\b",
"\n## ",
gsub("\.", " ", paste0(text)),
perl = T
)
)
),
"###################################><###################\n"
)`
此代码段有效,但要求评论文本中没有任何 space。作为解决方法,我编写了将 .
解释为 space.
的代码片段
commlong.comment.text.1111111.aaaaaaa.2222222.bbbbbbb.3333333.ccccccc.4444444.ddddddd.5555555.eeeeeee.6666666.fffffff.7777777.ggggggg.8888888.9999999.0000000
#######################################><###################
## Tue Jul 24 12:40:55 2018 -------------------------------
## 1111111 aaaaaaa 2222222 bbbbbbb 3333333 ccccccc
## 4444444 ddddddd 5555555 eeeeeee 6666666 fffffff
## 7777777 ggggggg 8888888 9999999 0000000
## ###################################><###################
由于输入带有句点而不是 spaces 的评论很痛苦,我想修改我的代码片段以接受带有 spaces 的评论文本。任何想法如何做到这一点?谢谢
事实证明,这比预期的要容易得多。我发现,片段代码中不在 ticks `
内的任何内容都被解释为好像直接输入到 RStudio 的源代码窗格中一样。 `r ... `
中的任何内容都被评估为直接输入到控制台窗格中,但输出被插入到源窗格中的当前位置(相对于现有文本或周围的片段)。所以我写了这个片段,它基本上做了我想要的:
snippet commentblock
######################################## # # # # # # # # # # ## ## ## ## ##
# `r date()`
# ${1:title} -------------------------------------------------------
# ${2:text}
######################################## # # # # # # # # # # ## ## ## ## ##
我在标题后添加了 ---
,因为我希望文档大纲将此行解释为章节标题。可以编写一个片段来计算 title
中的字符数,并插入使 ---
一直到边缘所需的 -
的确切数量, 但弄清楚这一点似乎并没有很好地利用我的时间。
我正在尝试编写一个片段以允许我使用我的标准格式快速插入评论文本:
#######################################><###################
## [date and time goes here] ------------------------------
## [comment goes here, can span multiple
## lines]
#######################################><###################
这是我目前得到的:
snippet comm
`r paste0(
"#######################################><###################\n## ",
date(),
" -------------------------------\n## ",
eval(
paste0(
gsub(
".{1,51}\s?\K\b",
"\n## ",
gsub("\.", " ", paste0(text)),
perl = T
)
)
),
"###################################><###################\n"
)`
此代码段有效,但要求评论文本中没有任何 space。作为解决方法,我编写了将 .
解释为 space.
commlong.comment.text.1111111.aaaaaaa.2222222.bbbbbbb.3333333.ccccccc.4444444.ddddddd.5555555.eeeeeee.6666666.fffffff.7777777.ggggggg.8888888.9999999.0000000
#######################################><###################
## Tue Jul 24 12:40:55 2018 -------------------------------
## 1111111 aaaaaaa 2222222 bbbbbbb 3333333 ccccccc
## 4444444 ddddddd 5555555 eeeeeee 6666666 fffffff
## 7777777 ggggggg 8888888 9999999 0000000
## ###################################><###################
由于输入带有句点而不是 spaces 的评论很痛苦,我想修改我的代码片段以接受带有 spaces 的评论文本。任何想法如何做到这一点?谢谢
事实证明,这比预期的要容易得多。我发现,片段代码中不在 ticks `
内的任何内容都被解释为好像直接输入到 RStudio 的源代码窗格中一样。 `r ... `
中的任何内容都被评估为直接输入到控制台窗格中,但输出被插入到源窗格中的当前位置(相对于现有文本或周围的片段)。所以我写了这个片段,它基本上做了我想要的:
snippet commentblock
######################################## # # # # # # # # # # ## ## ## ## ##
# `r date()`
# ${1:title} -------------------------------------------------------
# ${2:text}
######################################## # # # # # # # # # # ## ## ## ## ##
我在标题后添加了 ---
,因为我希望文档大纲将此行解释为章节标题。可以编写一个片段来计算 title
中的字符数,并插入使 ---
一直到边缘所需的 -
的确切数量, 但弄清楚这一点似乎并没有很好地利用我的时间。