Giter Site home page Giter Site logo

mutewinter / dot_vim Goto Github PK

View Code? Open in Web Editor NEW
679.0 33.0 128.0 3.44 MB

My 12 Year-Old (Neo)Vim Configuration

Home Page: https://github.com/mutewinter/dot_vim

License: MIT License

Ruby 3.89% Shell 0.60% Vim Snippet 2.04% Lua 1.24% Vim Script 92.23%
vim vim-configuration plug dotfiles vim-configs

dot_vim's Introduction

My 12 Year-Old (Neo)Vim Configuration

About

I've been iterating on this configuration for more than 12 years and 1,000 commits. It's very unlikely you'd want to use it directly. Instead, feel free to learn and take snippets from it.

Jump to Plugin List

Screenshot

Plugins and Configuration in their Own File

This is one of the things I'm most proud of, definitely steal it.

Each plugin is included and managed in its own file.

Installation

Be sure you read the About section above.

  1. git clone [email protected]:mutewinter/dot_vim.git ~/.config/nvim.
  2. cd ~/.config/nvim.

Now you have a choice. The automated script or the manual process.

  1. Run scripts/setup.

or

  1. rake vim:link to make the .vimrc and .nvimrc symbolic links.
  2. vim +PlugInstall +qall

Vim Requirements

Mappings

  • Pressing enter in normal mode saves the current buffer, if needed.

And many more. See mappings.vim and plug_plugins for more.

Installing Custom Plugins

Create a new .vim file with the same name as the plugin you'd like to install in plug_plugins/custom. Then add the installation block. For example:

plug_plugins/custom/vim-move.vim

if exists('g:plug_installing_plugins')
  Plug 'matze/vim-move.vim'
  finish
endif

let g:move_key_modifier = 'C'

This example installs vim-move.

Plugin List

