sponsor Vim development Vim logo Vim Book Ad

Vim - the ubiquitous text editor

Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as "vi" with most UNIX systems and with Apple OS X.

Vim is rock stable and is continuously being developed to become even better. Among its features are:
  • persistent, multi-level undo tree
  • extensive plugin system
  • support for hundreds of programming languages and file formats
  • powerful search and replace
  • integrates with many tools

  News  Vim 9.1.0861 is the current version 

Bram Moolenaar receives the Europe SFS Award by the FSFE posthumously

[2024-11-08] Bram has been posthumously honored by the Free Software Foundation Europe and received the Europe SFS Award 2024. (Christian Brabandt)

Support for the XDG Base Directory Specification

[2024-04-18] Patch 9.1.327 brings support for the freedesktop XDG Base Directory Specification and has now been merged. A few more adjustments have been made withe following patches: v9.1.0337 and 9.1.345. That means, you can now place your configuration files under ~/.config/vim/ instead of ~/.vim so Vim will stop littering your home directory. Note: To make this change backwards compatible, Vim will only attempt to source from that location, if ~/.vim/vimrc and ~/.vimrc file do not exist. So it won't impact existing users, but users that want to start using the new location, will need to move their existing configuration to the new place. You can also read about it at :h xdg-base-dir. Thanks to all the contributors that help Vim continuing to grow! (Christian Brabandt)

Vim 9.1 is released!

[2024-01-02] The Vim project is happy to announce that Vim 9.1 has finally been released. This release is dedicated to Bram Moolenaar, Vims lead developer for more than 30 years, who suddenly passed away in August 2023. The most notable changes are support for Vim9 classes and objects, smooth scrolling support and virtual text support. And as usual, runtime files have been updated, many bugs have been fixed and potential security relevant fixes have been included. You can find the full announcement here. (Christian Brabandt)

more news... Get a Vim T-shirt from FreeWear Get a Vim sticker or button Vim items from Japan
Vim power tool

Vim: The power tool for everyone!

See pictures of Bram's latest visit to Uganda on Google Photos.

Read the visit report on the ICCF website.

  Recent Script Updates  5,959 scripts, 18,771,069 downloads 
[2024-11-13]  TextTransform : Create text transformation mappings and commands.
(1.30) - ENH: Add range selectionMode that covers full lines between two patterns around the cursor, optionally with offsets, optionally just a match inside that range, optionally one indexed match. - ENH: Add g:TextTransformContext.triggerPos. - Mappings created through TextTransform#MakeMappings() now also abort on error. - BUG: Correctly double special keys with non-alpha characters (like <C-]>). *... - Ingo Karkat
[2024-11-13]  SyntaxRange : Define a different filetype syntax on regions of a buffer.
(1.04) - Allow setting additional contains groups via an optional argument to SyntaxRange#Include[Ex](). Thanks to Sergey Vlasov for sending a patch. - Rename the re-inclusion guard from b:SyntaxInclude_IncludedFiletypes (List) to b:SyntaxInclude_Included (Dict). Handle buffer reload via :edit by making it dependent on b:changedtick as well. - Ingo Karkat
[2024-11-13]  SwapText : Mappings to exchange text with the previously deleted text.
(1.03) - Adapt: Plugin broken since Vim 8.2.4242 (put in Visual mode cannot be repeated); need to use v_p instead of v_P command now. - Adapt: Detection of deletion at the end of the line broken since Vim 8.2.0324; implement workaround to handle all Vim versions. *** You need to update to ingo-library (vimscript #4433) version 1.042! *** - Ingo Karkat
[2024-11-13]  SubstituteExpression : Pass text through an expression.
(1.10) - ENH: Support applying the queried expression individually to matches of prepended /{pattern}/, or to items separated by ^{pattern}^, or via prepended "." to individual lines. *** You need to update to ingo-library (vimscript #4433) version 1.043! *** - Ingo Karkat
[2024-11-13]  StatusLineHighlight : Change statusline color depending on buffer state.
(1.20) - ENH: Add support for terminal windows (for which Vim already provides a special |hl-StatusLineTerm| highlight group, so the plugin just needs to ensure that other attributes (like 'modified') do not apply) and |prompt-buffer|s. - ENH: Use OptionSet event to immediately update the current window's statusline if 'previewwindow', 'modified', 'modifiable', or 'readonly' change. - Prevent "E539: Il... - Ingo Karkat
more recent | most downloaded | top rated
  Vim Tips
The tips are located on the Vim Tips wiki. This is a platform to exchange tips and tricks from and for Vim users.


If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
   
Vim at Github