Giter Site home page Giter Site logo

vimconf's Introduction

vimconf

  • Super easy to install and extend
  • Everything in the vimrc is explained
  • A universal configuration with a syntax checker, plugin manager and more

Installation

Dependencies: exuberant/universal ctags (tagbar)

git clone https://github.com/timss/vimconf.git
ln -s vimconf/.vimrc ~/.vimrc

Run vim and it'll download and install all plugins automatically!

Configuration

If you choose to symlink your ~/.vimrc you can easily maintain an updated version of this vim configuration by using the local additions.

  • ~/.vimrc.plugins - Add your personal plugins here
  • ~/.vimrc.first - Prerequisites only, as it will be overwritten by whatever below
  • ~/.vimrc.last - Overrides everything, generally use this

I've chosen to include mostly universal plugins and configuration, meaning that not a lot is language specific and should be suitable for most use cases. If you want additional plugins for autocomplete and more you can do so easily using your local files mentioned above.

Some useful plugins could be:

  • clang_complete - C/C++ autocompletion using Clang
  • jedi-vim - Python autocompletion using the Jedi library
  • YouCompleteMe - Autocompletion for several languages (C/C++, Python, ..)

My personal configuration can be found in timss/dotfiles.

Disabling plugins

If you want to disable any of the plugins included in the main configuration either UnPlug them:

UnPlug 'ervandew/supertab'
UnPlug 'vim-syntastic/syntastic'

Or define a list of repo names to be disabled:

let g:plugs_disabled = ['supertab', 'syntastic']

Both should be added to ~/.vimrc.plugins.

Preview

Preview

Video: Writing a small perl-script using Vim (rather outdated)

Disclaimer

Even if this configuration can be used out of the box or tweaked using the local files, I urge you to build your own if you have the time and energy to do so. Only then will you be able to properly understand the reasoning behind each setting and tailor it to your personal workflow.

However I still believe my Vim setup will help you get a basis configuration for your own, introducing core ideas such as a plugin manager and .vimrc structure. Use this configuration well, but do not blindly trust it to suit you perfectly. It's intended to be played with!

Todo

  • Update preview (gifs)
  • Extract some language/plugin specific configuration to an example file (wiki)?
  • Lazy loading

vimconf's People

Contributors

timss avatar yourpresidentuniversal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vimconf's Issues

Bufferline pausing for 1-2 seconds on InsertLeave

Hello @timss, I love your work on this .vimrc and I learned a great deal from it. However there is a slight pause when leaving insertmode, with a bit of experimenting and searching I was able to track down the problem. You can fix it by adding to the .vimrc

  set ttimeoutlen=50

If this wasn't an issue or only on my specific computer you can ignore this. Again thanks for your work on this .vimrc

FileType of sh for *.txt

vimconf/.vimrc

Line 139 in 6ef3d9e

autocmd BufNewFile,BufRead *.txt set ft=sh tw=79

On line 139 you are setting the FileType to shell for text files.

I've overridden/corrected this in my .vimrc.last file, but just curious why are you doing that?

.vimrc.bundles is not being sourced

It's failing on line 39, as far as I can see you're using ("$HOME/.vimrc.bundles") and maybe it should be like 119 - ($HOME."/.vimrc.first").

Requires version 7.4 of Vim

You should add to the readme that version 7.4 is required in order for all of the plugins to work.

$ vim --version | head -n 1 | grep "\d\.\d"

No plugin-folder

Created some issues with Vim-Debug.
http://jaredforsyth.com/projects/vim-debug/

vimconf (master) > install-vim-debug.py
installing to /home/user/.vim/plugin/debugger.vim
Traceback (most recent call last):
File "/usr/local/bin/install-vim-debug.py", line 55, in
open(fname, 'w').write(text)
IOError: [Errno 2] No such file or directory: '/home/fredrik/.vim/plugin/debugger.vim'

Fixed by creating the folder ~/.vim/plugin

Add an option for disabling plugins using local config ~/.vimrc.plugins

Most settings, if not all, are possible to override using the local configuration files $HOME/.vimrc.{first,last}. Additional plugins can be added using $HOME/.vimrc.plugins.

One major caveat or limitation of the current setup is that plugins included in the main configuration can't be disabled or fully ignored using the local configuration. It should be possible to define a list of plugins that should never be installed, or otherwise allow users to disable plugins in the local configuration.

For instance:

let g:plugs_disabled = ['syntastic'] # or
UnPlug 'scrooloose/syntastic'

There are some similar solutions out there for vim-plug and other plugin managers today, usually solved in the vim distribution and not the plugin manager itself:

libclang path seems wrong

my operation system is kubuntu. first i use the config and everything is ok. But when i use the command

sudo apt-get install clang

then my vim gives an advice.

Loading libclang failed, completion won't be available
Consider setting g:clang_library_path

as a result autocomplete plugin doesn't work any more.

what should i do, i am a newbee.

many thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.