There are a number of Vim plugins to show the current Python class and method name or function name (e.g., this). However, they can be extremely "heavy" (the linked example requires Vim compiled with Python, and is pretty slow when indexing a large Python file) and moreover, all seem to be geared to showing the information dynamically in the status bar. While the latter might be desirable in some contexts, the required binding to a CursorHold trigger coupled with the slowness in indexing, make it clumsy to use when navigating large files. Sometimes, all that is wanted or needed is an "on-demand" brief display of the information. The following code takes care of this. When sourced into your Vim session, it echos the current Python class and method name or function name when invoked via "<Leader>?" or ":EchoPythonLocation".
There are a number of solutions for executing Python code in your active buffer in Vim.
All of these expect the buffer lines to be well-formatted Python code, with correct indentation.
Many times, however, I am working on program or other documentation (in, for example reStructuredTex or Markdown format), and the code fragments that I want to execute have extra indentation or line leaders.
Buffersaurus is a Vim plugin for searching and indexing the contents of buffers
for regular expression patterns or collections of regular expression patterns.
Results are displayed in separate buffer, and can be (optionally) viewed with
user-specifiable lines of context (i.e., a number of lines before and/or after
the line matching the search pattern) or filtered for specific patterns.
I am afraid that in practice I have always ended up going the simple "litter the code with print statements" route when debugging my Python. Without the compilation step, the cost of inserting and then removing these lines from the source code is relatively cheap, and has served me well enough so far.
Git offers two ways of viewing differences between commits, or between commits and your working tree: diff and difftool.
The first of these, by default, dumps the results to the standard output.
This mode of presentation is great for quick summaries of small sets of changes, but is a little cumbersome if there are a large number of changes between the two commits being compared and/or you want to closely examin