我想尝试下面链接的Vim插件。它为.haml
和(可能).sass
文件添加语法突出显示。
http://github.com/tpope/vim-haml
我做了这个
$ cd ~/.vim
$ git clone git://github.com/tpope/vim-haml.git
我.haml
在Vim中打开了一个文件,但是没有突出显示。我必须执行另一个步骤。
:syntax on
我想尝试下面链接的Vim插件。它为.haml
和(可能).sass
文件添加语法突出显示。
http://github.com/tpope/vim-haml
我做了这个
$ cd ~/.vim
$ git clone git://github.com/tpope/vim-haml.git
我.haml
在Vim中打开了一个文件,但是没有突出显示。我必须执行另一个步骤。
:syntax on
Answers:
这两个命令将创建一个~/.vim/vim-haml/
目录,其中包含ftplugin,语法等目录。这些目录必须立即位于~/.vim
适当的目录中,或者~/.vim/vim-haml
需要添加到vim搜索插件的路径列表中。
编辑:
我最近决定调整我的vim配置,并在此过程中编写了以下rakefile文件。它仅可在Mac / Linux上运行,但与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
确保实际.vim
文件在~/.vim/plugin/
~/.vim
,您的意思是说vim安装在什么地方,对吗?存储的位置$VIM
(即,如果您位于的话:echom $VIM
)
:echom $VIM
显示/usr/share/vim
。但是此答案使用前缀~
来建议在用户的主目录中安装插件。
为了扩展Karl的回答,Vim查找其运行时文件的一组特定目录。您可以通过看到该目录集:set runtimepath?
。为了告诉Vim也要查看内部,~/.vim/vim-haml
您需要添加
set runtimepath+=$HOME/.vim/vim-haml
给你~/.vimrc
。您可能还希望其中的以下内容~/.vimrc
启用vim-haml提供的所有功能。
filetype plugin indent on
syntax on
您可以参考Vim中的'runtimepath'
和:filetype
帮助主题以获取更多信息。
我认为您应该看看Pathogen插件。安装此插件后,您可以将所有插件放在〜/ .vim / bundle /中的单独文件夹中,Pathogen将负责加载它们。
或者,或者,您可能更喜欢Vundle,它提供了类似的功能(具有来自github中插件的自动更新的额外好处)。
更新(截至2019年):
cd ~/.vim
git clone git://github.com/tpope/vim-haml.git pack/bundle/start/haml
说明(来自:h pack
ad :h packages
):
runtimepath
。它们必须以〜/ .vim / pack / whatever / 开头 [您只能更改任何内容]。plugins
目录中找到的插件runtimepath
均已获得。因此,这会在启动时加载插件(因此名称为start)。
:packadd
如果将它们放在〜/ .vim / pack / bundle / opt中,也可以获取可选插件(已加载)。