Significant changes to vimfiles (newest changes first).
Changes marked with "BREAKING CHANGE" indicate an incompatible change that may require adjustment of per-user settings.
- Eliminate invalid
l:
prefix on a function name. This was apparently always illegal, but Vim used to permit it.
BREAKING CHANGE: Rename Foldsearch, Foldcomments, and Toascii to FoldSearch, FoldComments, and ToAscii for uniformity with other commands.
When embedding languages into
.rst
files for syntax highlighting, don't allow the languages to change 'iskeyword'. Previously, thesh
language was adding a period to 'iskeyword'.Improved interface for :Highlight command:
- New g:HighlightEnabled variable to control the default disposition of highlighting. In vimrc, this is set to 1, but it may be overridden in a vimrc-after file.
- New :HighlightOn and :HighlightOff commands that toggle highlighting for a single buffer.
It's recommended to avoid invoking ":Highlight no*" to disable highlighting, as that makes it difficult to restore highlighting of the items configured for the filetype; instead, use a combination of g:HighlightEnabled and :HighlightOn/:HighlightOff.
When pressing <CR> in insert mode, trailing whitespace will be removed from the previous line. So, with your cursor on the "X" below:
Place cursor on X and press Enter
Pressing Enter will remove the trailing space from "Place cursor on ". This helps avoid leaving trailing whitespace in a file.
See :help notes for ideas to intentionally preserve whitespace when pressing <Enter>.
- Add "unittest" plugin.
- Add routines for path manipulation in vimrc.
- Add unit tests for vimrc in test/test_vimrc.vim.
- Add RtpInherit() to allow inheriting from another user's configuration.
- Update fixkey to version 0.3.5 (supports TERM=screen-it and similar).
- Cause cpp snippets to inherit c snippet (thanks to John Szakmeister).
- Upgrade fugitive to version 2014-07-07. Incorporates a fix to ensure fugitive disables diff-mode only when it caused diff-mode in the first place.
- Upgrade fixkey to version 0.3.4. This includes a changed default for 'ttimeoutlen' (which won't impact much, as 5 ms is already set in vimrc), and documentation of an inherent problem using Vim macros to play back ambiguous keycodes.
- Upgrade textobj-user to version 0.6.3 and textobj-function to version 0.4.0. This fixes problems with newer versions of Vim. John Szakmeister worked with the maintainer of these plugins to get the needed corrections in-place.
- Upgrade to UltiSnips 3.0 (thanks to John Szakmeister). The "sample" snippets that used to ship with UltiSnips were removed in UltiSnips 3.0 and repackaged with the "vim-snippets" project. In addition, the "clearsnippets" functionality in UltiSnips 3.0 is no longer very useful, since snippet priority based on runtimepath ordering is no longer a feature. Therefore, these sample snippets have been imported for reference into vimfiles/optional-bundle/snippets, with instructions at :help notes_snippets for activating them.
- Upgrade fixkey plugin to 0.3.3 (fixes PuTTY SCO keymap for F1 through F12 for console Vim).
- Upgrade fontsize plugin to 0.3.3 (adds support for [count]).
- Add John Szakmeister's work-around to define UltiSnips_FileTypeChanged when UltiSnips is disabled.
- Upgraded togglecursor to 0.2.0.
- Change ttimeoutlen to 5 ms to avoid Console vim errors when pressing <Esc> followed too closely by a letter (which look too much like the terminal's encoding for Alt+letter).
- Add support for Lua and Moonscript languages.
- Update rst2ctags to v0.1.2 and markdown2ctags to v0.1.1. This fixes some issues with having backslash characters in headings (thanks for John Szakmeister for these updates).
- Add g:EnableUltiSnips to allow UltiSnips to be disabled. This helps with NeoVim, a Vim fork that doesn't support Python bindings yet.
- Fail gracefully when setting the 'j' flag in 'formatoptions' on Vim older than 7.3.541 (when this flag was first introduced).
Consolidate 'formatoptions' settings for filetypes into shared setup functions. SetupCommon(), SetupText(), and SetupSource() now collaborate to provide textfile-like and sourcecode-like format settings that should be usable unchanged across most types of files.
In addition, the flag 'n' is now included in all filetypes, so that the reformatting operator "gq" (also mapped to Alt-Q) now properly preserves bulleted and numbered items. For example, this text:
Some text - with a bulleted item - and another one
Will reformat (using Alt-Q) to the following text:
Some text - with a bulleted item - and another one
Extend 'formatlistpat' to view a header's underline as it would a list item. This hack prevents Vim from reformatting underlined headers. So, for example, pressing Alt-Q when on the below text leaves it unchanged:
An underlined header ====================
Unfortunately, it doesn't work for over/under headers. This text:
================= Over/under header =================
will be reformatted badly to this:
================= Over/under header =================
But since underlined headers are the most common, this is better than nothing, and it's much easier to use Vim's built-in formatting logic than to write something custom.
- Augment Python Path with all "pylib" directories in Vim runtimepath. Migrate "sniputil" to ~/.vim/pypath. See "Python Path" section in notes.txt for more details.
- Incorporate more uses of John Szakmeister's "betterVisual()" support for UltiSnips snippets.
- Start at the top of the buffer when doing a
git rebase -i
- Moved fswitch to a bundle and updated to 0.9.5.
- Add John Szakmeister's markdown2ctags tool to support Markdown files in tagbar.
Default to Python version 2 syntax highlighting with the newly upgraded Python syntax file. This is done by setting g:python_2_syntax to 1. It may be overridden using b:python_2_syntax on a per-buffer basis, or globally by setting g:python_2_syntax from "vimrc_before.vim" or "vimrc_after.vim".
Also, :Python2Syntax and :Python3Syntax allow switching dynamically between the two syntax highlighting schemes.
- Add :VisualHelp to perform :help on the visual selection. In visual mode, this may be invoked via <F1>, <C-Q>h, or <C-Q><C-H>.
- Add "Characterize" plugin. Now typing
ga
shows more information about the character under the cursor. - Update the "szakdark" colorscheme:
- Provide better Error highlighting.
- Ensure that the background is cleared for pythonDot.
- Tone down the indent guides so they're less distracting.
- Make the git commit summary line standout a little more.
- Add :OneWindow command to avoid "Already only one window" error messages. Map <C-W><C-O> and <C-W>o to use it.
- :DiffOrig now closes other windows before starting diff.
- Add :DiffClose to close all diff windows except current window. Perform this as first step of :OneWindow.
- Add :Diff command to initiate a diff between current window and the "next" window or a file given as an argument.
- Add support for "##" comments in makefiles.
- Update vim-eunuch to version 2013-03-02.
- Convert from use of glob(expr, nosuf, list) to older glob(expr, nosuf) for compatibility with older Vim. Apparently the third argument to glob() was added in Vim 7.3.465.
Convert from Blacklisting of font families that don't support Unicode Symbols properly to having a whitelist of known-good font families, since Powerline looks very bad when using Powerlines_symbols == "unicode" with a font family that doesn't support the symbols. The variable g:GoodUnicodeSymbolFontFamilyPatterns may now be set from a |VIMRC_BEFORE| script to extend the list of font families that have known-good support for Unicode Powerline symbols. See vimrc for more details.
Add a way to detect changes in Powerline settings and automatically delete stale cached
Powerline*.cache
files as Vim starts.As a result, these cache files now live below the
$VIM_CACHE_DIR
directory (typically~/.cache/vim
on Unix). For tidiness, you may want to delete any old Powerline cache files in your vimfiles directory. For example, on Unix:find ~/.vim -name 'Powerline*.cache' -delete
In addition, if you make adjustments to Powerline settings in your per-user |VIMRC_BEFORE|, set
g:PowerlineRequiredCacheTag
to a unique value every time you make a change to the format. For example:let g:PowerlineRequiredCacheTag = "2013-11-11"
Cleaned up references to |VIMRC_BEFORE| and |VIMRC_AFTER|.
Add Powerline segment to detect trailing whitespace.
- Update Python syntax highlighting support to version 3.3.5.
- Update ColorSamplerPack to version 2012-10-28.
- Unlink the syntax group pythonDot from Normal; this keeps :hardcopy output from having a dark background for dot characters in Python.
- Blacklist Consolas from using g:Powerline_symbols == "unicode", as that font doesn't properly support the needed Unicode symbols.
- Enable fontdetect and colorsamplerpack bundles early for use in |VIMRC_BEFORE| scripts.
- Allow g:DefaultFontFamilies to be set from |VIMRC_BEFORE| scripts.
- Update swapit plugin to version 0.3.2.
- Update BufExplorer plugin to version 7.4.2.
- Update ManPageView plugin to version 25l. Patch "sleep 2" calls to be "sleep 250m" to drop the irritating 2-second delay when K is pressed accidentally and no manpage exists under cursor. Changed g:manpageview_winopen back to the default "hsplit"; the value "reuse" is painful when pressing "K" for a non-existent manpage, since ManPageView will forcibly close the original window after displaying the error.
- Installed Dr. Chip's HiLinkTrace plugin to display the syntax highlighting stack. Use HLT! to toggle display of the syntax stack. See :help notes_hilinktrace for details.
Restored :Highlight functionality. Highlight groups that are cleared via
:highlight clear
are not removed, but are changed to have the inactive valuexxx cleared
, causing hlexists() to unhelpfully return true. Now a new function, HighlightGroupExists(), works around this behavior.See :help notes for details on disabling the :Highlight feature.
- Added the vim-session and vim-misc plugins. The vim-session plugin provides
some nice session management features. Use
:SaveSession
to save a session,:OpenSession
to load a saved session, and:CloseSession
to close the current session. See:help notes_session
for more information about how vim-session is configured, or:help session.txt
to see vim-session's documentation
- Restore customized settings for the fswitch plugin which were accidentally lost when adding the ability to override them with .lvimrc files. The fswitch plugin provides the of ("Other File") functionality (see :help notes for details).
Perform
:diffupdate
on <C-L> as part of screen refreshing.Define
SetupMakeIndent
to override some indent-related settings for makefiles.Define first-cut experimental snippets for Makefiles.
Makefiles. Now 'autoindent' is enabled and the colon key won't force a re-indentation.
Update fugitive plugin to version 2013-10-24 (34e2d253).
- Upgrade to headerguard 0.2.0; migrate it to bundle-based installation. Version 0.2.0 provide buffer-local override capabilities for inserting header guards.
- BREAKING CHANGE: Upgrade to fontsize 0.3.0, migrating to bundle-based installation. The default keystrokes have changed to <Leader><Leader>x instead of <Leader>xx. See :help fontsize-customization for configuring non-default mappings.
- Add fontdetect plugin, fixing broken font fallback logic.
- Add CHANGES.txt to document significant changes.
- Move all interesting documentation into doc/notes.txt, leaving README.txt as a pointer into the notes.