Mercurial > vim
view runtime/syntax/tssgm.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 | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: TSS (Thermal Synthesizer System) Geometry " Maintainer: Adrian Nagle, anagle@ball.com " Last Change: 2003 May 11 " Filenames: *.tssgm " URL: http://www.naglenet.org/vim/syntax/tssgm.vim " MAIN URL: http://www.naglenet.org/vim/ " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " Ignore case syn case ignore " " " Begin syntax definitions for tss geomtery file. " " Define keywords for TSS syn keyword tssgmParam units mirror param active sides submodel include syn keyword tssgmParam iconductor nbeta ngamma optics material thickness color syn keyword tssgmParam initial_temp syn keyword tssgmParam initial_id node_ids node_add node_type syn keyword tssgmParam gamma_boundaries gamma_add beta_boundaries syn keyword tssgmParam p1 p2 p3 p4 p5 p6 rot1 rot2 rot3 tx ty tz syn keyword tssgmSurfType rectangle trapezoid disc ellipse triangle syn keyword tssgmSurfType polygon cylinder cone sphere ellipic-cone syn keyword tssgmSurfType ogive torus box paraboloid hyperboloid ellipsoid syn keyword tssgmSurfType quadrilateral trapeziod syn keyword tssgmArgs OUT IN DOWN BOTH DOUBLE NONE SINGLE RADK CC FECC syn keyword tssgmArgs white red blue green yellow orange violet pink syn keyword tssgmArgs turquoise grey black syn keyword tssgmArgs Arithmetic Boundary Heater syn keyword tssgmDelim assembly syn keyword tssgmEnd end syn keyword tssgmUnits cm feet meters inches syn keyword tssgmUnits Celsius Kelvin Fahrenheit Rankine " Define matches for TSS syn match tssgmDefault "^DEFAULT/LENGTH = \(ft\|in\|cm\|m\)" syn match tssgmDefault "^DEFAULT/TEMP = [CKFR]" syn match tssgmComment /comment \+= \+".*"/ contains=tssParam,tssgmCommentString syn match tssgmCommentString /".*"/ contained syn match tssgmSurfIdent " \S\+\.\d\+ \=$" syn match tssgmString /"[^" ]\+"/ms=s+1,me=e-1 contains=ALLBUT,tssInteger syn match tssgmArgs / = [xyz],"/ms=s+3,me=e-2 syn match tssgmInteger "-\=\<[0-9]*\>" syn match tssgmFloat "-\=\<[0-9]*\.[0-9]*" syn match tssgmScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>" " Define the default highlighting " Only when an item doesn't have highlighting yet hi def link tssgmParam Statement hi def link tssgmSurfType Type hi def link tssgmArgs Special hi def link tssgmDelim Typedef hi def link tssgmEnd Macro hi def link tssgmUnits Special hi def link tssgmDefault SpecialComment hi def link tssgmComment Statement hi def link tssgmCommentString Comment hi def link tssgmSurfIdent Identifier hi def link tssgmString Delimiter hi def link tssgmInteger Number hi def link tssgmFloat Float hi def link tssgmScientific Float let b:current_syntax = "tssgm" " vim: ts=8 sw=2