Chinaunix

标题: 如何设置vim foldtext [打印本页]

作者: 怪怪虎    时间: 2013-01-16 09:36
标题: 如何设置vim foldtext
在下面的link里面看到如下设置
http://home.ustc.edu.cn/~tyli/doc/fold.html
    :set foldtext=MyFoldText()
    :function MyFoldText()
    :  let line = getline(v:foldstart)
    :  let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
    :  return v:folddashes . sub
    :endfunction
个人理解通过这个办法可以改变foldtext的设置。 想把这个东西加到.vimrc里面。
可是加进去后,没有生效。
如果想加到.vimrc里,应该怎么做?

作者: Ager    时间: 2013-01-16 13:01
  1.     :set foldtext=MyFoldText()
  2.     :function MyFoldText()
  3.     :  let line = getline(v:foldstart)
  4.     :  let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
  5.     :  return v:folddashes . sub
  6.     :endfunction
复制代码
楼主,你往文件.vimrc里保存了上述代码,而你确定这些代码行头的冒号是干啥的吗?

呵呵。。。

作者: 怪怪虎    时间: 2013-01-16 18:58
感觉应该是vi的命令行模式下设置的。
我也把这些:去掉试过,仍然不work.
忘指教。
回复 2# Ager


   
作者: Ager    时间: 2013-01-16 19:43
怪怪虎 发表于 2013-01-16 18:58
感觉应该是vi的命令行模式下设置的。
我也把这些:去掉试过,仍然不work.
忘指教。
回复 2# Ager


其实,冒号不冒号的,倒也无所谓。

但是,你说这段代码写进.vimrc,却没效果,那就很奇怪了。。。。

我用过了,不但有效果,而且效果还很“敏锐”呢!

你确定你使用了正确的折叠命令吗?

呵呵。。。

作者: 怪怪虎    时间: 2013-01-16 21:50
谢谢了, 我这里也work了。
--1657 + 5     while (
显示从多少行开始折叠,折叠了几行。
set foldtext=MyFoldText()
function MyFoldText()
  let line = v:foldstart
  let line .= " + "
  let end = v:foldend - v:foldstart
  let line .= end
  let line .= " "
  let line .= getline(v:foldstart)
  let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
  return v:folddashes.sub
endfunction
自己完成的第一个能在脚本中用的函数。
习惯于在{Visual}下, 找到{,然后%,在zf。 这样把{}都折叠了。下一步看看能不能把{} 不折叠在里面
回复 4# Ager


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2