Domanda

Ho usato Vim e patogen per un po ', e le cose stavano lavorando bene , ma di recente ho iniziato ad avere problemi di ordinazione di caricamento con la mia configurazione ftplugin.

Il problema specifico che sto facendo ora è che python-mode sta sovrascrivendo il mio Impostazioni ftplugin. Ho un ~/.vim/ftplugin/python.vim che contiene la seguente riga:

setlocal textwidth=119
.

Python-mode viene fornito con il proprio file ftplugin, che imposta anche textwidth, in ~/.vim/bundle/python-mode/ftplugin/python/pymode.vim .

Il problema è che Vim sta ora caricando il file ftplugin della modalità Python dopo il mio file ftplugin, quindi sto finendo con il suo textwidth=79. Ho dovuto reinstallare di recente Macports, e penso che qualcosa debba essere cambiato nella configurazione azionaria.

Ho provato vari trucchi che implicano la rotazione del riposo FileType / Plugin prima di richiamare il patogeno, per Varie Altro risposte, ma nessuno di loro aiuta.

Attraverso l'uso di verbose set textwidth? e alcuni debug di echomsg, so che entrambi i file ftplugin vengono invocati e che vengono invocati nel ordine sbagliato (per i miei bisogni).

C'è un modo per forzare Vim / Patogeno per invocare i miei file ftplugin dopo quelli dei plugin?

Ho addirittura provato a mettere le mie impostazioni in ~/.vim/after/plugin/pymode.vim, ma è caricato immediatamente dopo che il patogeno imposta il plugin, quindi viene ancora eseguito prima dei file ftplugin, che vengono caricati solo una volta modificata un file Python.

È stato utile?

Soluzione

Si scopre che forse questo non ha mai funzionato come ho pensato.Non mi rendevo conto che Vim ha anche supportato ~/.vim/after/ftplugin, quindi sono stato in grado di spostare le mie sostituzioni in ~/.vim/after/ftplugin/python.vim e ottenere il comportamento che mi aspettavo.Sono loay per rispondere alle mie domande su così, ma spero che questo aiuterà qualcun altro.

Altri suggerimenti

Plain Vim carica gli script del plug-in in ordine alfabetico .Questo è da :help load-plugins

... all directories in the 'runtimepath' option will be
searched for the "plugin" sub-directory and all files ending in ".vim"
will be sourced (in alphabetical order per directory), also in
subdirectories.
.

In modo da poter impostare l'ordine di caricamento del plugin rinominando <filetype>_plugin.vim a <filetype>/35plugin.vim.35 è il tuo ordine di caricamento desiderato.Penso che questo dovrebbe funzionare anche con patogeno rinominando le directory dei plugin all'interno del bundle, ma non l'ho testata.

.

Sto ancora cercando una risposta più generale a questo problema di caricamento

Per quanto ne so, non puoi davvero farlo con patogeno.È davvero facile con Neobundle.L'agente patogeno è davvero minimo, non ti fornisce molta flessibilità: fa solo una cosa e lo fa bene.Se stai cercando configurabilità, penso che tu stia usando lo strumento sbagliato.

Modifica: non proprio sicuro dei ftplugins, ma i bundle in generale sono caricati come si specificano (con Vundle / Neobundle).Quindi mi rendo conto che questo forse non è il più rilevante delle risposte.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top