windows下的gvim和emmet 下载和安装 + "omnifunc is not set" solution?

注意几个地方:

  1. 引导键是ctrl-y, 其他就是实际的操作键了, 如: n下一个插入点, N是上一个插入点(不是p),

  2. ctrl-y + i是自动为图片添加宽度和高度尺寸, 要点是要把光标移动到 img标签内

  3. 几个简写: 在特定的几个标签后, 可以用大于符号来表示子元素, 而不用特别指明,因为在这些标签下的子元素只能是那样的, 没有其他的可能, 包括这样几个: ul>(.list$)4. table>(#row$)3>.td*3等

  4. 文字, 关于文字, 不一定必须要在大括号前面加 标签元素, 可以直接 就是 文字内容。 但是这个其实是没有什么意义的!

  5. 几个比较有用的操作: ctrl-y+ k是删除光标所在的 标签块 // 这个也是很有用的

  6. ctrl-y / 是切换html注释的方法. ::: 这个是非常有用的

注意, 所有的操作都是在 "插入" 状态下进行的!!


原来 的是用的 zencoding.vim插件, 但是不支持 lipsum和lorem等features, 所以 更换为 emmet后, 功能更强.

方法是 从vim-script站点或 github上下载 emmet.vim下来后, 将对应的目录下的内容拷入到 vim/vimfies/ 对应的目录下即可, 自动载入使用!!!

文件已经下载到网盘上.... 这样 windows下 的gvim 编辑环境就比较 理想 完美了!!!


解决: option "omnifunc" is not set 导致 gvim卡的问题?

设置了下面的 autocmd... set omnifunc=...后, 果然不再提示: omnifunc is not set 这个错误了!! 而且 gvim用 起来也比较 流畅了!!

在_vimrc中加入如下代码:

filetype plugin indent on
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS 
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType java set omnifunc=javacomplete#Complete
if has("autocmd") && exists("+omnifunc")
     autocmd Filetype *
    if &omnifunc == "" |
      setlocal omnifunc=syntaxcomplete#Complete |
    endif
endif
let g:rubycomplete_buffer_loading = 1
let g:rubycomplete_classes_in_global = 1
"let g:rubycomplete_rails = 1

而像这个自动完成对功能: 本身就是 gvim自带的功能, --keyword completion, 其中的N,P是指可以通过ctrl-N 和 ctrl-P 进行上下选择备选选项.

how to solute "error detected htmlcomplete#?

出现这样的错误,只要找到htmlcomplete.vim这个文件
比如说我的在/usr/share/vim/vim73/autoload/htmlcomplete.vim这里,
然后在288行加上let classlines = [] 使之变成

for file in cssfiles
 let classlines = []
 if filereadable(file)
     let stylesheet = readfile(file)

"error detected while processing function htmlcomplete#completeTags: variable is not defined 'classLines'" 是因为在 vim/vim73/autoload 中有htmlcomplete.vim,主要是用来自动完成 html的标签的, 如class 的标签属性, 但是也带来很多问题, 而emmet已经很好, 不需要什么htmltags的自动补全了. 所以 不需要在vim启动的时候, 去自动载入htmlccomplete.vim, 把这个文件改成 bak备份文件就好了, 这样就能够屏蔽 它了.

同样的还有很多的自动完成对标签, 如果有问题的话 , 都可以进行bak 备份屏蔽

原文地址:https://www.cnblogs.com/bkylee/p/6419842.html