Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


An implementation of Vim's command-line mode for Sublime Text 2

Subscribe to updates I use VintageEx

Statistics on VintageEx

Number of watchers on Github 356
Number of open issues 26
Average time to close an issue 19 days
Main language Python
Average time to merge a PR 16 days
Open pull requests 7+
Closed pull requests 6+
Last commit almost 8 years ago
Repo Created about 9 years ago
Repo Last Updated over 2 years ago
Size 504 KB
Organization / Authorsublimetext
Page Updated
Do you use VintageEx? Leave a review!
View open issues (26)
View VintageEx activity
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating VintageEx for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)



A rendition of Vim's command-line mode for Sublime Text 2.


This whole package is distributed under the MIT license (see LICENSE.txt).


VintageEx aims at full cross-platform compatibility. Howerver, I cannot test under OS X, so patches and feedback are welcome.


Download the latest version_, put it under Installed Packages and restart Sublime Text.

.. _latest version: https://bitbucket.org/guillermooo/vintageex/downloads/VintageEx.sublime-package .. TOOD: add link to Vintage's help file

VintageEx doesn't replace Vintage: To use vi key bindings, you need to enable the Vintage_ package (shipped with Sublime Text and ignored by default).

.. _Vintage: http://www.sublimetext.com/docs/2/vintage.html

VintageEx extends the vi-like functionality provided py Vintage by adding a command-line mode that tries to remain close to Vim's.

Also, because VintageEx uses commands in the Vintage package, this package must be under your Packages folder with that name. This is mostly important to keep in mind if you contribute code to Vintage and have deleted the original package.


To open the command line, press :.

VintageEx offers tab completion of top-level commands, so you can type a letter and press Tab to cycle through available commands.

To see the implemented commands, you can look through ex_commands.py.


These settings should be stored in your personal preferences (Packages/User/Preferences.sublime-settings).


The name of the shell through which commands should be executed (bash, ksh, etc.). If empty, the $SHELL variable will be read when a shell is needed.


The name of the preferred terminal emulator (gnome-terminal, xterm, etc.). If empty, the variables $COLORTERM and $TERM will be read in turn when a terminal is needed.


If you want to show your appreciation, you can tip me through Gittip: guillermooo_.

.. _guillermooo: http://www.gittip.com/guillermooo/

VintageEx open issues Ask a question     (View All Issues)
  • over 7 years Please add support to Sublime Text 3
  • over 7 years Make search with '/' act like in vim, e.g. as movement command
  • over 7 years :sh not working
  • almost 8 years Regex escape characters missing in substitute
  • almost 8 years Advanced search
  • almost 8 years no history for search panel?
  • about 8 years ":" not working in CSS syntax
  • about 8 years Error at startup
  • about 8 years Put after :delete and :yank commands appends text to the current line
  • about 8 years :delete command should put deleted text to unnamed register
  • about 8 years :copy and :move commands - address 0 and 1 do not work as expected
  • about 8 years create/update Preferences.sublime-settings files
  • about 8 years :files command won't select unsaved buffers after restarting sublime text
  • about 8 years Search + Visual
  • about 8 years add filesystem completion
  • about 8 years Window management commands
  • almost 9 years reverse search in ranges should not default to current line if there are no matches
  • almost 9 years Experimental - :callplugin to call plugins
  • almost 9 years Integrate with PowerShellUtils for external filtering
VintageEx open pull requests (View All Pulls)
  • Fix escaping in Linux filter_region.
  • Update README.rst
  • Fixed Typo
  • Fixed 2 typos in the readme
  • Update README.rst
  • disable sel on search
  • activate ":0" command in vintage mode
VintageEx questions on Stackoverflow (View All Questions)
  • Why doesn't colon work in VintageEx?
VintageEx list of languages used
Other projects in Python
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark