para - vim plugin manager
¿Cómo instalo un complemento para vim? (4)
Me gustaría probar el complemento para Vim vinculado a continuación. Agrega resaltado de sintaxis para los .haml
y (quizás) .sass
.
http://github.com/tpope/vim-haml
Hice esto...
$ cd ~/.vim
$ git clone git://github.com/tpope/vim-haml.git
Abrí un archivo .haml
en Vim, pero no resalta. Debe haber otro paso que necesito realizar.
Asegúrese de que el archivo .vim
real esté en ~/.vim/plugin/
Creo que deberías echar un vistazo al plugin Pathogen . Después de tener esto instalado, puede mantener todos sus complementos en carpetas separadas en ~ / .vim / bundle /, y Pathogen se encargará de cargarlos.
O, como alternativa, quizás prefiera Vundle , que proporciona una funcionalidad similar (con la ventaja añadida de las actualizaciones automáticas de los complementos en github).
Esos dos comandos crearán un directorio ~/.vim/vim-haml/
con los directorios ftplugin, sintaxis, etc. en él. Esos directorios deben estar inmediatamente en el directorio ~/.vim
propiamente dicho o ~/.vim/vim-haml
debe agregarse a la lista de rutas que vim busca para complementos.
Editar:
Recientemente decidí modificar mi configuración de vim y en el proceso terminé escribiendo el siguiente archivo de búsqueda. Solo funciona en Mac / Linux, pero la ventaja sobre las versiones de cp
es que es completamente seguro (los enlaces simbólicos no sobrescriben los archivos existentes, la desinstalación solo elimina los enlaces simbólicos) y es fácil mantener las cosas actualizadas.
# 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
Para ampliar la respuesta de Karl, Vim busca en un conjunto específico de directorios sus archivos de tiempo de ejecución. Puede ver ese conjunto de directorios a través de :set runtimepath?
. Para decirle a Vim que también mire dentro de ~/.vim/vim-haml
, querrá agregar
set runtimepath+=$HOME/.vim/vim-haml
a su ~/.vimrc
. Es probable que también quiera lo siguiente en su ~/.vimrc
para habilitar toda la funcionalidad provista por vim-haml.
filetype plugin indent on
syntax on
Puede consultar el ''runtimepath''
y los temas de ayuda de tipo de :filetype
en Vim para obtener más información.