Stars          Plugin Description
Star count coc.nvim 📄 Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
Star count vim-fugitive 📄 fugitive.vim: A Git wrapper so awesome, it should be illegal
Star count vim-surround 📄 surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease
Star count telescope.nvim 📄 Find, Filter, Preview, Pick. All lua, all the time.
Star count nvim-treesitter 📄 Nvim Treesitter configurations and abstraction layer
Star count copilot.vim 📄 Neovim plugin for GitHub Copilot
Star count nvim-tree.lua 📄 A file explorer tree for neovim written in lua
Star count vim-startify 📄 🔗 The fancy start screen for Vim.
Star count lualine.nvim 📄 A blazing fast and easy to configure neovim statusline plugin written in pure lua.
Star count gitsigns.nvim 📄 Git integration for buffers
Star count mini.nvim 📄 Library of 35+ independent Lua modules improving overall Neovim (version 0.7 and higher) experience with minimal effort
Star count undotree The undo history visualizer for VIM
Star count editorconfig-vim 📄 EditorConfig plugin for Vim
Star count Comment.nvim 📄 🧠 💪 // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more
Star count vim-dadbod 📄 dadbod.vim: Modern database interface for Vim
Star count diffview.nvim 📄 Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
Star count neogit 📄 An interactive and powerful Git interface for Neovim, inspired by Magit
Star count vim-abolish abolish.vim: Work with several variants of a word at once
Star count vim-repeat repeat.vim: enable repeating supported plugin maps with "."
Star count targets.vim Vim plugin that provides additional text objects
Star count plenary.nvim 📄 plenary: full; complete; entire; absolute; unqualified. All the lua functions I don't want to write twice.
Star count splitjoin.vim 📄 Switch between single-line and multiline forms of code
Star count vim-coffee-script CoffeeScript support for vim
Star count vim-eunuch eunuch.vim: Helpers for UNIX
Star count nvim-web-devicons lua fork of vim-web-devicons for neovim
Star count ctrlsf.vim A text searching plugin mimics Ctrl-Shift-F on Sublime Text 2
Star count vim-textobj-user Vim plugin: Create your own text objects
Star count lush.nvim 📄 Create Neovim themes with real-time feedback, export anywhere.
Star count neoscroll.nvim 📄 Smooth scrolling neovim plugin written in lua
Star count vim-peekaboo 👀 " / @ / CTRL-R
Star count vim-dadbod-ui 📄 Simple UI for https://github.com/tpope/vim-dadbod
Star count vim-jsx-pretty 🔦 [Vim script] JSX and TSX syntax pretty highlighting for vim.
Star count nvim-ts-context-commentstring 📄 Neovim treesitter plugin for setting the commentstring based on the cursor location in a file.
Star count lazygit.nvim 📄 Plugin for calling lazygit from within neovim.
Star count vim-rhubarb rhubarb.vim: GitHub extension for fugitive.vim
Star count playground 📄 Treesitter playground integrated into Neovim
Star count vim-node Tools and environment to make Vim superb for developing with Node.js. Like Rails.vim for Node.
Star count vim-hardtime 📄 Plugin to help you stop repeating the basic movement keys
Star count vim-jsbeautify 📄 vim plugin which formated javascript files by js-beautify
Star count switch.vim 📄 A simple Vim plugin to switch segments of text with predefined replacements
Star count tmux-complete.vim Vim plugin for insert mode completion of words in adjacent tmux panes
Star count open-browser.vim 📄 Open URI with your favorite browser from your most favorite editor
Star count vim-graphql A Vim plugin that provides GraphQL file detection, syntax highlighting, and indentation.
Star count iswap.nvim 📄 Interactively select and swap function arguments, list elements, and much more. Powered by tree-sitter.
Star count specs.nvim 📄 👓 A fast and lightweight Neovim lua plugin to keep an eye on where your cursor has jumped.
Star count package-info.nvim 📄 ✍️ All the npm/yarn/pnpm commands I don't want to type
Star count nvim-cursorline 📄 A plugin for neovim that highlights cursor words and lines
Star count vim-asterisk 📄 ❄️ *-Improved
Star count vim-misc Miscellaneous auto-load Vim scripts
Star count vim-ragtag ragtag.vim: ghetto HTML/XML mappings (formerly allml.vim)
Star count vim-tmux 📄 vim plugin for tmux.conf
Star count rainbow-delimiters.nvim 📄 Rainbow delimiters for Neovim with Tree-sitter
Star count pgsql.vim 📄 The best PostgreSQL plugin for Vim!
Star count color-picker.nvim 📄 A powerful Neovim plugin that lets users choose & modify RGB/HSL/HEX colors.
Star count vim-sort-motion Vim mapping for sorting a range of text
Star count telescope-coc.nvim 📄 coc.nvim integration for telescope.nvim
Star count QFEnter 📄 Open a Quickfix item in a window you choose. (Vim plugin)
Star count coc-tailwind-intellisense 📄 Coc.nvim extension for Tailwind CSS IntelliSense
Star count ListToggle 📄 A vim plugin for toggling the display of the quickfix list and the location-list.
Star count vim-togglecursor 📄 Toggle the cursor shape in the terminal for Vim.
Star count jellybeans-nvim 📄 A port of jellybeans colorscheme for neovim
Star count Join a better (hopefully) :Join command in vim
Star count vim-handlebars [deprecated] Vim plugin for Handlebars
Star count scratch.vim Plugin to create and use a scratch Vim buffer
Star count vim-reveal-in-finder Reveal the current file in the OS X Finder.
Star count nvim-colorizer.lua 📄 Fork of Neovim colorizer to support Typewind
Star count indent-guides.nvim 📄 Problem fetching glepnir/indent-guides.nvim.
Star count HelpClose Close all help windows
Star count vim-autoreadwatch A forked script for vim auto reloading of buffers when changed on disk.

That's 72 plugins, holy crap.

Generated by rake update_readme on 2024/01/09.

dot_vim's People

Contributors

binaryphile avatar derfel avatar fl4t avatar jankei avatar liminal avatar mayanksuman avatar mutewinter avatar padi avatar rekendahl avatar tom-kuca avatar wadkar 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dot_vim's Issues

leaving vim changes xterm cursor

Not sure if this is just me, but leaving vim will change the xterm block cursor to an ibar.
Not exactly a mind-blowing issue, but I thought that someone might know how to get vim to not mess with xterm's block cursor.

Fantastic project by the way, love it!

auto-pairs

say have you ever considered using a plugin which automatically completes quotes and other pairs? I'm trying out jiangmiao/auto-pairs. just started so i don't have a recommendation but I recently realized it's one of the features I miss from other editors.

Windows Cygwin install issues

@mutewinter thank you for a great setup. I just (for now) switched to it from spf13 (which I also like). Main reason for switch is that YouCompleteMe doesn't seem to work under spf13 but works here.

I have no issues installing this on my mac but would like to install it on 1) Windows 7 under cygwin and later CentOS 5/6.

