updated for version 7.3.957
Problem: Python does not have a "do" command like Perl or Lua.
Solution: Add the ":py3do" command. (Lilydjwg)
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 852c5c0..c560367 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -490,6 +490,21 @@
< *:py3file*
The |:py3file| command works similar to |:pyfile|.
+ *:py3do*
+:[range]py3do {body} Execute Python function "def _vim_pydo(line, linenr):
+ {body}" for each line in the [range], with the
+ function arguments being set to the text of each line
+ in turn, without a trailing <EOL>, and the current
+ line number. The function should return a string or
+ None. If a string is returned, it becomes the text of
+ the line in the current turn. The default for [range]
+ is the whole file: "1,$".
+ {not in Vi}
+
+Examples:
+>
+ :py3do return "%s\t%d" % (line[::-1], len(line))
+ :py3do if line: return "%4d: %s" % (linenr, line)
Vim can be built in four ways (:version output):
1. No Python support (-python, -python3)