2009-11-06 11 views
16

मैं एक साथ snipMate और vim में pydiction उपयोग करने के लिए कोशिश कर रहा हूँ - हालांकि, दोनों <tab> कुंजी उनके प्रतिभा-स्वत: पूर्ण करने-टुकड़ा-रेंडरिंग निष्पादित करने का उपयोग -goodness-कि-मैं-तो-इच्छा।विम के साथ, दोनों snipMate और pydiction एक साथ उपयोग (<tab> कुंजी का हिस्सा?)

जब पेडिक्शन स्थापित किया जाता है, तो स्निपमैट काम करना बंद कर देता है। मुझे लगता है क्योंकि वे दोनों <tab> कुंजी नहीं कर सकते हैं। मैं उन्हें एक साथ काम करने के लिए कैसे प्राप्त कर सकता हूं?

मैं एक अलग कुंजी करने के लिए उनमें से एक मानचित्रण कोई फ़र्क नहीं पड़ेगा, लेकिन मैं वास्तव में ऐसा करने के तरीके ... यकीन नहीं है (शायद <ctrl-n> कुंजी तो यह vim का स्वत: पूर्ण की नकल करता करने के लिए pydiction?)।

यहाँ प्रासंगिक .vimrc है:

filetype indent plugin on 

autocmd FileType python set ft=python.django 
autocmd FileType html set ft=html.django_template 

let g:pydiction_location = '~/.vim/ftplugin/pydiction-1.2/complete-dict' 

उत्तर

15

खैर, यह Snipmate मदद फ़ाइल :)

               *snipMate-remap* 
snipMate does not come with a setting to customize the trigger key, but you 
can remap it easily in the two lines it's defined in the 'after' directory 
under 'plugin/snipMate.vim'. For instance, to change the trigger key 
to CTRL-J, just change this: > 

ino <tab> <c-r>=TriggerSnippet()<cr> 
snor <tab> <esc>i<right><c-r>=TriggerSnippet()<cr> 

to this: > 
ino <c-j> <c-r>=TriggerSnippet()<cr> 
snor <c-j> <esc>i<right><c-r>=TriggerSnippet()<cr> 
+0

बिल्कुल सही - धन्यवाद! शायद मेरी सारी खोज में मुझे सहायता दस्तावेज़ों पर अधिक बारीकी से देखना चाहिए था। हे। – thornomad

+3

अब सच है, अब प्रलेखन यह बताता है कि यह 'imap snipMateNextOrTrigger' साथ पुनः मानचित्रित किया जा सकता है और' SMAP snipMateNextOrTrigger' – TKrugg

+1

+1 @TKrugg देखें मेरी dotfiles remaps साथ करते हैं। https://github.com/simeonwillbanks/dotfiles/commit/660b0505c82157656e15d47cd43108d2d39409db – simeonwillbanks

7

वैकल्पिक रूप से है, तो आप ~/.vim/after/ftplugin/python_pydiction.vim को संपादित करने और कुछ और करने के लिए Tab बदल सकते हैं:

" Make the Tab key do python code completion: 
inoremap <silent> <buffer> <Tab> 
     \<C-R>=<SID>SetVals()<CR> 
     \<C-R>=<SID>TabComplete('down')<CR> 
     \<C-R>=<SID>RestoreVals()<CR> 

" Make Shift+Tab do python code completion in the reverse direction: 
inoremap <silent> <buffer> <S-Tab> 
     \<C-R>=<SID>SetVals()<CR> 
     \<C-R>=<SID>TabComplete('up')<CR> 
     \<C-R>=<SID>RestoreVals()<CR> 
+0

+1: यह मेरे लिए काम करता है। –

4

मैं w का मानना ​​है 200 9 में_केल द्वारा दिए गए उत्तर के बाद से ट्रिगर कुंजी को बदलने के लिए बदल दिया गया है, लेकिन यह उसी निर्देशिका में मिलता है, अर्थात् 'बाद/प्लगइन/स्निपमैट.विम'। मैंने इसे सहायता फ़ाइल में भी पाया:

*snipMate-trigger* 
snipMate comes with a setting to configure the key that is used to trigger 
snipMate. To configure the key set g:snips_trigger_key to something other than 
<tab>,e.g. <c-space> use: 

let g:snips_trigger_key='<c-space>'