spf13-vim

spf13-vim:Steve Francia的Vim Distribution

                __ _ _____              _
     ___ _ __  / _/ |___ /      __   __(_)_ __ ___
    / __| '_ \| |_| | |_ \ _____\ \ / /| | '_ ` _ \
    \__ \ |_) |  _| |___) |_____|\ V / | | | | | | |
    |___/ .__/|_| |_|____/        \_/  |_|_| |_| |_|
        |_|

spf13-vim是Vim,GvimMacVim的vim插件和资源的分布。

对于任何打算在Windows,Linux,* nix和Mac上使用VIM进行开发的人来说,这是一个很好的起点。

利用分布是完全可定制的~/.vimrc.local~/.vimrc.bundles.local~/.vimrc.before.localVim的RC文件。

spf13-vim图像

与传统的VIM插件结构不同,它类似于UNIX将所有文件抛入公共目录,使更新或禁用插件变得非常混乱,spf13-vim 3使用Vundle插件管理系统来组织良好的vim目录(类似于mac的app文件夹) 。Vundle还确保安装最新版本的插件,并使其易于更新。

我们非常谨慎地确保每个插件与其他插件完美匹配,并且已经为我们认为最有效的用途提供了可选配置。

最后(也许,最重要的)它完全是跨平台的。它适用于Windows,Linux和OSX,无需任何修改或其他配置。如果您使用的是MacVimGvim,则会启用其他功能。所以无论您的环境如何,只需克隆并运行即可

安装

要求

要使所有插件工作,特别是neocomplete,你需要vim与lua

Linux,* nix,Mac OSX安装

安装spf13-vim的最简单方法是使用我们的自动安装程序,只需将以下行复制并粘贴到终端即可。这将安装spf13-vim并备份您现有的vim配置。如果要从先前版本(3.0之前)升级,这也是推荐的安装。

需要Git 1.7+和Vim 7.3+

    curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh

如果你有一个与bash兼容的shell,你可以直接运行脚本:

    sh <( curl https://j.mp/spf13-vim3 -L 

在Windows上安装

在Windows和* nix 上需要GitCurl。此外,如果您还没有这样做,则需要安装Vim。安装所有三个依赖项(GitCurlVimspf13-vim)的最快选项是通过Chocolatey NuGet。安装Chocolatey后,在命令提示符处执行以下命令:

C:\> choco install spf13-vim

注意:spf13-vim软件包也会安装Vim!

如果要单独安装msysgitCurlspf13-vim,请按照以下说明操作。

安装依赖项

安装Vim

安装Vim之后,必须在环境变量路径中添加一个新目录,以使其与spf13的脚本安装一起使用。

打开Vim并编写以下命令,它将显示已安装的目录:

:echo $VIMRUNTIME
C:\Program Files (X86)\Vim\vim74

然后,您需要将其添加到您的环境变量路径。之后尝试vim在命令提示符下执行(按Win-R,键入cmd,按Enter键),您将看到默认的vim页面。

安装msysgit

安装后尝试git --version命令提示符下运行(按Win-R键入cmd,按Enter键)以确保所有正常:

C:\> git --version
git version 1.7.4.msysgit.0

设置卷曲

从vundle readme中复制的指令 在Windows上安装Curl很简单,因为Curlmsysgit捆绑在一起!但在它可以与Vundle一起使用之前,需要curl命令提示符下运行make 。最简单的方法是curl.cmd使用此内容进行创建

@rem Do not use "echo off" to not affect any child calls.
@setlocal

@rem Get the abolute path to the parent directory, which is assumed to be the
@rem Git installation root.
@for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH%

@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%

@curl.exe %*

并将其复制到C:\Program Files\Git\cmd\curl.cmd,假设安装了msysgitc:\Program Files\Git

运行:验证所有好的,运行:

C:\> curl --version
curl 7.21.1 (i686-pc-mingw32) libcurl/7.21.1 OpenSSL/0.9.8k zlib/1.2.3
Protocols: dict file ftp ftps http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: Largefile NTLM SSL SSPI libz

在Windows上安装spf13-vim

最简单的方法是下载并运行spf13-vim-windows-install.cmd文件。如果希望成功创建符号链接,请记住以管理员模式运行此文件。

更新到最新版本

最简单(也是最安全)的更新方法是简单地重新运行安装程序。它将完全和非破坏性地升级到最新版本。

    卷曲https://j.mp/spf13-vim3 -L -o  - | SH

或者,您可以手动执行以下步骤。如果配置结构发生任何变化,则需要创建相应的符号链接。

    cd  $ HOME / to / spf13-vim / 
    git pull 
    vim + BundleInstall + BundleClean + q

把我放在GitHub上

我总是很乐意接受别人的拉请求。很多人已经成为spf13-vim的贡献者。来吧,分叉我。

高度优化的.vimrc配置文件

spf13-vimrc图像

.vimrc文件适合编程。它组织得非常好,并且可以分段折叠。每个部分都有标签,每个选项都有注释。

它修复了vanilla vim的许多不便之处

  • 单个配置可以在Windows,Mac和Linux上使用
  • 消除乱丢垃圾目录中的交换和备份文件,更喜欢存储在中心位置。
  • 修复常见的拼写错误:W,:Q等
  • 为格式化设置一组可靠的设置(更改以满足您的需求)
  • 设置界面以利用vim的功能,包括
    • omn​​icomplete
    • 行号
    • 语法高亮
    • 一个更好的统治者和地位线
    • & 更多
  • 配置包含的插件

定制

创建~/.vimrc.local~/.gvimrc.local任何本地自定义。

例如,要覆盖默认颜色方案:

    echo colorscheme ir_black   >>  〜/ .vimrc.local

在文件之前

创建一个~/.vimrc.before.local文件以定义在spf13-vim 之前加载的任何自定义项.vimrc

例如,要防止autocd进入文件目录:

    echo  let g:spf13_no_autochdir = 1 >>  〜/ .vimrc.before.local

有关spf13-vim特定自定义选项的列表,请查看该~/.vimrc.before文件。

叉子定制

对于那些想要维护专门针对特定组的spf13-vim的分支,可以使用额外的自定义层。这些用户可以在fork的根目录中创建.vimrc.fork 和.vimrc.bundles.fork文件。配置的加载顺序是:

  1. .vimrc.before - 配置前spf13-vim
  2. .vimrc.before.fork - 配置前分叉
  3. .vimrc.before.local - 在用户配置之前
  4. .vimrc.bundles - spf13-vim bundle配置
  5. .vimrc.bundles.fork - fork bundle配置
  6. .vimrc.bundles.local - 本地用户捆绑配置
  7. .vimrc - spf13-vim vim配置
  8. .vimrc.fork - fork vim配置
  9. .vimrc.local - 本地用户配置

有关.vimrc.bundles可以设置哪些选项以覆盖捆绑配置的详细信息,请参阅。有关.vimrc.before可以覆盖哪些选项的详细信息,请参阅。应在.vimrc.fork文件中设置大多数vim配置选项,需要在.vimrc.bundles.fork文件中设置bundle配置。

您可以使用.vimrc.before.forkfile 指定fork的默认包。以下是如何.vimrc.before.fork在fork repo中为默认包创建示例文件。

    echo  let g:spf13_bundle_groups = [ \' general \',\' programming \',\' misc \',\' youcompleteme \' ] >> .vimrc.before.fork

在repo中有此文件后,在第一次安装fork时,只会安装指定的软件包。

您可能还想更新您的README.markdown文件,以便bootstrap.sh链接指向您的存储库和bootstrap.sh 文件以下拉您的分支。

有关以这种方式提供自定义的spf13-vim fork的示例,请参阅taxilian的fork

轻松编辑配置

<Leader>ev打开一个包含上面列出的.vimrc配置文件的新选项卡。这样可以更轻松地概述配置并进行自定义。

<Leader>sv 获取.vimrc文件,立即将您的自定义应用于当前运行的vim实例。

这两个映射本身可以通过在.vimrc.before.local中设置以下内容来自定义:

 G:spf13_edit_config_mapping = ' <利达> EV '
克:spf13_apply_config_mapping = ' <利达> SV '

插件

spf13-vim包含一组受欢迎的vim插件,颜色,片段和语法。我们非常谨慎地确保这些插件能够很好地协同工作并具有最佳配置。

添加新插件

~/.vimrc.bundles.local为任何其他捆绑包创建。

要添加新捆绑包,只需为要安装的每个捆绑包添加一行。该行应以“Bundle”一词开头,后跟vim.org项目名称或githubusername / githubprojectname字符串。例如,可以使用以下命令添加github项目spf13 / vim-colors

    echo Bundle \' spf13 / vim-colors \'  >>  〜/ .vimrc.bundles.local

添加新插件后,必须安装它们。

    vim + Bundle安装+ BundleClean + q

删除(禁用)包含的插件

~/.vimrc.local如果它尚不存在则创建。

将UnBundle命令添加到此行。它需要与Bundle行相同的输入,因此只需复制要禁用的行,并在开头添加“Un”。

例如,禁用“AutoClose”和“scrooloose / syntastic”插件

    echo UnBundle \' AutoClose \'  >>  〜/ .vimrc.bundles.local
     echo UnBundle \' scrooloose / syntastic \'  >>  〜/ .vimrc.bundles.local

记得跑':BundleClean!' 在此之后删除现有目录

以下是一些插件:

Undotree

如果撤消更改然后进行新的更改,则在大多数编辑器中,您撤消的更改将永远消失,因为它们的撤消历史记录是一个简单的列表。从版本7.0开始,vim使用撤消树。如果在撤消更改后进行了新的更改,则会在该树中创建一个新分支。结合持久性撤消,这几乎与git一样灵活和安全;-)

通过创建所述撤消树的可视化表示,Undotree使该功能更易于访问。

快速启动使用<Leader>u

NERDTree

NERDTree是一个文件浏览器插件,为您的vim编辑提供“项目抽屉”功能。您可以通过以下方式了解更多信息 :help NERDTree

快速启动使用<Leader>e

自定义

  • 使用<C-E>切换NERDTree
  • 使用<leader>e<leader>nt加载NERDTreeFind,打开当前文件所在的NERDTree。
  • 隐藏杂乱('。pyc','。git','。hg','。svn','。。bzr')
  • 将NERDTree视为面板而非分割。

ctrlp

Ctrlp用100%viml插件替换Command-T插件。它提供了一种直观,快速的机制,可以从文件系统(带有正则表达式和模糊查找),打开缓冲区以及最近使用的文件中加载文件。

快速启动使用<c-p>

环绕

这个插件是处理成对的“环境”的工具。环境的示例包括括号,引号和HTML标记。它们与Vim所称的文本对象密切相关。提供了允许移除,改变和添加环境的映射。

详细信息遵循确切的语义,但首先,请考虑以下示例。星号(*)用于表示光标位置。

  Old text                  Command     New text ~
  "Hello *world!"           ds"         Hello world!
  [123+4*56]/2              cs])        (123+456)/2
  "Look ma, I'm *HTML!"     cs"<q>      <q>Look ma, I'm HTML!</q>
  if *x>3 {                 ysW(        if ( x>3 ) {
  my $str = *whee!;         vllllS'     my $str = 'whee!';

例如,如果光标位于内部"foo bar",则可以键入 cs"'以将文本转换为'foo bar'

还有更多,请查看 :help surround

NERDCommenter

无论文件类型如何,NERDCommenter都允许您对代码注释进行纠缠。help :NERDCommenterNERDCommenter上查看或查看我的帖子。

QuickStart<Leader>c<space>在Visual或Normal模式下切换注释。

neocomplete

Neocomplete是一个惊人的自动完成插件,增加了对代码段的支持。它可以从字典,缓冲区,omnicomplete和片段中同时完成。这是一个真正的插件,它使Vim自动完成与最好的编辑器相提并论。

快速入门只需开始输入,它将尽可能自动完成

自定义

  • 自动显示自动完成菜单
  • 支持选项卡并输入自动完成功能
  • <C-k>使用Neosnippet完成片段。

新完整的图像

YouCompleteMe

YouCompleteMe是另一个惊人的完成引擎。它的设置稍微复杂一些,因为它包含一个二进制组件,用户在工作之前需要编译它。因此,它非常快。

要启用YouCompleteMe youcompleteme,请通过覆盖您的组来添加到您的组列表中.vimrc.before.locallet g:spf13_bundle_groups=['general', 'programming', 'misc', 'scala', 'youcompleteme']这只是一个示例。请记住在此处选择您想要的其他组。

完成此操作后,您需要让Vundle从git中获取最新代码。你可以通过电话来做到这一点:BundleInstall!。您应该在列表中看到YouCompleteMe。

现在,您将在bundle目录中拥有代码,并可以继续编译核心。切换到已下载的目录。如果你有一个vanilla安装,那么cd ~/.spf13-vim-3/.vim/bundle/YouCompleteMe/应该做的伎俩。您应该在此目录中看到名为install.sh的文件。在运行安装程序之前,有几个选项需要考虑:

  • 你想要clang支持(如果你不知道这是什么,那么你可能不需要它)?
    • 您想链接本地libclang还是让安装程序为您下载最新版本?
  • 你想通过omnisharp服务器支持c#吗?

该插件在上面链接的网站上有详细记录。请务必阅读并确保您了解所需的选项。

对于想要使用eclim的java用户,请务必添加let g:EclimCompletionMethod = 'omnifunc'到.vimrc.local中。

Syntastic

Syntastic是一个语法检查插件,它在保存和打开时通过外部语法检查程序运行缓冲区。如果检测到语法错误,则会通知用户并且感到高兴,因为他们不必编译代码或执行脚本来查找它们。

自动关闭

AutoClose可以满足您的期望。这很简单,如果你打开支架,支架,支架,报价等,它会自动关闭它。它正确处理卷曲,并不妨碍像jinja和twig这样的东西的双重卷曲。

逃亡

Fugitive在vim中为git目录添加了普遍的git支持。有关更多信息,请使用:help fugitive

使用:Gstatus查看git status并键入-任何文件阶段或unstage它。p在文件上键入以在文件中输入git add -p和暂存特定的数据。

:Gdiff在打开的文件上使用以查看对该文件所做的更改

快速入门 <leader>gs以提升git状态

自定义

  • <leader>gs :GSTATUS
  • <leader>gd :GDIFF
  • <leader>gc :Gcommit
  • <leader>gb :Gblame
  • <leader>gl :考勤记录
  • <leader>gp :Git推
  • <leader>gw :Gwrite
  • :Git ___会将任何内容传递给git。

逃亡的形象

PIV

最完整和最新的PHP集成Vim,支持PHP 5.3+,包括最新的语法,功能,更好的折叠支持等。

PIV提供:

  • PHP 5.3支持
  • 自动生成PHP Doc(,pd on(函数,变量,类)定义行)
  • 自动完成类,函数,变量,常量和语言关键字
  • 更好的缩进
  • 完整的PHP文档手册(在完整文档的任何函数上点击K)

php vim itegration图像

Ack.vim

Ack.vim使用ack在当前目录中搜索模式。您可以通过以下方式了解更多信息:help Ack

快速入门:Ack

Tabularize

Tabularize允许您在等号和其他字符上对齐语句

自定义

  • <Leader>a= :Tabularize /=<CR>
  • <Leader>a: :Tabularize /:<CR>
  • <Leader>a:: :Tabularize /:\zs<CR>
  • <Leader>a, :Tabularize /,<CR>
  • <Leader>a<Bar> :Tabularize /<Bar><CR>

Tagbar

spf13-vim包含Tagbar插件。这个插件需要exuberant-ctags,并会自动为打开的文件生成标签。它还提供了一个面板,可以通过标签轻松导航

快速启动 CTRL-]时光标位于关键字(例如函数名称)上以跳转到其定义。

自定义:spf13-vim绑定<Leader>tt到切换标签栏面板

标签栏图片

注意:要获得完整语言支持,请运行brew install ctags以安装exuberant-ctags。

提示:查看:help ctags有关VIM内置ctag支持的信息。标签导航创建一个堆栈,可以遍历 Ctrl-](以查找令牌的来源)和Ctrl-T(跳回一个级别)。

在EasyMotion

EasyMotion提供了一种在Vim中使用动作的交互方式。

它可以快速将每个可能的跳转目标映射到一个键,从而实现非常快速和直接的移动。

QuickStart EasyMotion是使用正常动作触发的,但前缀为<leader><leader>

例如,此屏幕截图显示按下 ,,w

easymotion图像

航空公司

航空公司提供轻量级的可用状态线,没有外部依赖性。默认情况下,此配置使用符号不同状态行部分的分隔符,但可以配置为使用与电力线相同的符号。此处显示了第一个没有,然后是电力线符号的示例:

航空公司形象

要启用电力线符号,请首先安装其中一个电源线字体,或使用提供的说明修补您喜欢的字体。配置终端,MacVim或Gvim以使用所需的字体。最后加入let g:airline_powerline_fonts=1你的.vimrc.before.local

其他语法

spf13-vim附带了一些额外的语法:

  • Markdown(绑定到* .markdown,* .md和* .mk)
  • 枝条
  • Git提交(设置你EDITORmvim -f

惊人的色彩

spf13-vim包括solarizedspf13 vim颜色包

  • ir_black
  • 莫洛凯
  • peaksea

使用:color molokai切换到配色方案。

终端Vim用户将受益于曝光他们的终端仿真器并将曝光支持设置为16种颜色:

let g:solarized_termcolors=16
color solarized

终端模拟器colorschemes:

片段

它还包含一组非常完整的片段,用于与snipmate或neocomplete一起使用

VIM简介

如果您以前从未使用过VIM,请参考以下提示:

教程

模式

  • VIM有两种(常见)模式:
    • 插入模式 - 您键入的内容将添加到缓冲区中
    • 普通模式 - 您点击的键被解释为命令
  • 要进入插入模式,请点击 i
  • 要退出插入模式,请单击 <ESC>

有用的命令

  • 使用:q退出VIM
  • 某些命令以<Leader>键为前缀,默认情况下映射到\。Spf13-vim用于let mapleader = ","将其更改,为一致且方便的位置。
  • 键盘备忘单

猜你喜欢

转载自blog.csdn.net/qq_41955653/article/details/88757745