web-dev-qa-db-fra.com

Comment installer un plugin pour vim?

Je voudrais essayer le plugin pour Vim lien ci-dessous. Il ajoute la coloration syntaxique pour .haml et peut-être) .sass des dossiers.

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 .haml fichier dans Vim, mais il n'y a pas de surbrillance. Il doit y avoir une autre étape que je dois accomplir.

146
Ethan

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

Edit:

J'ai récemment décidé de modifier ma configuration de vim et d'écrire le fichier rake suivant. Cela ne fonctionne que sur Mac/Linux, mais l'avantage par rapport à cp versions est qu'il est totalement sûr (les liens symboliques n'écrase pas les fichiers existants, la désinstallation ne supprime que les liens symboliques) et qu'il est facile de garder les éléments à jour.

# Easily install vim plugins from a source control checkout (e.g. 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
52
Karl Guertin

Assurez-vous que le fichier .vim Est bien dans ~/.vim/plugin/

130
gir

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

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

à ton ~/.vimrc. Vous voudrez probablement aussi ce qui suit dans votre ~/.vimrc pour activer toutes les fonctionnalités fournies par vim-haml.

filetype plugin indent on
syntax on

Vous pouvez vous référer au 'runtimepath' et :filetype rubriques d'aide dans Vim pour plus d'informations.

45
jamessan

Je pense que vous devriez jeter un oeil sur le plugin Pathogen . Une fois que cela est installé, vous pouvez conserver tous vos plugins dans des dossiers distincts dans ~/.vim/bundle /, et Pathogen se chargera de les charger.

Ou, alternativement, vous préféreriez peut-être Vundle , qui fournit une fonctionnalité similaire (avec en plus le bonus supplémentaire de mises à jour automatiques à partir de plugins dans github).

19
yngve