Mercurial > vim
view runtime/syntax/gprof.vim @ 32888:b1162ad29d73 v9.0.1753
patch 9.0.1753: can't move to last non-blank char
Commit: https://github.com/vim/vim/commit/b5f6fe9ca2661d06bc0be839447ce1995450b9de
Author: Christian Brabandt <cb@256bit.org>
Date: Sat Aug 19 15:53:16 2023 +0200
patch 9.0.1753: can't move to last non-blank char
Problem: can't move to last non-blank char
Solution: Make g<end> behave like that
Make it possible to move to last non-blank char on a line
We can distinguish between g0 and g^ to move to the very first character
and the first non-blank char.
And while we can move to the last screen char, we cannot go to the last
non-blank screen char.
Since I think g$ is the more widely used and known movement command (and
g<end> is synonymous to it) change the behaviour of g<end> to move to
last non-screen char instead and don't have this be the same command as
the g$ command anymore.
If you want to keep the old behaviour, you can use:
```
nnoremap g<end> g$
```
Add a test to verify the behaviour.
closes: #12593
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 19 Aug 2023 16:00:08 +0200 |
parents | 65de67669df3 |
children |
line wrap: on
line source
" Vim syntax file " Language: Syntax for Gprof Output " Maintainer: Dominique Pelle <dominique.pelle@gmail.com> " Last Change: 2021 Sep 19 " Quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:keepcpo= &cpo set cpo&vim syn spell notoplevel syn case match syn sync minlines=100 " Flat profile syn match gprofFlatProfileTitle \ "^Flat profile:$" syn region gprofFlatProfileHeader \ start="^Each sample counts as.*" \ end="^ time.*name\s*$" syn region gprofFlatProfileTrailer \ start="^\s*%\s\+the percentage of the total running time.*" \ end="^\s*the gprof listing if it were to be printed\." " Call graph syn match gprofCallGraphTitle "Call graph (explanation follows)" syn region gprofCallGraphHeader \ start="^granularity: each sample hit covers.*" \ end="^\s*index % time\s\+self\s\+children\s\+called\s\+name$" syn match gprofCallGraphFunction "\<\(\d\+\.\d\+\s\+\)\{3}\([0-9+]\+\)\?\s\+[a-zA-Z_<].*\ze\[" syn match gprofCallGraphSeparator "^-\+$" syn region gprofCallGraphTrailer \ start="This table describes the call tree of the program" \ end="^\s*the cycle\.$" " Index syn region gprofIndex \ start="^Index by function name$" \ end="\%$" syn match gprofIndexFunctionTitle "^Index by function name$" syn match gprofNumbers "^\s*[0-9 ./+]\+" syn match gprofFunctionIndex "\[\d\+\]" syn match gprofSpecial "<\(spontaneous\|cycle \d\+\)>" hi def link gprofFlatProfileTitle Title hi def link gprofFlatProfileHeader Comment hi def link gprofFlatProfileFunction Number hi def link gprofFlatProfileTrailer Comment hi def link gprofCallGraphTitle Title hi def link gprofCallGraphHeader Comment hi def link gprofFlatProfileFunction Number hi def link gprofCallGraphFunction Special hi def link gprofCallGraphTrailer Comment hi def link gprofCallGraphSeparator Label hi def link gprofFunctionIndex Label hi def link gprofSpecial SpecialKey hi def link gprofNumbers Number hi def link gprofIndexFunctionTitle Title let b:current_syntax = "gprof" let &cpo = s:keepcpo unlet s:keepcpo