Skip to content

Instantly share code, notes, and snippets.

@mjhea0
Last active December 20, 2015 21:49
Show Gist options
  • Save mjhea0/6200588 to your computer and use it in GitHub Desktop.
Save mjhea0/6200588 to your computer and use it in GitHub Desktop.

VERSION 7.4 |version-7.4| New regexp engine |new-regexp-engine| Better vim ? python interface |new-python-interfac| Changed |changed-7.4| Added |added-7.4| Fixed |fixed-7.4|


*** 10182,10197 ****

More information here: |two-engines|

Changed changed-7.4

Todo.

Added added-7.4

Various syntax, indent and other plugins were added.

--- 10183,10350 ----

More information here: |two-engines|

Better vim ? python interface new-python-interface

Added |python-bindeval| function. Unlike |python-eval| this one returns |python-Dictionary|, |python-List| and |python-Function| objects for dictionaries lists and functions respectively in place of their python built-in equivalents (or None if we are talking about function references). For simple types this function returns python built-in types and not only python str() like |python-eval| does. On python 3 it will return bytes() objects in place of str() ones avoiding possibility of UnicodeDecodeError. Interface of new objects mimics standard python dict() and list() interfaces to some extent. Extent will be improved in the future.

Added special |python-vars| objects also available for |python-buffer| and |python-window|. They ease access to VimL variables from python.

Now you no longer need to alter sys.path to import your module: special hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and {rtp}/pythonx directories (for python 2, python 3 and both respectively). See |python-special-path|.

Added possibility to work with |tabpage|s through |python-tabpage| object.

Added automatic conversion of vim errors and exceptions to python exceptions.

Changed the behavior of |python-buffers| object: it now uses buffer numbers as keys in place of the index of the buffer in the internal buffer list. This should not break anything as the only way to get this index was iterating over |python-buffers|.

Added |:pydo| and |:py3do| commands.

Added |pyeval()| and |py3eval()| functions.

Now in all places which previously accepted str() objects in both python version both str() and unicode() (python 2) or bytes() and str() (python 3) are accepted.

|python-window| has gained .col and .row attributes that are currently the only way to get internal window positions.

Added or fixed support for dir() in vim python objects.

Old python versions (?2.2) are no longer supported. Building with them did not work anyway.

Changed changed-7.4

Functions: Added ability to use |Dictionary-function|s for |sort()|ing, via optional third argument. (Nikolay Pavlov)

Added special |expand()| argument that expands to the current line 
number.

Made it possible to force |char2nr()| always give unicode codepoints 
regardless of current encoding. (Yasuhiro Matsumoto)

Made it possible for functions generating file list generate |List| 
and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian 
Brabandt)

Functions that obtain variables from the specific window, tabpage or 
buffer scope dictionary can now return specified default value in 
place of empty string in case variable is not found. (|gettabvar()|, 
|getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi)

Options: Added ability to automatically save selection into the system clipboard when using non-GUI version of vim (autoselectplus in 'clipboard'). Also added ability to use system clipboard as default register (previously only primary selection could be used). (Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar)

Added special 'shiftwidth' value that makes 'sw' follow 'tabstop'. As 
indenting via 'indentexpr' became tricky |shiftwidth()| function was 
added. Also added equivalent special value to 'softtabstop' option. 
(Christian Brabandt, so8res)

Added ability to delete comment leader when using |J| by `j` flag in 
'formatoptions' (|fo-table|). (Lech Lorens)

Added ability to control indentation inside namespaces: |cino-N|. 
(Konstantin Lepa)

Added ability to control alignment inside `if` condition separately 
from alignment inside function arguments: |cino-k|. (Lech Lorens)

Added ability to show absolute number in number column when 
'relativenumber' option is on. (Christian Brabandt)

Comands: Made it possible to remove all signs from the current buffer using |:sign-unplace|. (Christian Brabandt)

Added |:language| autocompletion. (Dominique Pelle)

|:diffoff| now saves the local values of some settings and restores 
them in place of blindly resetting them to the defaults. (Christian 
Brabandt)

Added |:map-nowait| creating mapping which when having lhs that is the 
prefix of another mapping?s lhs will not allow vim to wait for user to 
type more characters to resolve ambiguity, forcing vim to take the 
shorter alternative: one with <nowait>.

Added more |:command-complete| completion types: |:behave| suboptions, 
color schemes, compilers, |:cscope| suboptions, files from 'path', 
|:history| suboptions, locale names, |:syntime| suboptions, user 
names. (Dominique Pelle)

Other: Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar)

Added |v:windowid| variable containing current window number in GUI 
vim. (Christian J. Robinson, Lech Lorens)

Lua interface now also uses userdata binded to vim structures. (Taro 
Muraoka, Luis Carvalho)

Added rxvt-unicode and >xterm-277 mouse support. (Yiding Jia, Hayaki 
Saito)

Added added-7.4

Added support for |Lists| and |Dictionaries| in |viminfo|. (Christian Brabandt)

Functions: Bitwise functions: |and()|, |or()|, |invert()|, |xor()|.

Added |luaeval()| function. (Taro Muraoka, Luis Carvalho)

Added |sha256()| function. (Tyru, Hirohito Higashi)

Added |wildmenumode()| function. (Christian Brabandt)

Debugging functions: |screenattr()|, |screenchar()|, |screencol()|, 
|screenrow()|. (Simon Ruderich, Bram Moolenaar)

Autocommands: Added |InsertCharPre| event launched before inserting character. (Jakson A. Aquino)

Added |CompleteDone| event launched after finishing completion in 
insert mode. (idea by Florian Klein)

Added |QuitPre| event launched when commands that can either close vim 
or only some window(s) are launched.

Added |TextChanged| and |TextChangedI| events launched when text is 
changed.

Commands: |:syntime| command useful for debugging.

Options: Made it possible to ignore case when completing: 'wildignorecase'.

Various syntax, indent and other plugins were added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment