当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 18 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : [已解决]怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 12:44 

注册: 2008-05-22 9:43
帖子: 142
送出感谢: 0 次
接收感谢: 0 次
比如某个vim插件又一个函数如下
代码:
function! <SID>ColorSchemeExplorer()
......
endfunction


我想在vimrc中定义一个快捷键来调用这个函数,但是没成功,我是这样做的:
代码:
nmap <C-F11> :call <SID>ColorSchemeExplorer()<CR>


提示“Unknown function: ......”


最后由 iny 编辑于 2009-06-05 12:43,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 12:50 
头像

注册: 2009-04-11 23:46
帖子: 4030
系统: Arch Linux
送出感谢: 11
接收感谢: 110
<SID>即表示局限于脚本的(Script Id),在外部是不可见的,所以嘛,你只能先去改了源代码。


_________________
我的博客 http://blog.lilydjwg.me/
Dropbox,你值得拥有。
提问的智慧
Arch Linux 中文论坛

我的vimrc: http://git.io/vimrc


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 18:01 

注册: 2008-05-22 9:43
帖子: 142
送出感谢: 0 次
接收感谢: 0 次
lilydjwg 写道:
<SID>即表示局限于脚本的(Script Id),在外部是不可见的,所以嘛,你只能先去改了源代码。

请问要怎么改?我在插件中去掉了<SID>,然后在vimrc中响应的也去掉,还是提示函数没定义


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 20:51 
头像

注册: 2009-04-11 23:46
帖子: 4030
系统: Arch Linux
送出感谢: 11
接收感谢: 110
很奇怪!
你这样看看:
代码:
:function ColorSchemeExplorer


_________________
我的博客 http://blog.lilydjwg.me/
Dropbox,你值得拥有。
提问的智慧
Arch Linux 中文论坛

我的vimrc: http://git.io/vimrc


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 21:06 

注册: 2008-05-22 9:43
帖子: 142
送出感谢: 0 次
接收感谢: 0 次
还是没成功,我把这个插件放上来麻烦帮我看看,很简单的插件,我只是想给这个插件定义一个快捷键,免得每次调用这个插件都要在命令行输入:ColorSchemeExplorer,太长记不住,而且也麻烦


附件:
csExplorer.rar [1.11 KiB]
被下载 7 次
页首
 用户资料  
 
6 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 21:18 

注册: 2007-10-27 1:04
帖子: 403
送出感谢: 0 次
接收感谢: 1
没有必要修改这个脚本——你直接把:ColorSchemeExplorer再绑定一个键就行了。

比如:

nnoremap <C-F11> :ColorSchemeExplorer<CR>

另外,你这个脚本有点鸡肋的味道。

:colorscheme <Tab>

多按几个tab,vim自动就给你补全出来了,不用打什么字。为了“改变colorscheme”这种不常用的功能而用掉一个绑定键位,我觉得划不来。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 21:23 

注册: 2007-10-27 1:04
帖子: 403
送出感谢: 0 次
接收感谢: 1
送你几个好用的函数:

function! MySys() " return OS type, eg: windows, or linux, mac, et.st.. {{{1
if has("win16") || has("win32") || has("win64") || has("win95")
return "windows"
elseif has("unix")
return "linux"
endif
endfunction " }}}1

function <SID>FontSize_Enlarge()
if MySys() == "linux"
let pattern = '\<\d\+$'
elseif MySys() == "windows"
let pattern = ':h\zs\d\+\ze:'
endif
let fontsize = matchstr(&gfn, pattern)
let cmd = substitute(&gfn, pattern, string(fontsize + 1), 'g')
let &gfn=cmd

let fontsize = matchstr(&囗囗囗, pattern)
let cmd = substitute(&囗囗囗, pattern, string(fontsize + 1), 'g')
let &囗囗囗=cmd
endfunction
nnoremap <A-+> :call <SID>FontSize_Enlarge()<CR>

function <SID>FontSize_Reduce()
if MySys() == "linux"
let pattern = '\<\d\+$'
elseif MySys() == "windows"
let pattern = ':h\zs\d\+\ze:'
endif
let fontsize = matchstr(&gfn, pattern)
let cmd = substitute(&gfn, pattern, string(fontsize - 1), 'g')
let &gfn=cmd

let fontsize = matchstr(&囗囗囗, pattern)
let cmd = substitute(&囗囗囗, pattern, string(fontsize - 1), 'g')
let &囗囗囗=cmd
endfunction
nnoremap <A--> :call <SID>FontSize_Reduce()<CR>

把这三个函数,添加到你的vimrc文件中,就能支持用<A-+><A-->来修改字体大小了。个人感觉还是非常实用的。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 21:25 

