वे दो कमांड्स ~/.vim/vim-haml/इसमें ftplugin, सिंटैक्स, आदि डायरेक्ट्री के साथ एक डायरेक्टरी बनाएंगे । उन निर्देशिकाओं को ~/.vimउचित रूप से निर्देशिका में तुरंत ~/.vim/vim-hamlकरने की आवश्यकता है या उन रास्तों की सूची में जोड़ने की आवश्यकता है जो प्लगइन्स के लिए खोज करते हैं।
संपादित करें:
मैंने हाल ही में अपने विम कॉन्फिग को ट्वीक करने का फैसला किया है और इस प्रक्रिया में निम्नलिखित रेकफाइल लिखकर घाव किया है। यह केवल मैक / लिनक्स पर काम करता है, लेकिन cpसंस्करणों पर लाभ यह है कि यह पूरी तरह से सुरक्षित है (सिमिलिंक मौजूदा फ़ाइलों को अधिलेखित नहीं करते हैं, केवल सिम्क्लिंक को हटाते हैं) और चीजों को अपडेट रखने के लिए आसान है।
# 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