vim 용 플러그인을 어떻게 설치합니까?


147

아래 링크 된 Vim 플러그인을 사용 해보고 싶습니다. 그것은 구문 강조 기능 추가 .haml와 (아마도) .sass파일을.

http://github.com/tpope/vim-haml

나는 이걸했다...

$ cd ~/.vim
$ git clone git://github.com/tpope/vim-haml.git

.hamlVim에서 파일을 열었 지만 강조 표시가 없습니다. 수행해야 할 다른 단계가 있어야합니다.


7
G'day, 구문이 켜져 있습니까? (명백한 질문)
Rob Wells

2
저는 Vim을 처음 사용합니다. 구문을 켜려면 어떻게합니까?
Ethan

5
일반 모드에서 @ethan:syntax on
칼 Guertin 보낸 사람에게


새로운 Vim QA를위한 완벽한 질문 : area51.stackexchange.com/proposals/76728/…
eckes

답변:


52

이 두 명령은 ~/.vim/vim-haml/ftplugin, 구문 등의 디렉토리가 있는 디렉토리를 만듭니다 . 이러한 디렉토리는 ~/.vim적절한 디렉토리에 즉시 ~/.vim/vim-haml있어야 하거나 vim이 플러그인을 검색하는 경로 목록에 추가해야합니다.

편집하다:

나는 최근에 vim 설정을 조정하기로 결정했고 그 과정에서 다음 레이크 파일을 작성했습니다. 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

132

실제 .vim파일이 있는지 확인하십시오~/.vim/plugin/


17
간단한 답변 주셔서 감사합니다!
Drew LeSueur 2016 년

그렇습니다. 이것은 대부분의 사용자 질문을 해결한다고 생각합니다.
Dielson Sales

또는 ~ / .vim / plugin / 아래의 하위 디렉토리에 있습니까?
RajaRaviVarma

분명히 : 당신이 말할 때 ~/.vimvim이 설치된 곳을 의미합니까? 저장된 장소 $VIM(즉, 귀하 :echom $VIM가 그 장소 인 경우)
Fund Monica 's Lawsuit

내 시스템의 @QPaysTaxes가 :echom $VIM표시 /usr/share/vim됩니다. 그러나이 답변은 접두사 ~ 를 사용 하여 사용자의 홈 디렉토리에 플러그인을 설치하도록 제안합니다.
Paul Rougieux

45

Karl의 응답을 확장하기 위해 Vim은 특정 디렉토리 세트에서 런타임 파일을 찾습니다. 를 통해 해당 디렉토리 세트를 볼 수 있습니다 :set runtimepath?. Vim이 내부 ~/.vim/vim-haml를 들여다 보도록 하려면

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

당신에게 ~/.vimrc. ~/.vimrcvim-haml에서 제공하는 모든 기능을 활성화 하려면 다음을 원할 것 입니다.

filetype plugin indent on
syntax on

자세한 내용은 Vim 의 'runtimepath':filetype도움말 항목을 참조하십시오.


1
"구문 켜짐"또는 ": 구문 켜짐"입니까? "filetype"/ ": filtype"도 마찬가지입니다.
Ethan

4
대화식으로 입력 할 때 cmdline 모드로 들어가려면 ':'이 필요합니다. 스크립트에서는 스크립트가 cmdline 모드이기 때문에 필요하지 않습니다. 이 때문에 스크립트에서 ':'를 생략하는 것이 불필요한 관행을 추가하는 것이므로 표준 관행입니다.
jamessan

19

Pathogen 플러그인을 살펴 봐야한다고 생각합니다 . 이것을 설치 한 후에는 모든 플러그인을 ~ / .vim / bundle /의 별도 폴더에 보관할 수 있으며 Pathogen은로드를 처리합니다.

또는 대안으로 Vundle 을 선호 할 수도 있습니다 .Vundle 은 유사한 기능을 제공합니다 (github의 플러그인에서 자동 업데이트가 추가됨).


2

업데이트 (2019 년) :

cd ~/.vim
git clone git://github.com/tpope/vim-haml.git pack/bundle/start/haml

설명 ( :h packad :h packages) :

  1. 찾은 모든 디렉토리가에 추가됩니다 runtimepath. 그것들은 ~ / .vim / pack / whatever / start에 있어야합니다 [무엇이든 변경할 수 있습니다].
  2. plugins디렉토리에 있는 플러그인 runtimepath은 소스입니다.

따라서 시작시 플러그인을로드하므로 이름이 시작됩니다.

:packadd~ / .vim / pack / bundle / opt에 넣으면 옵션 플러그인 (로로드 )을 얻을 수도 있습니다


1
자세한 설명은 먼 길을 갈 것입니다. 그러나 이것은 제가 선호하는 방법이므로
공감할 것입니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.