vim怎么临时启用某个选项?

Vim、Emacs配置和使用
回复
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

vim怎么临时启用某个选项?

#1

帖子 fanhe » 2011-03-12 18:07

在打'.', '->', '::' 触发自动完成的时候我想临时设定completeopt+=longest,这个补全结束后就切换回去completeopt-=longest

而且为什么:set completeopt+=longest后的蛋疼设定

代码: 全选

timer
time
ti
这时候按<C-x><C-n>,就是强制输入为time,然后我想按<C-e>退回去,发现退回去后是time,如果按<C-y>接受,反而退回去为ti

真有想改源码的冲动!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim怎么临时启用某个选项?

#2

帖子 lilydjwg » 2011-03-14 12:26

改吧,我支持你!
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: vim怎么临时启用某个选项?

#3

帖子 fanhe » 2011-03-14 23:42

真蛋疼。

我决定了,自己做一个真正的把vim变成ide的项目
本来想把vim嵌入到codelite当编辑器的,但发现,真tmd折腾,还要改wxwidgets的源码,我还不如提取codelite的自动完成和项目管理模块出来继承进vim算了

我就是不解,网上tmd特么多的把vim变成ide的文章,就没一个有项目管理,调试,真正完好的自动完成的

我发现了个exvim,好像很强大的样子,但是还是要自己写makefile,不支持调试,对我来说,真没用

只能自己做了!
头像
Strange
帖子: 1824
注册时间: 2006-05-19 9:54
来自: Shanghai

Re: vim怎么临时启用某个选项?

#4

帖子 Strange » 2011-03-15 0:21

那个exvim也是中国人折腾的,也在这里发过贴呢 :em04
要是lz能做出比clewn更好的调试方案,那一定要强力推广的
ニンニク入れますか?
x60 with gentoo
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: vim怎么临时启用某个选项?

#5

帖子 fanhe » 2011-03-15 1:13

Strange 写了:那个exvim也是中国人折腾的,也在这里发过贴呢 :em04
要是lz能做出比clewn更好的调试方案,那一定要强力推广的
初步想定制pyclewn……,如果不好用就提取codelite的调试器

对比了一下codelite跟codeblocks的c++的完成,codelite甩了codeblocks几条街啊
弹不出来
弹不出来
screenshot1.png
据我所知,codelite仅仅是用了ctags而已,但是也能做到这种比较理想的效果
codeblocks的自动完成是插件式的,重复发明着车轮

首先目标就是把codelite的这些组件继承进vim :em05
附件
这也没问题
这也没问题
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: vim怎么临时启用某个选项?

#6

帖子 fanhe » 2011-03-24 17:15

代码: 全选

inoremap <silent> <buffer> <C-a> <C-r>="\<C-x>\<C-o>"<Cr><C-r>=IfContinue()<Cr>

function! IfContinue()
	if !pumvisible()
		return "\<C-e>\<C-n>"
	else
		return ""
	endif
endf

setlocal dict+=~/.vim/dict/complete-dict
setlocal complete+=k
~/.vim/dict/complete-dict 为我的pydiction插件带的字典文件
回复