热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

(转)共享个很棒的vim配置

发现了一个很棒的vim配置方法,现在共享给大家。https:github.comkepbodivimivim-TheVimDistributionofXiao-OuZ

发现了一个很棒的vim配置方法,现在共享给大家。

https://github.com/kepbod/ivim

 

ivim - The Vim Distribution of Xiao-Ou Zhang

See ivim's states on GitEgo

Installation

Manual Install

  1. A Vim/MacVim/gVim with version higher than 7.3 has been installed on your computer, and back up your origin vim stuff;
  2. Install Vundle to install and update plugins, git clone git://github.com/gmarik/vundle.git $HOME/.vim/bundle/vundle;
  3. Install hybrid theme, git clone git://github.com/w0ng/vim-hybrid.git $HOME/.vim/bundle/vim-hybrid;
  4. Get ivim from github website, git clone git://github.com/kepbod/ivim.git $HOME/ivim;
  5. Make symbolic links of vimrc to your home directory, ln -s $HOME/ivim/vimrc $HOME/.vimrc;
  6. Install plugins, vim +BundleInstall! +BundleClean! +qa!;
  7. Just enjoy it!

Automatic Install (*nix only)

via 'curl'

curl -L https://raw.github.com/kepbod/ivim/master/tools/bootstrap.sh | bash

via 'wget'

wget --no-check-certificate https://raw.github.com/kepbod/ivim/master/tools/bootstrap.sh -O - | bash

Updating

bash $HOME/ivim/tools/update.sh

If you confront errors when you update vim plugins, please run command below.

bash $HOME/ivim/tools/restore.sh

Requirements

Vim

  • This distribution is adapted to both Vim and MacVim/gVim. Remember that the Vim/MacVim/gVim version should be 7.3+, or errors would occur!

Git

  • All the installations are based on Git which is a famous distributed revision control system. If you use Windows, you may need install msysgit.

Ctags

  • Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. I recommend you to use Exuberant Ctags.

To use this distribution with less bugs, please get more suggestions from here

Features

Beautiful

  • Use lots of famous colorschemes to make your eyes feel comfortable in both Vim and MacVim/gVim.

    • Hybrid(default)
    • Tomorrow-Night
    • Solarized
    • Jellybeans

    screenshot

Efficient

  • Make using Vim more convenient and faster, and lots of useful plugins (such as Neocomplcache, NERD_commenter,Syntastic and SingleCompile) confirm a better performance of Vim.

This distribution is completely customisable using a ~/.vimrc.local~/.gvimrc.local and ~/.vimrc.bundles.local!

Plugin List

  • Vundle - Manage the Vim scripts
  • Tagbar - Browse the tags of source code files
  • NERD_tree - Explore filesystem and to open files and directories
  • NERD_commenter - Provide many different commenting operations and styles
  • Neocomplcache - Performs keyword completion by maintaining a cache of keywords
  • surround - Provide mappings to delete, change and add surroundings in pairs
  • delimitMate - Provides automatic closing of quotes, parenthesis, brackets, etc.
  • Ctrlp - Full path fuzzy file, buffer, mru and tag finder with an intuitive interface
  • Ag - A front for ag, A.K.A. the_silver_searcher
  • Ack - A replacement for 'grep' using Perl module App::Ack
  • Tabular - Line up text easily
  • Syntastic - Syntax check that runs files through external syntax checkers
  • EasyMotion - Provide a much simpler way to use some motions in Vim
  • Indent Guides - Visually display indent levels in Vim
  • fugitive - Git wrapper
  • Gundo - Visualize Vim undo tree
  • EasyTags - Automated tag generation and syntax highlighting in Vim
  • Powerline - Create better-looking, more functional Vim statuslines
  • SingleCompile - Compile or run a single source file without leaving Vim
  • CamelCaseMotion - Refine words motion in Vim
  • Zencoding - High-speed HTML, XML, XSL coding and editing
  • Splitjoin - Switch between a single-line statement and a multi-line one
  • Unite - Search and display information from arbitrary sources
  • rails.vim - Plugin for working with Ruby on Rails applications
  • Indent Object - Text objects based on indent levels
  • NrrwRgn - Focus on a region and making the rest inaccessible
  • unimpaired.vim - Complementary pairs of mappings
  • abolish.vim - Search for, substitute, and abbreviate multiple variants of a word
  • vimux - Easily interact with tmux from vim
  • markdown-preview - Select Markdown text, render to HTML and preview in browser
  • unite-outline - Provide your Vim's buffer with the outline view
  • swap-parameters - Swap parameters
  • autolink.vim - Find and insert URLs for links in Markdown and ReST documents
  • textobj-word-column.txt - Make operating on columns of code conceptually simpler and reduces keystrokes
  • vim-speeddating Use CTRL-A/CTRL-X to increment dates, times, and more
  • GoldenView.vim Manage windows more convenient
  • vim-startify Provide a good start screen for vim
  • vim-multiple-cursors Provide Sublime Text's awesome multiple selection feature to vim