When I try to run vim "+mkspell ~/.vim/spell/custom.en.utf-8.add" +PluginInstall +qall I get the following errors:

Error detected while processing /home/Robert Ekendahl/.vim/vundle.vim:
line   18:
E172: Only one file name allowed: source /home/Robert Ekendahl/.vim/vundle_plugins/ag.vim
Error detected while processing /home/Robert Ekendahl/.vim/config.vim:
line    9:
E185: Cannot find color scheme 'jellybeans'
Error detected while processing /home/Robert Ekendahl/.vim/plugins.vim:
line    3:
E172: Only one file name allowed: source /home/Robert Ekendahl/.vim/vundle_plugins/ag.vim
Press ENTER or type command to continue

It then simply installs ag.vim :-(

It would be great if this could be installed on Windows and under cygwin

tcomment syntax is deprecated

tcomment: tcommentMapLeaderOp1 is deprecated; please use g:tcomment_opleader1 instead; your setting might be ignored
tcomment: tcommentMapLeader1 is deprecated; please use g:tcomment_mapleader1 instead; your setting might be ignored
tcomment: tcommentMapLeader2 is deprecated; please use g:tcomment_mapleader2 instead; your setting might be ignored

I just can't find time to make it work, sorry. :(

setup missing info

There are a couple of issues with the setup instructions:

  • your username is hardcoded in the git clone command
  • the instructions don't mention that you have to manually install vundle before starting vim and running :BundleInstall

Vim errors on startup if Dash isn't installed

Just FYI, it took me a little bit to track this down, but I was getting an error when starting Vim if Dash wasn't installed first. I'd send a pull-request to update the readme but I wasn't sure if you'd consider Dash an actual requirement or not.

Quickfixsigns interacts poorly with :Glog command from fugitive

The quickfixsigns plugin interacts poorly with the :Glog command from fugitive, wanting a line number that :Glog isn't supplying. This results in many lines of error messages, one per log entry. Even worse, those error messages are repeated every time you do a :cnext command (or equivalent mapping), making it painful to use fugitive.

https://gist.github.com/1714107 shows the results of running :Glog on the vimrc file from https://github.com/mutewinter/dot_vim.

Possible fixes might involve patching quickfixsigns not to complain when lnum = 0 -- the following patch to quickfixsigns seems to work:

diff --git a/plugin/quickfixsigns.vim b/plugin/quickfixsigns.vim
index 9215b34..79f384e 100755
--- a/plugin/quickfixsigns.vim
+++ b/plugin/quickfixsigns.vim
@@ -614,9 +614,9 @@ function! s:PlaceSign(class, sign, list) "{{{3
                     endif
                 endif
             else
-                echohl WarningMsg
-                echom "Quickfixsigns PlaceSign: Invalid lnum:" string(item)
-                echohl NONE
+                "echohl WarningMsg
+                "echom "Quickfixsigns PlaceSign: Invalid lnum:" string(item)
+                "echohl NONE
             endif
         endfor
     finally

Another fix would, of course, be removing quickfixsigns from the installed bundles list, though that might be overkill considering a 3-line patch is enough to solve the problem.

tmux navigator bindings in terminal

Hi, thanks for this awesome treasure trove of vim goodies.

I'm trying to track down an issue with vim navigation from within tmux and I was wondering if you'd be willing to share the tmux config file you're using in conjunction with this repo.

Namely, I'm wondering how you got the alt/meta key to work from the Terminal with these tmux navigator bindings:

nnoremap <silent> <M-h> :TmuxNavigateLeft<cr>
nnoremap <silent> <M-j> :TmuxNavigateDown<cr>
nnoremap <silent> <M-k> :TmuxNavigateUp<cr>
nnoremap <silent> <M-l> :TmuxNavigateRight<cr>

License missing?

Would it be possible to add a license to the repo so we can be sure under which conditions we're actually allowed to copy and/or reuse the code here?

Cannot find color scheme 'jellybeans'

Hello,

I'm on OS X 10.12.6 and using nvim installed with Homebrew. After installing with:

git clone http://github.com/mutewinter/dot_vim.git ~/.config/nvim.
cd ~/.config/nvim.

I get the following error when starting nvim:

Error detected while processing /Users/rms/.config/nvim/config.vim:
line    9:
E185: Cannot find color scheme 'jellybeans'
Press ENTER or type command to continue

I've checked in the ~/.config/nvim/plug_plugins folder and I do see the jellybeans.vim directory.

Am I doing something wrong?

Thank you.

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.