ycmd - vim snippets
Con VIM, use snipMate y pydiction juntos(¿compartir la tecla<tab>?) (3)
Alternativamente, puede editar ~/.vim/after/ftplugin/python_pydiction.vim
y cambiar la Tab
a otra cosa:
" 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>
Estoy tratando de usar snipMate y pydiction en vim juntos, sin embargo, ambos usan la tecla <tab>
para realizar su genio-autocompletar-recortar-fragmentos-bondad-eso-lo-que-deseo.
Cuando se instala Pydiction, snipMate deja de funcionar. Asumo que es porque ambos no pueden poseer la tecla <tab>
. ¿Cómo puedo hacer que trabajen juntos?
No me importaría asignar uno de ellos a una clave diferente, pero no estoy realmente seguro de cómo hacer esto ... (¿quizás la pedicción a la tecla <ctrl-n>
para que imite el autocompletado de vim?).
Aquí está el relevante .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''
Bueno, esto es del archivo de ayuda 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>
Creo que la forma de cambiar la clave de activación puede haber cambiado desde que se dio la respuesta por the_karel en 2009, pero se encuentra en el mismo directorio, es decir, ''después / plugin / snipMate.vim''. Lo encontré en el archivo de ayuda también:
*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>''