是什么在Vim的于HTML,JavaScript和CSS你最喜欢的折叠方法(或秘密技术)?

StackOverflow https://stackoverflow.com/questions/2171176

  •  24-09-2019
  •  | 
  •  

我用的是这样的:1,40 fo但我认为不是最有效的方式。

你叫什么名字?

有帮助吗?

解决方案

我用foldmethod=marker并具有映射到输入<!-- {{{ --><!-- }}} -->我想要折叠开始和结束。我把开始标志上的线与所述开口块标记,如:

<div id="topmenu"> <!-- {{{ -->

所以当它折叠我立刻明白了折叠包含无需添加额外的评论。

有关CSS那就更简单了,我只是用foldmarker={,}并且所有定义会被自动折叠向我展示,我可以当我需要他们刚打开的所有类,标签和ID的只是一个很明确的名单。其实我所有的CSS文件有这条线在最后:

/* vim: set fdm=marker fmr={,}: */

您还可以在视觉上,如果你喜欢选择要折叠的区域,然后按zf

其他提示

我缩进和标记物与此之间在我的vimrc翻转..

let g:FoldMethod = 0
map <leader>ff :call ToggleFold()<cr>
fun! ToggleFold()
    if g:FoldMethod == 0
        exe 'set foldmethod=indent'
        let g:FoldMethod = 1
    else
        exe 'set foldmethod=marker'
        let g:FoldMethod = 0
    endif
endfun

缩进工作确定为最美化HTML,但我用标志物的内容风格的文件折叠大型声明表。根据谁写的文件,一个将更好地工作比其他的,所以你需要快速访问两种。

有VIM针对HTML最佳折叠方法:使用HAML代替。对CSS最佳选择:使用SASS代替

实际上,我认真的。他们使它更加紧凑。

我已经使用foldmethod=ignore几乎完全。然而,我的愿望,忽略线默认到更高折叠级别而不是下,激发了以下的上面或下面的行,:

" Default foldmethod
" Similar to fdm=indent, but lets blank and comment lines default high.
set fen fdm=expr fdi=
set foldexpr=EswaldFoldLevel(v:lnum)

function! EswaldFoldLevel(lnum)
  let ignored = '^\s*\([#/*]\|$\)'
  if getline(a:lnum) !~ ignored
    " In the general case, just use the indent level.
    " It would be nice if it didn't skip several levels...
    return indent(a:lnum) / &sw
  endif

  let previndent = 0
  let prevnum = a:lnum - 1
  while prevnum > 0
    if getline(prevnum) =~ ignored
      let prevnum = prevnum - 1
    else
      let previndent = indent(prevnum) / &sw
      break
    endif
  endwhile

  let nextindent = 0
  let maxline = line('$')
  let nextnum = a:lnum + 1
  while nextnum <= maxline
    if getline(nextnum) =~ ignored
      let nextnum = nextnum + 1
    else
      let nextindent = indent(nextnum) / &sw
      break
    endif
  endwhile

  return max([previndent, nextindent])
endfunction

(很抱歉的语法突出显示...)

我使用,作为一个自定义插件,让个人文件类型覆盖它。 Python中,例如,想不看以前的线路,只是下面的人。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top