I use the Pathogen
plugin for gvim
. When configuring I set the following in my vimrc
file:
call pathogen#infect()
call pathogen#helptags()
call pathogen#runtime_append_all_bundles()
filetype on "force reloading *after* pathogen loaded
Now I'm following this tutorial on Youtube by Martin Brochhaus to set up Vim to be useful for Python coding and he suggests the following:
filetype off
filetype plugin indent on
syntax on
So currently I have filetype on
for pathogen but he is suggesting filetype off
. What does this line of code do and how should I configure vimrc
so Pathogen and Python are both happy?
filetype plugin on enables both filetype detection and filetype plugins, which are vimscript files that contain filetype-specific commands for setting various options, defining mappings, etc. Those ftplugins are located under $VIMRUNTIME/ftplugin/ and you can make your own under ~/. vim/ftplugin/ or ~/.
But if you do switch off filetype detection, the indent files will not be loaded either. This actually loads the file "indoff.vim" in 'runtimepath'. This disables auto-indenting for files you will open. It will keep working in already opened files.
It turns on "detection", "plugin" and "indent" at once. You can check for yourself by reading :help :filetype-overview .
vim (Unix-based systems) $HOME\vimfiles\filetype.
call pathogen#runtime_append_all_bundles()
is not needed at all: the function is deprecated and not useful anyway.
If you really need to be safe, this is what you should have at the top of your ~/.vimrc
:
" turn filetype detection off and, even if it's not strictly
" necessary, disable loading of indent scripts and filetype plugins
filetype off
filetype plugin indent off
" pathogen runntime injection and help indexing
call pathogen#infect()
call pathogen#helptags()
" turn filetype detection, indent scripts and filetype plugins on
" and syntax highlighting too
filetype plugin indent on
syntax on
However, I've had the following for quite a while without any noticeable issue:
call pathogen#infect()
call pathogen#helptags()
filetype plugin indent on
syntax on
The :filetype off
is superfluous when immediately followed by :filetype [plugin indent] on
(as it turns on filetype detection again, as described at :help filetype-plugin-on
); don't blindly trust arbitrary resources on the Internet :-)
You usually want filetype detection (so that a corresponding syntax can be loaded for highlighting (with :syntax on
)), and filetype-specific settings (the plugin
part), and indentation rules (indent
).
The only pitfall with Pathogen is that this should come after the Pathogen initialization, but you've done that right.
filetype on
enables filetype detection.
Setting filetype plugin
or filetype indent
to on
will turn on filetype detection if it wasn't already anyway. See :help filetype
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With