Git Product home page Git Product logo

vim-setup's Introduction

Freedom from slow and buggy IDEs

license

At some point or the other, we have all sworn at our IDEs for being painfully slow, buggy or both. Here's vim to the rescue. This is a simple and non-intrusive vim config that can replace your IDE to some extent. It is simple because there are not too many bells and whistles. It is non-intrusive because it does not assume any conveniences on your behalf (i.e not a lot of customisations and re-mappings)

Installation

  • Clone the repository and run the install script:

    git clone https://github.com/pct960/vim-setup && cd vim-setup
    ./install

Features

Apart from the features the vanilla vim configuration provides (line numbers, relative line numbers, auto indent etc.), the config has been extended to do a few more things.

  1. Nerdtree is automatically loaded when vim is opened
  2. Opening a file places the focus on the file instead of on the nerdtree pane
  3. Closing a file closes both the file and the nerdtree pane (provided no other tabs are open)
  4. To open a file in a new tab, press t, and to open it in split mode press s (This is a vim feature I know, but do read further)
  5. Now, to easily switch between tabs use Ctrl โ† and Ctrl โ†’.(Mission control shortcuts will need to be disabled for this work on macOS) The NERDTree pane will be available on all tabs, thanks to NERDTreeTabs.
  6. To navigate directly to a specific tab use ,<tab number>
  7. A terminal can be opened from inside vim using ,<space>. This brings up fish, if present, otherwise, brings up bash. It can be closed by simply pressing Esc twice.

Screenshots

image

image

Why isn't autocomplete available?

Autocomplete was deliberately not added since adding language servers and a lot of plugins will severely slow it down. The objective of this project was to have a fast, simple and clean alternative to a bulky IDE. Adding features that make it slow would be counterproductive. That being said, features that do not compromise the smooth experience of vim can always be added.

Contributions

Feel free to open a pull request, raise an issue or a feature request.

Credits

  • spacevim for the install script structure
  • amix for plugin ideas
  • rraks for the vanilla vim configuration

vim-setup's People

Contributors

pct960 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

balvansh

vim-setup's Issues

Use tested versions of plugins, rather than clone from bleeding edge repo

From a comment on /r/vim

I never used a Vim distribution, but I have a feeling it could suffer from the same problem certain Emacs distributions - such as Spacemacs and Doom - could suffer from.

These type of projects have a ton of packages that turn vim/emacs into this ultra featureful tool. The problem is that you now have a ton of moving parts in which updates are bleeding edge - straight from the git repo.

My experience when I used Spacemacs is that I tried it for a week and it was fine. Than I installed it on another machine and a package was causing a weird error. Then while troubleshooting I went to my first machine and re-installed to see if the issue pops up and it did.

I think the solution to this would be to have the distribution creators host their own package repositories that include stable, tested versions of packages. I think Spacemacs is actually working on doing just this.

With Emacs and Vim, I can mostly recommend configuring things yourself. Especially with Vim because, IMO, it takes a lot less configuration to create a sane editor than Emacs (And I'm saying that as an Emacs user).

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.