2009-12-14 44 views
7

Vim安装在/ usr/share/vim中。Vim:snipMate插件不会触发代码片段完成

全部snipMate的文件夹已相应地添加到现有文件夹中的此类别(之后,自动载入,插件,片段等)。

从文档文件:

For instance, to change the trigger 
key to CTRL-J, just change this: 

ino <tab> <c-r>=TriggerSnippet()<cr> 
snor <tab> <esc>i<right><c-r>=TriggerSnippet()<cr> 

to this: 
ino <c-j> <c-r>=TriggerSnippet()<cr> 
snor <c-j> <esc>i<right><c-r>=TriggerSnippet()<cr> 

我想这个问题,以及 - 相同的结果。 当我尝试触发代码片段匹配时,它只会添加一个选项卡(4个空格,因此对应于我的.vimrc)。

P.S. filetype插件缩进。

更新时间:

cat /etc/issue 
Ubuntu 9.10 

下:inoremap

i <C-B>  * <C-R>=TriggerSnippet()<CR> 

:snoremap

s <C-B>  * <Esc>i<Right><C-R>=TriggerSnippet()<CR> 

我该如何解决这个问题?

+1

当你输入':inoremap'时你会得到什么? ''snoremap''如何?它显示这些映射吗? – 2009-12-14 11:11:35

+0

2Peter:已添加。 2显眼的编译器:是的,它显示了这些映射,但是当你使用它时 - 只增加了4个空格。有任何想法吗? – ep3static 2009-12-14 14:09:57

+0

您是否在粘贴模式下运行(没有映射会起作用)。尝试:设置nopaste – michael 2009-12-15 05:51:21

回答

4

我曾与snipMate一个问题,它不工作,所以我Issue 66 in their Issue Tracker碰到:

source ~/.vim/after/plugin/snipMate.vim 
+2

'source $ VIMRUNTIME/after/plugin/snipMate.vim' 位于文件C:\ Program Files \ Vim \ vim73 \ plugin \ snipMate.vim的末尾Windows 7上工作 – qmmr 2012-07-31 10:54:53

+0

@PrayagUpd我正在使用更新版本的vim和snipmate,问题消失了。请记住'source'命令必须在vimrc或gvimrc文件中调用,否则在终端中调用。 – 2014-03-20 01:57:37

+0

我在Windows上使用gVim 7.4。添加这一行的作品,但每次我打开一个文件,我需要首先执行':BundleInstall',否则我得到一个错误,告诉我'tlib'丢失。 – Guus 2014-03-31 16:53:26

23

我通过的.vimrc

+0

这对我有效...... – chutsu 2011-10-30 18:11:08

+0

我确实有一个用于切换粘贴模式的映射,但我没有把它当作嫌疑人,直到我看到您的帖子。谢谢。 – Pif 2012-06-13 08:17:25

+0

Holy Kaw!那怎么可能。它虽然工作! – tawheed 2013-03-17 12:42:50

1

去掉“设置粘贴”项解决了这个问题就我而言,我经历过同样的事情。 SnipMate自动完成功能无效。其中一个原因是由其他插件使用。键入:verbose imap <Tab>将向您显示哪个插件使用该密钥并导致冲突。您可以在.vimrc中注释该插件,也可以将其更改为使用其他密钥。

+0

占用了Tab键的,非常感谢。 – Dmitrii 2016-12-09 11:01:21