4

私の問題は<Tab>、vimwiki ファイルにいるときに SnipMate の補完が機能しないことです。挿入モードで入力してテストしていますAPACHE<Tab>が、たとえば.vimrc.

またi_<Tab>、vimwikie ファイルでは機能しませんが、i_<C-R><Tab>機能します。利用可能なスニペットのリストを取得します。変。

奇妙にするために (少なくとも私には)、:imapvimwiki ファイルの部分的な出力を次に示します。

i  <Tab>       * <C-G>u<C-R>=snipMate#TriggerSnippet()<CR>
i  <C-R><Tab>  * <C-R>=snipMate#ShowAvailableSnips()<CR>

これらは正しいと思います。<Tab>補完が機能する他のファイルでは、マッピングは同じです。

ああ、あなたがhttp://code.google.com/p/vimwiki/wiki/ChangeLogで提案されているようlet g:vimwiki_table_auto_fmt = 0に私のものを入れることを提案しようと考えている場合は、試してみましたが、問題は解決しません。それが私の検索で見つかった唯一の提案です。それが私がここにいる理由です。.vimrc

あなたがどれだけの.vimrcことを望んでいるかはわかりませんが、この質問を簡潔にするために、私が関連していると思われるものだけを挙げておきます。

" Vundle: The plugin manager for vim.                                        
    set runtimepath+=~/.vim/bundle/vundle/                                   
    call vundle#rc()                                                         
    Bundle 'gmarik/vundle'                                                   
" SnipMate: TextMate snippets for vim.                                       
    Bundle "MarcWeber/vim-addon-mw-utils"                                    
    Bundle "tomtom/tlib_vim"                                                 
    Bundle "honza/snipmate-snippets"                                         
    Bundle "garbas/vim-snipmate"                                             
" Vimwiki: A personal wiki for vim.                                          
    Bundle 'vim-scripts/vimwiki'                                             
    let g:vimwiki_hl_headers = 1                                             
    let g:vimwiki_hl_cb_checked = 1                                          
    let g:vimwiki_folding = 1                                                
    let g:vimwiki_fold_lists = 1                                             
    let s:vimwiki = {}                                                       
    let s:vimwiki.path             = '~/Vimwiki/wiki'                        
    let s:vimwiki.path_html        = '~/Vimwiki/html'                        
    let s:vimwiki.ext              = '.md'                                   
    let s:vimwiki.syntax           = 'markdown'                              
    let s:vimwiki.maxhi            = 1                                       
    let s:vimwiki.diary_rel_path   = 'Journal/'                              
    let s:vimwiki.diary_index      = 'index'                                 
    let s:vimwiki.diary_header     = 'Journal'                               
    let s:vimwiki.diary_sort       = 'asc'                                   
    let g:vimwiki_list = [s:vimwiki]

ありがとう

編集:

上記を書いている間、なぜこれを忘れたのかわかりません。上記の出力:imapは不完全です。また、次のことも示します。

i  <Tab>       *@vimwiki#tbl#kbd_tab()

の値に関係なくg:vimwiki_table_auto_fmt.vimrcそれはおそらく私の問題の原因です..もしそうなら、どうにかしてそれを取り除きたいです.

4

1 に答える 1

13

出力のは@、 Vimwikiが snipMate のグローバル マッピングをオーバーライド:imapするバッファ ローカル マッピングを定義していることを示しています。<Tab>

:iunmap <buffer> <Tab>

それを修正する必要があります。そのコマンドを入れ~/.vim/after/ftplugin/vimwiki.vimて永続的にすることができます。しかし、明らかに Vimwiki はカスタマイズを許可しています:

" Table mappings
if g:vimwiki_table_mappings
  inoremap <expr> <buffer> <Tab> vimwiki#tbl#kbd_tab()
  inoremap <expr> <buffer> <S-Tab> vimwiki#tbl#kbd_shift_tab()
endif

したがって、:let g:vimwiki_table_mappings = 0.vimrc でも動作するはずです。

于 2012-08-20T07:30:50.780 に答える