注册: 2008-05-22 9:43
帖子: 142
送出感谢: 0 次
接收感谢: 0 次
sarrow 写道:
没有必要修改这个脚本——你直接把:ColorSchemeExplorer再绑定一个键就行了。

比如:

nnoremap <C-F11> :ColorSchemeExplorer<CR>

另外,你这个脚本有点鸡肋的味道。

:colorscheme <Tab>

多按几个tab,vim自动就给你补全出来了,不用打什么字。为了“改变colorscheme”这种不常用的功能而用掉一个绑定键位,我觉得划不来。


我晕,我一直不知道有这个功能,太感谢了,可以扔掉ColorSchemeExplorer这个插件了! :em11


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 21:31 

注册: 2007-10-27 1:04
帖子: 403
送出感谢: 0 次
接收感谢: 1
这个bbs的系统实在是太怪了。
注:&【G×F×W】= & g f w

没有中间的空格


最后由 sarrow 编辑于 2009-06-04 21:34,总共编辑了 1 次

页首
 用户资料  
 
10 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 21:33 

注册: 2007-10-27 1:04
帖子: 403
送出感谢: 0 次
接收感谢: 1
晕掉!“g f w” 还是被替换了!不知道触了哪根筋?!


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 21:52 

注册: 2008-05-22 9:43
帖子: 142
送出感谢: 0 次
接收感谢: 0 次
sarrow 写道:
送你几个好用的函数:

function! MySys() " return OS type, eg: windows, or linux, mac, et.st.. {{{1
if has("win16") || has("win32") || has("win64") || has("win95")
return "windows"
elseif has("unix")
return "linux"
endif
endfunction " }}}1

function <SID>FontSize_Enlarge()
if MySys() == "linux"
let pattern = '\<\d\+$'
elseif MySys() == "windows"
let pattern = ':h\zs\d\+\ze:'
endif
let fontsize = matchstr(&gfn, pattern)
let cmd = substitute(&gfn, pattern, string(fontsize + 1), 'g')
let &gfn=cmd

let fontsize = matchstr(&【G×F×W】, pattern)
let cmd = substitute(&【G×F×W】, pattern, string(fontsize + 1), 'g')
let &【G×F×W】=cmd
endfunction
nnoremap <A-+> :call <SID>FontSize_Enlarge()<CR>

function <SID>FontSize_Reduce()
if MySys() == "linux"
let pattern = '\<\d\+$'
elseif MySys() == "windows"
let pattern = ':h\zs\d\+\ze:'
endif
let fontsize = matchstr(&gfn, pattern)
let cmd = substitute(&gfn, pattern, string(fontsize - 1), 'g')
let &gfn=cmd

let fontsize = matchstr(&【G×F×W】, pattern)
let cmd = substitute(&【G×F×W】, pattern, string(fontsize - 1), 'g')
let &【G×F×W】=cmd
endfunction
nnoremap <A--> :call <SID>FontSize_Reduce()<CR>

把这三个函数,添加到你的vimrc文件中,就能支持用<A-+><A-->来修改字体大小了。个人感觉还是非常实用的。

出现很多错误,【G×F×W】里面的符号都是全角的,是不是这个错了?


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 21:55 
头像

注册: 2009-04-11 23:46
帖子: 4030
系统: Arch Linux
送出感谢: 11
接收感谢: 110
把那个换成小写字母啦!


_________________
我的博客 http://blog.lilydjwg.me/
Dropbox,你值得拥有。
提问的智慧
Arch Linux 中文论坛

我的vimrc: http://git.io/vimrc


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 21:59 

注册: 2008-05-22 9:43
帖子: 142
送出感谢: 0 次
接收感谢: 0 次
原来是被论坛屏蔽了 :em06

不过我按<A-+><A-->没反应,只是看到屏幕小小的闪动,我用的是Gvim,在Windows下


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 22:07 
头像

注册: 2009-04-11 23:46
帖子: 4030
系统: Arch Linux
送出感谢: 11
接收感谢: 110
我这里看到大大的闪动,外加蜂鸣 :em20


_________________
我的博客 http://blog.lilydjwg.me/
Dropbox,你值得拥有。
提问的智慧
Arch Linux 中文论坛

我的vimrc: http://git.io/vimrc


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 怎么在vimrc中调用vim插件中的一个函数?
帖子发表于 : 2009-06-04 22:12 

注册: 2008-05-22 9:43
帖子: 142
送出感谢: 0 次
接收感谢: 0 次
lilydjwg 写道:
我这里看到大大的闪动,外加蜂鸣 :em20


嘿嘿,一样,Alt + -是闪动,Alt + +是蜂鸣 :em04


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 18 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译