Jak zainstalować wtyczkę dla Vima?
Chciałbym wypróbować wtyczkę do Vima podlinkowaną poniżej. Dodaje podświetlanie składni dla plików .haml
i (być może) .sass
.
Http://github.com/tpope/vim-haml
Zrobiłem to...$ cd ~/.vim
$ git clone git://github.com/tpope/vim-haml.git
Otworzyłem plik .haml
w Vimie, ale nie ma podświetlenia. Musi być jeszcze jeden krok, który muszę wykonać.
4 answers
Te dwa polecenia utworzą katalog ~/.vim/vim-haml/
z katalogami ftplugin, syntax, itp. Te katalogi muszą być natychmiast w katalogu ~/.vim
właściwym lub ~/.vim/vim-haml
musi być dodany do listy ścieżek, które vim szuka wtyczek.
Edit:
Niedawno zdecydowałem się dostosować mój vim config i w procesie skończyło się pisanie poniższego rakefile. Działa tylko na Mac / Linux, ale zaletą wersji cp
jest to, że jest całkowicie bezpieczny (dowiązania symboliczne nie nadpisują istniejących plików, Odinstaluj tylko usuwa dowiązania symboliczne) i łatwo aktualizować rzeczy.
# 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-17 13:53:01
Upewnij się, że plik .vim
znajduje się w ~/.vim/plugin/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-30 19:30:39
Aby rozszerzyć odpowiedź Karla, vim szuka określonego zestawu katalogów dla swoich plików runtime. Możesz zobaczyć ten zestaw katalogów za pomocą :set runtimepath?
. Aby powiedzieć Vimowi, aby również zajrzał do środka ~/.vim/vim-haml
, musisz dodać
set runtimepath+=$HOME/.vim/vim-haml
Do twojego ~/.vimrc
. Prawdopodobnie będziesz chciał również, aby w ~/.vimrc
włączyć wszystkie funkcje dostarczane przez vim-haml.
filetype plugin indent on
syntax on
Możesz odnieść się do 'runtimepath'
oraz :filetype
tematy pomocy w Vimie, aby uzyskać więcej informacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-15 17:20:43
Myślę, że powinieneś rzucić okiem na wtyczkę patogen . Po zainstalowaniu wtyczek możesz przechowywać wszystkie wtyczki w osobnych folderach w~/.vim / bundle/ , a patogen zajmie się ich załadowaniem.
Lub, alternatywnie, może wolisz Vundle , który zapewnia podobną funkcjonalność (z dodatkowym bonusem automatycznych aktualizacji z wtyczek w GitHubie).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-02 10:14:10