Vim Configuration from Minimal to Complete

This page summarizes the projects mentioned and recommended in the original post on dev.to

Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
  1. vimrc

    The ultimate Vim configuration (vimrc) (by ThomasMarcel)

    Everything from here will be branched. So this is what the tags look like so far in the repository:

  2. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  3. vim-sensible

    sensible.vim: Defaults everyone can agree on

    vim-sensible (we started our .vimrc file with that, so not mandatory, but like that it'll be up to do date)

  4. vim-pathogen

    pathogen.vim: manage your runtimepath

    With vim 7.4, there was some tuning to do to manage the runtime path, that's why there are a bunch of plugin managers out there, like the minimalistic, solid vim-pathogen by Tim Pope (again!), vundle, then asynchronous and fast dein, and my favorite Vim-Plug.

  5. vim-awesome

    Awesome Vim plugins from across the universe

    VimAwesome, look in the language menu, there are a lot of tags. you can check out the plugins by language

  6. Puts Debuggerer

    Ruby library for improved puts debugging, automatically displaying bonus useful information such as source line number and source code.

    diff --git a/.vimrc b/.vimrc index 9535a37..373d076 100644 -------- a/.vimrc +++ b/.vimrc @@ -148,7 +148,7 @@ silent function! WINDOWS() endfunction set omnifunc=syntaxcomplete#Complete -set spell +" set spell " Smart mapping for tab completion " https://vim.fandom.com/wiki/Smart_mapping_for_tab_completion @@ -208,3 +208,15 @@ let g:ale_set_loclist = 1 let g:ale_set_quickfix = 1 let g:ale_open_list = 1 let g:ale_list_window_size = 5 + +set background=dark +colorscheme solarized8 +if has('gui_running') + if has('gui_gtk2') + set guifont=Dank\ Mono\ Regular:h12 + elseif has('gui_macvim') + set guifont=Dank\ Mono\ Regular:h12 + elseif has('gui_win32') + set guifont=Dank\ Mono\ Regular:h12 + endif +endif diff --git a/bin/plugins.sh b/bin/plugins.sh index 3b87ba4..38b9e9c 100755 -------- a/bin/plugins.sh +++ b/bin/plugins.sh @@ -10,6 +10,8 @@ git_plugins=( "tpope/vim-sensible" "lifepillar/vim-mucomplete" "tpope/vim-fugiti linter_plugins=( "dense-analysis/ale" ) +color_plugins=( "lifepillar/vim-solarized8" ) + for plugin in "${git_plugins[@]}"; do folder=$(echo $plugin | cut -d'/' -f2) if [ ! -d "$folder" ]; then @@ -31,3 +33,14 @@ for plugin in "${linter_plugins[@]}"; do cd .. fi done + +for plugin in "${color_plugins[@]}"; do + folder=$(echo $plugin | cut -d'/' -f2) + if [ ! -d "$folder" ]; then + git clone --depth 1 "https://github.com/$plugin.git" + else + cd "$folder" + git fetch origin + cd .. + fi +done

  7. vim-mucomplete

    Chained completion that works the way you want!

    diff --git a/.vimrc b/.vimrc index 7f727b8..65a4c7a 100644 -------- a/.vimrc +++ b/.vimrc @@ -148,6 +148,7 @@ silent function! WINDOWS() endfunction set omnifunc=syntaxcomplete#Complete +set spell " Smart mapping for tab completion " https://vim.fandom.com/wiki/Smart_mapping_for_tab_completion @@ -172,4 +173,4 @@ function! Smart_TabComplete() endif endfunction -inoremap =Smart_TabComplete() +" inoremap =Smart_TabComplete() diff --git a/bin/plugins.sh b/bin/plugins.sh old mode 100644 new mode 100755 index 23d88c2..ab903ec -------- a/bin/plugins.sh +++ b/bin/plugins.sh @@ -6,4 +6,15 @@ fi cd ~/.vim/pack/bundle/start -git clone --depth 1 https://github.com/lifepillar/vim-mucomplete.git +git_plugins=( "tpope/vim-sensible" "lifepillar/vim-mucomplete" "tpope/vim-fugitive" "tpope/vim-commentary" "tpope/vim-surround" "tpope/vim-vinegar" "tpope/vim-sleuth" "tpope/vim-obsession" "raimondi/delimitmate" "ctrlpvim/ctrlp.vim" ) + +for plugin in "${git_plugins[@]}"; do + folder=$(echo $plugin | cut -d'/' -f2) + if [ ! -d "$folder" ]; then + git clone --depth 1 "https://github.com/$plugin.git" + else + cd "$folder" + git fetch origin + cd .. + fi +done

  8. vim-fugitive

    fugitive.vim: A Git wrapper so awesome, it should be illegal

    vim-fugitive git wrapper

  9. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  10. vim-commentary

    commentary.vim: comment stuff out

    vim-commentary comment stuff out

  11. vim-surround

    surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease

    vim-surround manipulate enclosing characters, tags, etc

  12. vim-vinegar

    vinegar.vim: Combine with netrw to create a delicious salad dressing

    vim-vinegar to move around from buffer to netrw (vim's directory browser)

  13. vim-sleuth

    sleuth.vim: Heuristically set buffer options

    vim-sleuth to set indentation

  14. vim-obsession

    obsession.vim: continuously updated session files

    vim-obsession vim session autosave and other session-related things

  15. delimitMate

    Vim plugin, provides insert mode auto-completion for quotes, parens, brackets, etc.

    delimitmate to automatically close quotes, etc

  16. ctrlp.vim

    Active fork of kien/ctrlp.vimβ€”Fuzzy file, buffer, mru, tag, etc finder. (by ctrlpvim)

    ctrlp.vim search for a file

  17. ale

    Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

    ale is my favorite. Works really fine, is pretty fast and asynchronous, so not frustrating.

  18. vim-polyglot

    A solid language pack for Vim.

    Language packs. So here, you have to look for them one by one, depending on the languages you use. Sometimes, the official website or official organization in GitHub or such offers a plugin, like Rust or Rescript. Sometimes you will have to search for "javascript vim" or something, and check out the results. The vim-polyglot language package list is also a good starting point to search for a specific language

  19. vim-solarized8

    Optimized Solarized colorschemes. Best served with true-color terminals!

    Let's take an example with the famous solarized8 color theme. Basically, we get the plugin, set the colorscheme variable, background tone (light/dark).

  20. vim-easy-align

    :sunflower: A Vim alignment plugin

  21. vim-visual-multi

    Multiple cursors plugin for vim/neovim

    vim-visual-multi for multi selectors

  22. goyo.vim

    :tulip: Distraction-free writing in Vim

    goyo.vim distraction-free mode

  23. limelight.vim

    :flashlight: All the world's indeed a stage and we are merely players

    limelight.vim focus on current paragraph, dim the rest (cool with goyo)

  24. lightline.vim

    A light and configurable statusline/tabline plugin for Vim

    lightline.vim status bar

  25. vim-devicons

    Adds file type icons to Vim plugins such as: NERDTree, vim-airline, CtrlP, unite, Denite, lightline, vim-startify and many more

    devicons file, scm icons

  26. vim-startify

    :link: The fancy start screen for Vim.

    startify cool vim startup page, with recent files and a quote

  27. any-jump.vim

    Jump to any definition and references πŸ‘ IDE madness without overhead πŸš€

    any-jump.vim jump to definition

  28. vim-highlightedyank

    Make the yanked region apparent!

    vim-highlightedyank to highlight the yaked text for a sec

  29. vim-thematic

    Alter Vim's appearance to suit your task & environ

    vim-thematic to switch between themes

  30. vim-gitgutter

    A Vim plugin which shows git diff markers in the sign column and stages/previews/undoes hunks and partial hunks.

    vim-gitgutter to display git information in the "gutter"

  31. ultisnips

    UltiSnips - The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips!

    ultisnips vim snippets engine

  32. vim-snippets

    vim-snipmate default snippets (Previously snipmate-snippets)

    vim-snippets actual snippets

  33. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Is it worthwhile to learn to use vi?

    1 project | /r/sysadmin | 8 Apr 2023
  • Vim newbie here, could you share your intuitive mappings?

    1 project | /r/neovim | 19 Jan 2023
  • What’s your most common Vim fuckup

    2 projects | /r/vim | 12 Dec 2022
  • How do you move your lines?

    2 projects | /r/vim | 28 Nov 2022
  • What is one key map you use that you don't understand how other Vim users live without?

    2 projects | /r/vim | 20 Nov 2022

Did you know that Vim Script is
the 34th most popular programming language
based on number of references?