Each plugin has its unique requirements and configurations, so if you have any questions with them, please check help files of them first!

Vim Tips

Learning Vim

  • A good learning method of Vim is vimtutor, a 30 minute tutorial that teaches the most basic Vim functionality hands-on.

    To try it, just type vimtutor on terminal.

  • Another way to get familiar with Vim commands and settings is just rely on the strong help system of Vim.

    It's easy and convenient to type :h or :help in Vim for help of whatever you want to know.

  • A beautiful Vim cheat sheet is available here. If you want one, just click it!

Key Mappings

  • Because I have set some key mappings for more convenient typing and checking, you may feel inconvenient with them at start. But if you get familiar with them, I'm sure you will love them.

    You can just type :map in Vim to see them.

More Tips

  • Vim_Tips_Wiki is an excellent website, and you can learn much from it.
  • Vimcasts publishes free screencasts about Vim. It's useful and interesting! Believe me!

Hope You Enjoy Vimming

Notes

This distribution refers to many other famous Vim configurations (mainly contain spf13-vim, Champions' Configuration and Steve's Configuration), so there may be some unavoidable errors in it, but I'll try my best to make it work well. If you have any questions, please feel free to post your issues and suggestions! Thanks!

Lisence

ivim - The Vim Distribution of Xiao-Ou Zhang

Copyright (C) 2013 Xiao-Ou Zhang

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


转载于:https://www.cnblogs.com/easonliu/p/3632026.html


推荐阅读
  • 系统osx10.11用的是brew下的php56brew下的nginx下了一个项目,在安装过程中提示缺少,intl和apc扩展,就用下面的语句下载了,也装上了,但php还是没有加载 ... [详细]
  • 1,启动MySQL终端输入mysql-uroot-p然后输入密码,启动成功WelcometotheMySQLmonitor.Commandsendwith;or\g.YourMyS ... [详细]
  • Linux提权之suid篇
    Linux提权之suid篇不知攻,焉知防一个在安服路上摸索的大三生,记录平时学习笔记suid前言:1.只有可以执行的二进制程序文件才 ... [详细]
  • socket.io是个基于node.js的快平台实时通讯框架。只用不到10行代码,就可以搭建一个简单的多人实时聊天室。先来看看运行后的效果:socket.io多人聊天室只要简单几 ... [详细]
  • Ubuntu16.0464位安装armlinuxgcc交叉编译器以及samba服务器
    交叉编译器是嵌入式开发的必要工具,但是由于目前大多数人使用64位ubuntu,在照着很多教程做的时候,就会失败,失败原因是64位ubuntu需要额外安装32位的兼容包。以arm-l ... [详细]
  • PNG在IE6下透明问题的解决办法
    2019独角兽企业重金招聘Python工程师标准做Web开发的朋友一定都知道PNG是一个相当不错的图片格式,但是这个好的格式却在IE6时代造成了麻烦࿰ ... [详细]
  • 缓冲区溢出实例(一)–Windows
    一、基本概念缓冲区溢出:当缓冲区边界限制不严格时,由于变量传入畸形数据或程序运行错误,导致缓冲区被填满从而覆盖了相邻内存区域的数据。可以修改内存数据,造成进程劫持,执行恶意代码,获 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了在单独的JVM上执行新的JavaFX应用程序相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Electron中使用globalShortcut模块来注册全局快捷键,以实现类似于微信和QQ按快捷键调用剪切窗口的功能。快捷键在应用程序加载完成后进行注册 ... [详细]
  • 一、概述ceph为k8s提供存储服务主要有两种方式,cephfs和cephrdb;cephfs方式支持k8s的pv的3种访问模式ReadWriteOnce,ReadOnlyMany ... [详细]
  • 近期因为内部培训有序列化的需求,于是趁此机会由浅入深的剖析一下序列化相关内容。之前也写过由浅入深的xml漏洞系列,欢迎阅读:https:skysec.top20180817浅析xml及其安全问题 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
author-avatar
飞舞的猫2502890283
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有