hello,

On Thu, Nov 20, 2025 at 05:24:20AM +0000, dvalin via vim_use wrote:
>    
> [3]https://git.unistra.fr/mc/dot/-/blame/main/bin/tsveverything?ref_type=heads#L190
>    Now, if vimscript were mostly awk, then we'd have the ultimate editor. :-)

Actually not :) awk is cool but

* its built in functions can be called with, user defined functions need 
parenthesis
* ithas no lambdas
* its array subscripts and datastructures are really limited
* it as no do (like in lisp or perl)
* ...

The viml of my dream is a mix of Raku (https://raku.org/) and viml itself.
the reason I wouldn't use neovim at all is because of the vim commands
you can directly use in viml like

        :1
        'a,34d

The problem is: Raku is huge. Maybe it's tunable enought to include vim
commands as slang (https://docs.raku.org/language/slangs)? IDK

but a raku+viml alien +

>    > not to mention :so now support ranges \o/

would be the ultimate scripting langage (or maybe not: people from the APL
world have things to say about concision and readability. https://www.uiua.org/
seems impressive but I have no time to practice).

>    > Again (because it was the goal of this mail): vim, in its actual
>    > philosophy, is super important! Thanks a lot for maintaining it.

"actual" wasn't the good word: the *current* philosophy.

>    decades makes life so much easier. (My only remaining wish would be Posix
>    ERE regexes - the existing mish-mash of alternatives in Vim seems a lot of
>    work and confusion, without quite getting there. Admittedly, \v comes
>    close. And one just shells out to awk, when serious, anyway.)

Vim needs its own regexp engine because of patterns like

|/\%V|  \%V     \%V     inside Visual area |/zero-width|
|/\%#|  \%#     \%#     cursor position |/zero-width|
|/\%'m| \%'m    \%'m    mark m position |/zero-width|
|/\%l|  \%23l   \%23l   in line 23 |/zero-width|
|/\%c|  \%23c   \%23c   in column 23 |/zero-width|
|/\%v|  \%23v   \%23v   in virtual column 23 |/zero-width|

I made my time to be confortable with it but now I'm really happy about
the vim regexp system now (I don't know how huge it is to maintain). I can
compare with grep: RE is the default but

                   ERE   litteral insensitive
        grep       -E    -F       -i
        vim        \v    \M       \c

so I have

        nnoremap / /\v
        nnoremap ? ?\v

because

* most of the time, I want \v but sometimes I <del>M
* easier to remove \v (to come back to normal) than to type \v

to learn the basics of the syntax (when you have previous regexp
pexperience):

        :h perl-patterns
        :h /magic         # the array comparing the syntaxes is very useful
        :h /ordinary-atom

coming from perl and raku, I am sometimes frustrated (mostly because
there is no \x (like the //x) so we can write much more maintainable
regexps but things like  M %% S (list of Ms separated by S) is also
really useful) but vim has some gems too like

        \zs and \ze to start/end the match
        \%[] : a sequence of optionally matched atoms

regards

-- 
Marc Chantreux

-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/vim_use/aR7PjvlSStF3-I-I%40prometheus.

Attachment: signature.asc
Description: PGP signature

Reply via email to