2

私はgvimでHTMLを書いていますが、私を悩ませているのは、omni-completeが、以前に選択した単語であっても、常に前の単語を削除することです。

たとえば、次のコードを書いていると仮定します**('_'はカーソルを意味します)**:

<a style="_" ></a>

^ X- ^ Oを押すと、ヒントリストが表示され、[色:]を選択します。

<a style="color:_" >

そして、もう一度^ X- ^ Oを押すと、適切なヒント( "rgb("、 "#")が表示されますが、その間、次のように前の単語が削除されます。

<a style="rgb(_" >

誰か助けてもらえますか?どうもありがとう。そしてこれは私のgvimrcです:

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 
4

3 に答える 3

0

csscomplete.vim に html 補完を処理させることが、私の問題の解決策になる可能性があります。これを行うには、gvimrc に「autocmd FileType html set omnifunc=csscomplete#CompleteCSS」を追加します。

于 2012-09-15T03:56:46.990 に答える
0

これはhtmlcomplete.vimスクリプトのバグです。<Space>romainlが指摘したように、プロパティと値の間に挿入することでこれを回避できます。

スクリプトの作者である Mikolaj Machowski にバグ レポート (基本的にはこのページへのリンク) を送信してください。彼の電子メール アドレスはスクリプトのヘッダーにあります。スクリプトはautoload/htmlcomplete.vimVim インストール ディレクトリにあります。

最後の変更は 2011 年 4 月からなので、作成者がまだそれを維持している可能性が高いです。応答がない場合は、vim_dev メーリング リスト (cp. http://www.vim.org/community.php ; 最初に登録する必要があります) にお知らせください。うまくいけば、他の誰かがそれを拾うでしょう。

于 2012-09-14T14:34:09.870 に答える