• R语言
  • vim-r plugin 中 knitr包的 键映射问题

请问有人用vim-r 么,

我想用knitr包,

但是输入

`{r}

`

很麻烦,不知道是否已经做过键映射?

如果没有,怎么在.vimrc写这句?

多谢了

回复 第1楼 的 Ming.Su:http://www.lepem.ufc.br/jaa/r-plugin.html#r-plugin-features 自己查。不然你就自己nmap。

回复 第2楼 的 enthumelon:

谢谢!

但是我没有查到,

我想自己写nmap时,

我写的

imap RRR <C-R>{r}<C-M><C-M><ESC>

但是由于我的vim-r 中设置了自动补充括号,

所以当输入有{ 时,会产生

{

}

因此imap 后就出现问题。。

请问大哥有办法吗?

回复 第4楼 的 Ming.Su:imap RRR <CR><<chunkname,option>>=<CR>...<CR>@

我的个人意见是现在vim snipmate增加如下snippet:

<br />
snippet knitr<br />
	<<${1:chunk},${2,option}>>=<br />
		${3:Rcode}<br />
	@<br />
</p>

回复 第5楼 的 enthumelon:

非常感谢大哥,虽然不是很理解,但是完美的解决了我的问题。

imap RRR <CR><<chunkname,option>>=<CR>...<CR>@

另外我安装了vim snipmate 但是不会用,也没有找到你说的snippet, 我的文件如下所示,请方便时再次关照!

==================================================

ming@work:~/.vim/bundle/vim-snipmate$ tree

.

├── addon-info.json

├── after

│   └── plugin

│   └── snipMate.vim

├── autoload

│   ├── snipMate_python_demo.vim

│   └── snipMate.vim

├── Contributors.md

├── doc

│   └── SnipMate.txt

├── ftplugin

│   ├── html_snip_helper.vim

│   ├── snippets.vim

│   └── snippet.vim

├── plugin

│   ├── snipMateInterface.vim

│   └── snipMate.vim

├── README.html

├── README.md

└── syntax

├── snippets.vim

└── snippet.vim

7 directories, 15 files

回复 第6楼 的 Ming.Su:我现在在Win上,cygwin装不了r-plugins.记忆中是:

<br />
cp ~/.vim/r-plugin/r.snippets ~/.vim/bundle/vim-snipmate/autoload/<br />
vim ~/.vim/bundle/vim-snipmate/autoload/r.snippets<br />


加入我写的东西,然后在insert模式下输入knitr然后按Tab就能使用了。</p>

- vimrc注意开启syntax,indent等常规内容。我的vimrc太长了就不贴了.

- imap RRR <CR><<chunkname,option>>=<CR>...<CR>@ 的意思是insert mode下映射RRR键为后面那一串。杂说呢,如果你有输入的内容是RRR就会无比的麻烦(因为会被自动映射成后面那一串,所以最好加上Ctrl/Alt)