Comment installer un plugin pour vim?

Je voudrais essayer le plugin pour Vim lié ci-dessous. Il ajoute la coloration syntaxique pour les .haml et (peut-être) .sass .

http://github.com/tpope/vim-haml

J’ai fait ça…

 $ cd ~/.vim $ git clone git://github.com/tpope/vim-haml.git 

J’ai ouvert un fichier .haml dans Vim, mais il n’y a pas de mise en évidence. Il doit y avoir une autre étape que je dois effectuer.

Ces deux commandes vont créer un ~/.vim/vim-haml/ avec les répertoires ftplugin, syntax, etc. Ces répertoires doivent être immédiatement dans le répertoire ~/.vim ou ~/.vim/vim-haml doit être ajouté à la liste des chemins que vim recherche pour les plugins.

Modifier:

J’ai récemment décidé de modifier ma configuration vim et, dans le processus, j’ai fini par écrire le fichier rake suivant. Cela ne fonctionne que sous Mac / Linux, mais l’avantage par rapport aux versions cp est qu’il est totalement sécurisé (les liens symboliques n’écrasent pas les fichiers existants, désinstallent uniquement les liens symboliques) et facilitent la mise à jour.

 # Easily install vim plugins from a source control checkout (eg Github) # # alias vim-install=rake -f ~/.vim/rakefile-vim-install # vim-install # vim-install uninstall require 'ftools' require 'fileutils' task :default => :install desc "Install a vim plugin the lazy way" task :install do vim_dir = File.expand_path("~/.vim") plugin_dir = Dir.pwd if not (FileTest.exists? File.join(plugin_dir,".git") or FileTest.exists? File.join(plugin_dir,".svn") or FileTest.exists? File.join(plugin_dir,".hg")) puts "#{plugin_dir} isn't a source controlled directory. Aborting." exit 1 end Dir['**/'].each do |d| FileUtils.mkdir_p File.join(vim_dir, d) end Dir["**/*.{txt,snippet,snippets,vim,js,wsf}"].each do |f| ln File.join(plugin_dir, f), File.join(vim_dir,f) end boldred = "\033[1;31m" clear = "\033[0m" puts "\nDone. Remember to #{boldred}:helptags ~/.vim/doc#{clear}" end task :uninstall do vim_dir = File.expand_path("~/.vim") plugin_dir = Dir.pwd Dir["**/*.{txt,snippet,snippets,vim}"].each do |f| safe_rm File.join(vim_dir, f) end end def nicename(path) boldgreen = "\033[1;32m" clear = "\033[0m" return "#{boldgreen}#{File.join(path.split('/')[-2..-1])}#{clear}\t" end def ln(src, dst) begin FileUtils.ln_s src, dst puts " Symlink #{nicename src}\t => #{nicename dst}" rescue Errno::EEXIST puts " #{nicename dst} exists! Skipping." end end def cp(src, dst) puts " Copying #{nicename src}\t=> #{nicename dst}" FileUtils.cp src, dst end def safe_rm(target) if FileTest.exists? target and FileTest.symlink? target puts " #{nicename target} removed." File.delete target else puts " #{nicename target} is not a symlink. Skipping" end end 

Assurez-vous que le fichier .vim actuel .vim trouve dans ~/.vim/plugin/

Pour développer la réponse de Karl, Vim recherche ses fichiers d’exécution dans un ensemble spécifique de répertoires. Vous pouvez voir cet ensemble de répertoires via :set runtimepath? . Pour indiquer à Vim de regarder aussi dans ~/.vim/vim-haml vous voudrez append

 set runtimepath+=$HOME/.vim/vim-haml 

à votre ~/.vimrc . Vous souhaiterez probablement que les éléments suivants de votre ~/.vimrc activent toutes les fonctionnalités fournies par vim-haml.

 filetype plugin indent on syntax on 

Vous pouvez vous référer à la 'runtimepath' et aux rubriques d’aide de type de 'runtimepath' dans Vim pour plus d’informations.

Je pense que vous devriez jeter un oeil au plug-in Pathogen . Après l’avoir installé, vous pouvez conserver tous vos plug-ins dans des dossiers distincts dans ~ / .vim / bundle /, et Pathogen se chargera de les charger.

Ou, alternativement, vous préféreriez peut-être Vundle , qui offre des fonctionnalités similaires (avec en prime des mises à jour automatiques à partir de plugins dans github).