There are alternatives.
Plain ol' pdb can be integrated into vim with
(My own favourite) pudb can be integrated with
And the popular ipdb can be integrated with
Vim :debug sessions are modal. When started we are prisoner of this non ergonomic mode. We could try to send anything we want to a buffer or a window, that window will never get refreshed and properly displayed. I guess Vim core would need to be multithreaded to support this, which is not the case. This issue was quickly mentioned during a poll on what ...
Even in v8.1, the short answer is no; you cannot positional-statically display the content of a variable without a plugin ... OR additional vim scripting.
However, Decho plugin does allow you to write info into another screen/buffer in a live manner using function calls.
And DBGp is a debugger GUI for Vim debugging session (written in Python ...
Try this instead:
col('.') >= col('$') - 1
col('$') returns the number of the bytes in the cursor line plus one. Unless you have 'virtualedit' set, the cursor will never be in that position. (I'm using >= instead of == in case you do have 'virtualedit' set.)
I'm not 100% sure what you mean by these tests, but you can find the documentation for col() ...
Sorry I don't have a clear answer to your problem, but a few tricks that you could use instead. Typically, you could add the messages into a |List| and display them (the list) on demand.
In my (complex) folding plugin for C&C++, I've used various techniques:
balloons to display various information when the mouse is over a line
signs to display in front ...
Put vimgrep matches in files from :scriptnames into the quickfix list
Using :scriptnames allows to consider
only files which have actually been sourced
and then you can grep for the full and abbreviated option name (regex pattern)
vim demo.tex or
do whatever you need to do to get to the point where you want to find out how you ended up with the ...
This will happen if you start editing the xxd-dumped version of the binary file, in which case Vim will assume a UTF-8 encoding (which you can confirm with :set fenc? returning fileencoding=utf-8).
When you turn the file back into binary form, the character still looks correct (using ga on top of it shows <ÿ> 255, Hex 00ff, Oct 377, Digr y:), but that'...
It's documented at :h termdebug_shortcuts
nnoremap ,u :call TermDebugSendCommand( printf( 'until %d', line('.') ) )<cr>
It's add at patch 8.1.0071 .
Tons of bugs have been fixed since 8.0, update to 8.1 or 8.2 if you can.
If you want to stay in 8.0, you can try to replace your termdebug.vim with master version, it's located at $VIMRUNTIME/...
I'm sure there are at least a few third party alternatives for this. One I'm familiar with is Decho which is used by netrw. You can enable/disable logging, indicate function enter/leave and depth and other useful things with any one of the following as the message destination:
Appended to separate window
Appended to a variable (default g:...
As @dedowsdi said in a comment: Log into a list.
The following is derived from stuff I have in one of my plugins:
function! DebugMsg(msg) abort
let g:DebugMessages = 
call add(g:DebugMessages, a:msg)
function! PrintDebugMsgs() abort
if empty(get(g:, "DebugMessages", ))
echo "No ...
Okay, so the startup log wasn't actually very helpful here. There wasn't really any indication in the log that this was the culprit, but it turns out it was vim-bundler.
I actually didn't even paste the line for it, because its timestamps seemed so inconsequential, but:
20 048.261 001.317 001.317: sourcing /home/thomas/.vim/bundle/vim-bundler/plugin/...