Html vim omni complete可以删除我以前选择的单词吗?
我正在用gvim编写HTML,但让我烦恼的是,omni complete总是删除我以前的单词,甚至是我以前选择的单词 例如,假设我正在编写以下代码**(“uu”表示光标,以下简称)**:Html vim omni complete可以删除我以前选择的单词吗?,html,vim,omnicomplete,Html,Vim,Omnicomplete,我正在用gvim编写HTML,但让我烦恼的是,omni complete总是删除我以前的单词,甚至是我以前选择的单词 例如,假设我正在编写以下代码**(“uu”表示光标,以下简称)**: 这是htmlcomplete.vim脚本中的一个错误。正如Romaill所指出的,您可以通过在属性和值之间插入来解决这个问题 请向脚本作者Mikolaj Machowski提交一份bug报告(基本上是本页面的链接);他的电子邮件地址在脚本的标题中;该脚本位于vim安装目录中的autoload/htmlcompl
这是
htmlcomplete.vim
脚本中的一个错误。正如Romaill所指出的,您可以通过在属性和值之间插入
来解决这个问题
请向脚本作者Mikolaj Machowski提交一份bug报告(基本上是本页面的链接);他的电子邮件地址在脚本的标题中;该脚本位于vim安装目录中的autoload/htmlcomplete.vim
由于上一次更改是在2011年4月,因此作者很有可能仍在维护它。如果您没有收到回复,请通知vim_dev邮件列表(cp;您需要先注册);希望其他人能找到它。这是
htmlcomplete.vim
脚本中的一个bug。正如Romaill所指出的,您可以通过在属性和值之间插入
来解决这个问题
请向脚本作者Mikolaj Machowski提交一份bug报告(基本上是本页面的链接);他的电子邮件地址在脚本的标题中;该脚本位于vim安装目录中的autoload/htmlcomplete.vim
由于上一次更改是在2011年4月,因此作者很有可能仍在维护它。如果您没有收到回复,请通知vim_dev邮件列表(cp;您需要先注册);希望其他人会来处理。让csscomplete.vim来处理html完成可能是我问题的解决方案。您可以通过在gvimrc中添加“autocmd FileType html set omnifunc=csscomplete#CompleteCSS”来实现这一点。让csscomplete.vim处理html完成可能是解决我问题的一个方法。您可以通过在gvimrc中添加“autocmd FileType html set omnifunc=csscomplete#CompleteCSS”来实现这一点。对于较新版本的vim来说,这是一个bug和回归。这个csscomplete.vim插件是为较早的版本编写的,如果您使用较新的版本,就会出现意外的回归 如果你破解插件,你会看到删除发生,因为它会反向移动光标寻找最明显的上下文,而反向光标移动会被vim解释为擦除 对我来说,错误在于以下几行:
...
let compl_begin = col('.') - 2
while start >= 0 && line[start - 1] =~ '\%(\k\|-\)'
let start -= 1
endwhile
因此,是的,有一个问题:名为start
的变量通过omnifunc传递回vim,vim用于保持现有文本不变,但新版本将该运动解释为擦除
因此,更改断言连字符的第二个while子句条件,现在就可以开始比赛了。但这暴露了一个新问题,键入一个字母并启动omnifunc会随着csscomplete.vim的停滞而减慢。但是,嘿,一次解决一个问题
这就像买一辆方向盘安装在车顶的汽车。就好像是的,那是行不通的。但这是Vim,如果你不是因为低级黑客而参与进来的,那么你就进入了错误的机器车间。这是一个bug,是Vim新版本的回归。这个csscomplete.vim插件是为较早的版本编写的,如果您使用较新的版本,就会出现意外的回归 如果你破解插件,你会看到删除发生,因为它会反向移动光标寻找最明显的上下文,而反向光标移动会被vim解释为擦除 对我来说,错误在于以下几行:
...
let compl_begin = col('.') - 2
while start >= 0 && line[start - 1] =~ '\%(\k\|-\)'
let start -= 1
endwhile
因此,是的,有一个问题:名为start
的变量通过omnifunc传递回vim,vim用于保持现有文本不变,但新版本将该运动解释为擦除
因此,更改断言连字符的第二个while子句条件,现在就可以开始比赛了。但这暴露了一个新问题,键入一个字母并启动omnifunc会随着csscomplete.vim的停滞而减慢。但是,嘿,一次解决一个问题
这就像买一辆方向盘安装在车顶的汽车。就好像是的,那是行不通的。但是这是Vim,如果你不是因为低级黑客而在这里,那么你是在错误的机器车间。我不确定,但实际的全向完成不是映射为
^N
(至少,这是我一直使用的)?
是用于完成当前缓冲区中找到的关键字的通用完成,并且,取决于:set complete?
、其他缓冲区甚至标记的值<代码>
使用特定语言的脚本提供完成。我可以重现您的问题。@IngoKarkat,您可以还是不能?我不能。@romainl:我确实看到了问题所在。htmlcomplete.vim将委托给csscomplete.vim完成该操作,但使用的是HTML完成基础,而不是CSS将确定的基础。当您在CSS文件中进行编辑时,完成是有效的。因此,htmlcomplete.vim(2011年4月28日的版本)中有一个bug。我不确定,但实际的全向完成是否映射为^N
(至少,这是我一直使用的)?
是通用完成,用于完成当前缓冲区中的关键字,并且根据:set complete?
的值,其他缓冲区,甚至标记
<代码>使用特定语言的脚本提供完成。我可以重现您的问题。@IngoKarkat,您可以还是不能?我不能。@romainl:我确实看到了问题所在。htmlcomplete.vim将委托给csscomplete.vim完成该操作,但使用的是HTML完成基础,而不是CSS将确定的基础。当您在CSS文件中进行编辑时,完成是有效的。因此,htmlcomplete.vim(2011年4月28日的版本)中有一个bug。
<a style="rgb(_" >
set guifont=文泉驿等宽微米黑\ 14
colorscheme neverness_modified
set number
set guioptions-=T
winpos 0 0
set columns=1000
set lines=1000
set fileencodings=utf-8,gb18030
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
filetype on
filetype indent on
syntax on
set cindent
set completeopt+=longest
function Maximize_Window()
silent !wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz
endfunction
" ========================
" TagList
" ========================
set tags+=/home/fish47/.vim/tags/STL.tags
" ========================
" TagList
" ========================
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
" ========================
" WinManager
" ========================
let g:winManagerWindowLayout='FileExplorer|TagList'
WMToggle
" ========================
" OmniCppComplete
" ========================
set nocp
filetype plugin on
let OmniCpp_SelectFirstItem=2
let OmniCpp_MayCompleteDot=1
let OmniCpp_MayCompleteArrow=1
let OmniCpp_MayCompleteScope=1
set showcmd
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
...
let compl_begin = col('.') - 2
while start >= 0 && line[start - 1] =~ '\%(\k\|-\)'
let start -= 1
endwhile