Extensions for the Vim text editor (15 projects)

Tags: C code · Everything · Lua code · Python code · Syntax highlighting · Vim scripts
Sort by: GitHub watchers · Vim Online rating · Last updated · Lines of code

One of the most important tools for any programmer is their text editor — you can’t reach the zone when your development environment is working against you. After weighing my options for a while I decided to try Vim for at least a few months and then decide whether investing more time would be worth it. Five years later I’m still using Vim so i guess that worked out rather well :-). It took me a long time to grok Vim’s scripting language but since then I’ve been able to script everything I do in Vim which is really great. For some examples see my vimrc script and the plug-ins below.

notes.vim - Easy note taking in Vim

The notes.vim plug-in makes it easy to manage your notes in Vim by providing several (automatic) commands and an advanced syntax mode. Also included is a Python script that uses an SQLite full text index to accelerate keyword searching in hundreds of notes.

luainspect.vim - Semantic highlighting for Lua in Vim

Using the LuaInspect tool this plug-in performs (automatic) semantic highlighting of variables in Lua source code.

easytags.vim - Automated tag generation and syntax highlighting in Vim

This plug-in runs Exuberant Ctags in the background to keep a global tags file up to date without user intervention. It also uses this tags file to perform dynamic syntax highlighting of user-defined functions and other identifiers.

session.vim - Extended session management for Vim

The session.vim plug-in improves upon Vim’s built-in :mksession command by enabling you to easily and (if you want) automatically persist and restore your Vim editing sessions. It works by generating a Vim script that restores your current settings and the arrangement of tab pages and/or split windows and the files they contain.

lua.vim - Lua file type plug-in for the Vim text editor

This Lua file type plug-in for Vim makes it easier to work with Lua source code in Vim by providing features like a smart go to file mapping, automatic syntax checking, smart completion, help file searching, text objects, etc.

shell.vim - Improved integration between Vim and its environment

This plug-in aims to improve the integration between Vim and its environment by providing functions to switch to full-screen (see the screenshots), open URLs in the user’s default web browser and execute external commands in the background without opening a command prompt window. The shell.dll library exists to perform these things on Windows, while on UNIX external commands are used.

pyref.vim - Context-sensitive documentation for Python source code in Vim

This plug-in maps <F1> in Python files to search through the Python language reference and library reference documentation for the keyword or identifier at the current cursor position and open the first match in your web browser. When no GUI is available a command-line web browser like lynx or w3m will be used, otherwise the plug-in prefers a graphical web browser like Mozilla Firefox or Google Chrome. You can also use a local copy of the Python documentation (very handy when traveling without a reliable internet connection).

reload.vim - Automatic reloading of Vim scripts

When you edit and save a Vim script this plug-in automatically reloads the script. Supports standard plug-ins, auto-load scripts, file-type plug-ins, syntax highlighting scripts, file-type indentation plug-ins and color scheme scripts.

publish.vim - Publish hyperlinked, syntax highlighted source code with Vim

Vim’s runtime includes the script syntax/2html.vim which can be used to convert Vim’s syntax highlighting to HTML that, when viewed in a web browser, should look exactly the same. This plug-in enables you to run the 2html.vim script in batch-mode, to publish a whole tree of source code at once. It will also use tags files created by Exuberant Ctags to convert tags to hyper links, producing a tree of interlinked HTML documents. I’ve published the sources of all the plug-ins on this page as an example of the output produced.

open.vim - Open files and web pages in associated programs from Vim

Open files and web pages in their associated programs from Vim.

This Vim plug-in has been abandoned! Most of its code has been absorbed into my miscellaneous scripts for Vim while the user interface part is still found in my vim-shell plug-in. I will no longer maintain the open.vim plug-in since I’m shifting focus to the miscellaneous scripts (because they’re included in all of my Vim plug-ins and since I need the “open associated programs” functionality in several of my plug-ins, this makes most sense).

vim-misc - Miscellaneous auto-load Vim scripts

A collection of miscellaneous Vim script functions used by most of the Vim plug-ins I develop.

vim-tools - Python scripts to publish Vim plug-ins

Python scripts that make it easier for me to publish my Vim plug-ins (a Markdown to Vim help file converter and a ZIP package generator)

python.vim - Vim file type plug-in for the Python programming language

Supports syntax based folding and automatic syntax checking using pyflakes.

colorscheme-switcher.vim - Color scheme switcher for Vim

Makes it easy to quickly switch between colorschemes in Vim

vim-tlv-mode - Transaction-Level Verilog support for Vim

The vim-tlv-mode plug-in adds support for Transaction-Level Verilog (TLV for short) to the Vim text editor. The plug-in is intended to provide everything needed to efficiently develop TLV code in Vim: