Wednesday, June 29, 2022

Re: Vim 9.0 is released!

Bram,

Thanks for your continuous Improvement of one of the most important pieces of Open Source software in existence!

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CAFWoy7GguJXRCNCGU06DGhrq%3DqA39FEvMPdTYUxQaDshis-pzQ%40mail.gmail.com.

Re: Vim 9.0 is released!

Thank you Bram, and to all those who had a part in bringing Vim 9 to life. I cannot count the number of hours Vim has saved me. I've always been of the opinion to let the computer do as much for me as possible, and Vim surely fills that bill. People are still awe-struck when I show them what Vim can do.

On Tuesday, June 28, 2022 at 10:55:41 AM UTC-4 Bram Moolenaar wrote:


Hello Vim users!

Announcing: Vim (Vi IMproved) version 9.0


This is a major release. The main new feature is the addition of Vim9
script. Besides that a lot of bugs have been fixed, documentation was
updated, test coverage was improved, etc.

Read the announcement online: https://www.vim.org/vim90.php

Once you have installed Vim 9.0 you can find details about the changes
since Vim 9.0 with:
:help version9


Why Vim9 Script
---------------

A new script language, what is that needed for? Vim script has been
growing over time, while preserving backwards compatibility. That means
bad choices from the past often can't be changed and compatibility with
Vi restricts possible solutions. Execution is quite slow, each line is
parsed every time it is executed.

The main goal of Vim9 script is to drastically improve performance. This
is accomplished by compiling commands into instructions that can be
efficiently executed. An increase in execution speed of 10 to 100 times
can be expected.

A secondary goal is to avoid Vim-specific constructs and get closer to
commonly used programming languages, such as JavaScript, TypeScript and
Java.

The performance improvements can only be achieved by not being 100%
backwards compatible. For example, making function arguments available
by creating an "a:" dictionary involves quite a lot of overhead. In a
Vim9 function this dictionary is not available. Other differences are
more subtle, such as how errors are handled.

For those with a large collection of legacy scripts: Not to worry! They
will keep working as before. There are no plans to drop support for
legacy script. No drama like with the deprecation of Python 2.


Interesting Features
--------------------

To profit from the speedup a function must be defined with "def". The
argument and return types must be specified. This is not only to make
execution faster, it also helps uncovering mistakes early, when the
function is compiled into byte code. Variables are declared with "var"
and also have a type, either explicitly or inferred from the assigned
value.

Line continuation does not require using a backslash, the mechanism that
is used in legacy script, which is a bit weird and was required to keep
it backwards compatible.

Function calls do not require "call", assignments are done without "let"
and expressions are evaluated without "eval". This makes a Vim9 script
look a lot more like most programming languages.

Splitting up a large script in small pieces has been made a lot simpler.
In one script "export" is used to make specific functions and variables
available to other scripts. The rest is local to the script. Then
"import" is used where the exported items are to be used. Combined with
an autoload mechanism this makes a flexible and powerful way to
implement large plugins.

Comments now start with "#". The previous double quote syntax, which
comes from the good old Vi, interferes with how strings are used. The
use of "#" is known from many other languages, such as Python and shell
scripts.

Otherwise most things work the same way. Users who have written Vim
script will find it easy to switch over. Unexpected differences usually
lead to an error message with a hint how to do make the line work in
Vim9 script.

Details about Vim9 script and rationale for the choices can be found
with ":help vim9" in Vim or online: https://vimhelp.org/vim9.txt.html

Otherwise, many improvements were made not related to Vim9 script. You
can find a list with ":help new-9" in Vim or online:
https://vimhelp.org/version9.txt.html#new-9


Future Work
-----------

There will surely be a Vim 9.1 release. Nobody knows when.

Among the plans for Vim9 script is the addition of classes. Although a
dictionary can be used to simulate this, it is far from ideal. Most
programmers are familiar with classes such as Java has. Something like
that should be added to Vim9 script. The keywords are already reserved.


Dedication
----------

Vim version 9.0 is dedicated to Sven Guckes, who passed away in February
2022 when the release was being prepared. Sven was a long time
supporter of Vim. He registered the vim.org domain and created the
first Vim website. We will remember him!


Gratitude
---------

If you like Vim, please consider helping poor children in the south of
Uganda: http://iccf-holland.org


Where to get it
---------------

The best way to obtain the latest Vim is using Git. Summary:
git clone https://github.com/vim/vim.git
More information here: https://www.vim.org/git.php

For MS-Windows most of you will want to use the signed installer at:
https://github.com/vim/vim-win32-installer/releases

Or use the self-installing executable (uses older libraries):
https://ftp.nluug.nl/pub/vim/pc/gvim90.exe

Information about which files to download for what system:
https://www.vim.org/download.php

A list of mirror sites can be found here:
https://www.vim.org/mirrors.php


Files available for download (if you don't use GitHub or the installer):

UNIX:
sources + runtime files, bzip2 compressed:
https://ftp.nluug.nl/pub/vim/unix/vim-9.0.tar.bz2

VARIOUS:
help files converted to HTML:
https://ftp.nluug.nl/pub/vim/doc/vim90html.zip

MS-WINDOWS separate files:
Runtime files:
https://ftp.nluug.nl/pub/vim/pc/vim90rt.zip
GUI binary for Windows NT/2000/XP/7/8/10:
https://ftp.nluug.nl/pub/vim/pc/gvim90.zip
GUI binary with OLE support:
https://ftp.nluug.nl/pub/vim/pc/gvim90ole.zip
Console version for Windows NT/2000/XP/7/8/10:
https://ftp.nluug.nl/pub/vim/pc/vim90w32.zip
Sources for PC (with CR-LF):
https://ftp.nluug.nl/pub/vim/pc/vim90src.zip

For debugging:
https://ftp.nluug.nl/pub/vim/pc/gvim90.pdb
https://ftp.nluug.nl/pub/vim/pc/gvim90ole.pdb
https://ftp.nluug.nl/pub/vim/pc/vim90w32.pdb

AMIGA:
Only runtime and sources are provided, no binary:
https://ftp.nluug.nl/pub/vim/amiga/vim90rt.tgz
https://ftp.nluug.nl/pub/vim/amiga/vim90src.tgz


Omitted in this version are:
- The 16-bit DOS, OS/2 and Amiga versions, these are obsolete.
- The 32-bit console version for MS-DOS/Windows 95/98


Mailing lists et al.
--------------------

A good place to get help from others is Stackexchange:
https://vi.stackexchange.com/

For user questions you can turn to the Vim mailing list. There are a
lot of tips, scripts and solutions. You can ask your Vim questions, but
only if you subscribe. See https://www.vim.org/maillist.php#vim

If you want to help Vim development, discuss new features or get the
latest patches, subscribe to the vim-dev mailing list. See
https://www.vim.org/maillist.php#vim-dev

Subject specific lists:
Macintosh issues: https://www.vim.org/maillist.php#vim-mac

Before you ask a question you should search the archives, someone may
already have given the answer.


Reporting bugs
--------------

Create an issue at GitHub or, if you know the solution, create a pull
request: https://github.com/vim/vim

Alternatively send your problem to <vim...@vim.org>.

All the time spent on answering mail and digging into problems is
subtracted from the time that is spent on improving Vim! Always give a
reproducible example and try to find out which settings or other things
influence the appearance of the bug. Start Vim without your plugins:
"vim --clean". Try different machines if possible. See ":help bugs" in
Vim. Ideally write a test that reproduces the problem and will pass
once it is fixed.


Happy Vimming!


--
Anyone who is capable of getting themselves made President should on no
account be allowed to do the job.
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/ede8c22d-e02e-49a3-9d51-227f72fb1040n%40googlegroups.com.

Re: Vim 9.0 is released!

Bram Moolenaar said on Tue, 28 Jun 2022 15:55:17 +0100

>Hello Vim users!
>
>Announcing: Vim (Vi IMproved) version 9.0
>
>
>This is a major release. The main new feature is the addition of Vim9
>script. Besides that a lot of bugs have been fixed, documentation was
>updated, test coverage was improved, etc.
>
>Read the announcement online: https://www.vim.org/vim90.php
>
>Once you have installed Vim 9.0 you can find details about the changes
>since Vim 9.0 with:
> :help version9

Very nice! Thank you. Also, thanks for the Vim I've used every day
for the past 20 years.


SteveT

Steve Litt
Summer 2022 featured book: Making Mental Models: Advanced Edition
http://www.troubleshooters.com/mmm

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220629195838.0a18cea0%40mydesk.domain.cxm.

Tuesday, June 28, 2022

Re: Vim 9.0 is released!

On Tue, 28 Jun 2022 15:55:17 +0100
Bram Moolenaar <Bram@moolenaar.net> wrote:

>Hello Vim users!
>
>Announcing: Vim (Vi IMproved) version 9.0
>
>
>This is a major release. The main new feature is the addition of Vim9
>script. Besides that a lot of bugs have been fixed, documentation was
>updated, test coverage was improved, etc.
>

[...]

>
>
>Happy Vimming!
>
>

Hello Bram,

Fantastic!

With respect and my warmest thanks.

--
Rand Pritelrohm

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220629084443.3ecddd99%40wander.und.kraft.is.

Re: Vim 9.0 is released!

Great news! Fantastic achievement. I'm enjoying writing scripts in Vim 9 and look forward to classes coming in, also. 

Much respect to all involved in the effort. 

Salman

On Tue, Jun 28, 2022, 23:50 Shlomi Fish <shlomif@shlomifish.org> wrote:
Hi Bram [and all],

On Tue, 28 Jun 2022 15:55:17 +0100
Bram Moolenaar <Bram@moolenaar.net> wrote:

> Hello Vim users!
>
> Announcing:  Vim (Vi IMproved) version 9.0
>
>
> This is a major release.  The main new feature is the addition of Vim9
> script.  Besides that a lot of bugs have been fixed, documentation was
> updated, test coverage was improved, etc.
>
> Read the announcement online: https://www.vim.org/vim90.php
>
> Once you have installed Vim 9.0 you can find details about the changes
> since Vim 9.0 with:
>         :help version9
>

thanks, congrats and - good luck:

* https://www.youtube.com/watch?v=t6Lo_aMW7zk

* https://www.youtube.com/watch?v=6zDwWzk11oM

* https://www.youtube.com/watch?v=tG-wl2qqD7Y

with ♥,

        -- Shlomi

>
> Why Vim9 Script
> ---------------
>
> A new script language, what is that needed for? Vim script has been
> growing over time, while preserving backwards compatibility. That means
> bad choices from the past often can't be changed and compatibility with
> Vi restricts possible solutions. Execution is quite slow, each line is
> parsed every time it is executed.
>
> The main goal of Vim9 script is to drastically improve performance. This
> is accomplished by compiling commands into instructions that can be
> efficiently executed. An increase in execution speed of 10 to 100 times
> can be expected.
>
> A secondary goal is to avoid Vim-specific constructs and get closer to
> commonly used programming languages, such as JavaScript, TypeScript and
> Java.
>
> The performance improvements can only be achieved by not being 100%
> backwards compatible. For example, making function arguments available
> by creating an "a:" dictionary involves quite a lot of overhead. In a
> Vim9 function this dictionary is not available. Other differences are
> more subtle, such as how errors are handled.
>
> For those with a large collection of legacy scripts: Not to worry! They
> will keep working as before. There are no plans to drop support for
> legacy script. No drama like with the deprecation of Python 2.
>



--

Shlomi Fish       https://www.shlomifish.org/
https://youtu.be/xZLwtc9x4yA - Anime in Real Life!! (Parody)

Between truth and the search for truth, I opt for the second.
    — Bernard Berenson (Unsourced via fortune-mod)

Please reply to list if it's a mailing list post - https://shlom.in/reply .

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220629065040.20709aca%40shlomifish.org.

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CANuxnEf7K6Pggpb-HHe9Oa1ieZsF1Fsf0wdLV-5h%2BEwfRm1qSg%40mail.gmail.com.

Re: Vim 9.0 is released!

Hi Bram [and all],

On Tue, 28 Jun 2022 15:55:17 +0100
Bram Moolenaar <Bram@moolenaar.net> wrote:

> Hello Vim users!
>
> Announcing: Vim (Vi IMproved) version 9.0
>
>
> This is a major release. The main new feature is the addition of Vim9
> script. Besides that a lot of bugs have been fixed, documentation was
> updated, test coverage was improved, etc.
>
> Read the announcement online: https://www.vim.org/vim90.php
>
> Once you have installed Vim 9.0 you can find details about the changes
> since Vim 9.0 with:
> :help version9
>

thanks, congrats and - good luck:

* https://www.youtube.com/watch?v=t6Lo_aMW7zk

* https://www.youtube.com/watch?v=6zDwWzk11oM

* https://www.youtube.com/watch?v=tG-wl2qqD7Y

with ♥,

-- Shlomi

>
> Why Vim9 Script
> ---------------
>
> A new script language, what is that needed for? Vim script has been
> growing over time, while preserving backwards compatibility. That means
> bad choices from the past often can't be changed and compatibility with
> Vi restricts possible solutions. Execution is quite slow, each line is
> parsed every time it is executed.
>
> The main goal of Vim9 script is to drastically improve performance. This
> is accomplished by compiling commands into instructions that can be
> efficiently executed. An increase in execution speed of 10 to 100 times
> can be expected.
>
> A secondary goal is to avoid Vim-specific constructs and get closer to
> commonly used programming languages, such as JavaScript, TypeScript and
> Java.
>
> The performance improvements can only be achieved by not being 100%
> backwards compatible. For example, making function arguments available
> by creating an "a:" dictionary involves quite a lot of overhead. In a
> Vim9 function this dictionary is not available. Other differences are
> more subtle, such as how errors are handled.
>
> For those with a large collection of legacy scripts: Not to worry! They
> will keep working as before. There are no plans to drop support for
> legacy script. No drama like with the deprecation of Python 2.
>



--

Shlomi Fish https://www.shlomifish.org/
https://youtu.be/xZLwtc9x4yA - Anime in Real Life!! (Parody)

Between truth and the search for truth, I opt for the second.
— Bernard Berenson (Unsourced via fortune-mod)

Please reply to list if it's a mailing list post - https://shlom.in/reply .

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220629065040.20709aca%40shlomifish.org.

Re: Much appreciated..thanks...Vim 9.0 is released!

On 15:55 Tue 28 Jun 2022, Bram Moolenaar wrote:
>
>
>Hello Vim users!
>
>Announcing: Vim (Vi IMproved) version 9.0
>
>
Thanks, man! Much appreciated. :)


>This is a major release. The main new feature is the addition of Vim9
>script. Besides that a lot of bugs have been fixed, documentation was
>updated, test coverage was improved, etc.
>
>Read the announcement online: https://www.vim.org/vim90.php
>
>Once you have installed Vim 9.0 you can find details about the changes
>since Vim 9.0 with:
> :help version9
>
>
>Why Vim9 Script
>---------------
>
>A new script language, what is that needed for? Vim script has been
>growing over time, while preserving backwards compatibility. That means
>bad choices from the past often can't be changed and compatibility with
>Vi restricts possible solutions. Execution is quite slow, each line is
>parsed every time it is executed.
>
>The main goal of Vim9 script is to drastically improve performance. This
>is accomplished by compiling commands into instructions that can be
>efficiently executed. An increase in execution speed of 10 to 100 times
>can be expected.
>
>A secondary goal is to avoid Vim-specific constructs and get closer to
>commonly used programming languages, such as JavaScript, TypeScript and
>Java.
>
>The performance improvements can only be achieved by not being 100%
>backwards compatible. For example, making function arguments available
>by creating an "a:" dictionary involves quite a lot of overhead. In a
>Vim9 function this dictionary is not available. Other differences are
>more subtle, such as how errors are handled.
>
>For those with a large collection of legacy scripts: Not to worry! They
>will keep working as before. There are no plans to drop support for
>legacy script. No drama like with the deprecation of Python 2.
>
>
>Interesting Features
>--------------------
>
>To profit from the speedup a function must be defined with "def". The
>argument and return types must be specified. This is not only to make
>execution faster, it also helps uncovering mistakes early, when the
>function is compiled into byte code. Variables are declared with "var"
>and also have a type, either explicitly or inferred from the assigned
>value.
>
>Line continuation does not require using a backslash, the mechanism that
>is used in legacy script, which is a bit weird and was required to keep
>it backwards compatible.
>
>Function calls do not require "call", assignments are done without "let"
>and expressions are evaluated without "eval". This makes a Vim9 script
>look a lot more like most programming languages.
>
>Splitting up a large script in small pieces has been made a lot simpler.
>In one script "export" is used to make specific functions and variables
>available to other scripts. The rest is local to the script. Then
>"import" is used where the exported items are to be used. Combined with
>an autoload mechanism this makes a flexible and powerful way to
>implement large plugins.
>
>Comments now start with "#". The previous double quote syntax, which
>comes from the good old Vi, interferes with how strings are used. The
>use of "#" is known from many other languages, such as Python and shell
>scripts.
>
>Otherwise most things work the same way. Users who have written Vim
>script will find it easy to switch over. Unexpected differences usually
>lead to an error message with a hint how to do make the line work in
>Vim9 script.
>
>Details about Vim9 script and rationale for the choices can be found
>with ":help vim9" in Vim or online: https://vimhelp.org/vim9.txt.html
>
>Otherwise, many improvements were made not related to Vim9 script. You
>can find a list with ":help new-9" in Vim or online:
>https://vimhelp.org/version9.txt.html#new-9
>
>
>Future Work
>-----------
>
>There will surely be a Vim 9.1 release. Nobody knows when.
>
>Among the plans for Vim9 script is the addition of classes. Although a
>dictionary can be used to simulate this, it is far from ideal. Most
>programmers are familiar with classes such as Java has. Something like
>that should be added to Vim9 script. The keywords are already reserved.
>
>
>Dedication
>----------
>
>Vim version 9.0 is dedicated to Sven Guckes, who passed away in February
>2022 when the release was being prepared. Sven was a long time
>supporter of Vim. He registered the vim.org domain and created the
>first Vim website. We will remember him!
>
>
>Gratitude
>---------
>
>If you like Vim, please consider helping poor children in the south of
>Uganda: http://iccf-holland.org
>
>
>Where to get it
>---------------
>
>The best way to obtain the latest Vim is using Git. Summary:
> git clone https://github.com/vim/vim.git
>More information here: https://www.vim.org/git.php
>
>For MS-Windows most of you will want to use the signed installer at:
> https://github.com/vim/vim-win32-installer/releases
>
>Or use the self-installing executable (uses older libraries):
> https://ftp.nluug.nl/pub/vim/pc/gvim90.exe
>
>Information about which files to download for what system:
> https://www.vim.org/download.php
>
>A list of mirror sites can be found here:
> https://www.vim.org/mirrors.php
>
>
>Files available for download (if you don't use GitHub or the installer):
>
>UNIX:
>sources + runtime files, bzip2 compressed:
> https://ftp.nluug.nl/pub/vim/unix/vim-9.0.tar.bz2
>
>VARIOUS:
>help files converted to HTML:
> https://ftp.nluug.nl/pub/vim/doc/vim90html.zip
>
>MS-WINDOWS separate files:
>Runtime files:
> https://ftp.nluug.nl/pub/vim/pc/vim90rt.zip
>GUI binary for Windows NT/2000/XP/7/8/10:
> https://ftp.nluug.nl/pub/vim/pc/gvim90.zip
>GUI binary with OLE support:
> https://ftp.nluug.nl/pub/vim/pc/gvim90ole.zip
>Console version for Windows NT/2000/XP/7/8/10:
> https://ftp.nluug.nl/pub/vim/pc/vim90w32.zip
>Sources for PC (with CR-LF):
> https://ftp.nluug.nl/pub/vim/pc/vim90src.zip
>
>For debugging:
>https://ftp.nluug.nl/pub/vim/pc/gvim90.pdb
>https://ftp.nluug.nl/pub/vim/pc/gvim90ole.pdb
>https://ftp.nluug.nl/pub/vim/pc/vim90w32.pdb
>
>AMIGA:
>Only runtime and sources are provided, no binary:
> https://ftp.nluug.nl/pub/vim/amiga/vim90rt.tgz
> https://ftp.nluug.nl/pub/vim/amiga/vim90src.tgz
>
>
>Omitted in this version are:
>- The 16-bit DOS, OS/2 and Amiga versions, these are obsolete.
>- The 32-bit console version for MS-DOS/Windows 95/98
>
>
>Mailing lists et al.
>--------------------
>
>A good place to get help from others is Stackexchange:
>https://vi.stackexchange.com/
>
>For user questions you can turn to the Vim mailing list. There are a
>lot of tips, scripts and solutions. You can ask your Vim questions, but
>only if you subscribe. See https://www.vim.org/maillist.php#vim
>
>If you want to help Vim development, discuss new features or get the
>latest patches, subscribe to the vim-dev mailing list. See
>https://www.vim.org/maillist.php#vim-dev
>
>Subject specific lists:
>Macintosh issues: https://www.vim.org/maillist.php#vim-mac
>
>Before you ask a question you should search the archives, someone may
>already have given the answer.
>
>
>Reporting bugs
>--------------
>
>Create an issue at GitHub or, if you know the solution, create a pull
>request: https://github.com/vim/vim
>
>Alternatively send your problem to <vim-dev@vim.org>.
>
>All the time spent on answering mail and digging into problems is
>subtracted from the time that is spent on improving Vim! Always give a
>reproducible example and try to find out which settings or other things
>influence the appearance of the bug. Start Vim without your plugins:
>"vim --clean". Try different machines if possible. See ":help bugs" in
>Vim. Ideally write a test that reproduces the problem and will pass
>once it is fixed.
>
>
>Happy Vimming!
>
>
>--
>Anyone who is capable of getting themselves made President should on no
>account be allowed to do the job.
> -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
>
> /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
>/// \\\
>\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
> \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
>
>--
>--
>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 vim_use+unsubscribe@googlegroups.com.
>To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220628145517.515BB1C055A%40moolenaar.net.

--
Thanks,
Bhaskar

"Here's looking at you kid"-- Casablanca

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/YrtvYNl%2BSFg0ixZQ%40Gentoo.

Vim 9.0 is released!

Hello Vim users!

Announcing: Vim (Vi IMproved) version 9.0


This is a major release. The main new feature is the addition of Vim9
script. Besides that a lot of bugs have been fixed, documentation was
updated, test coverage was improved, etc.

Read the announcement online: https://www.vim.org/vim90.php

Once you have installed Vim 9.0 you can find details about the changes
since Vim 9.0 with:
:help version9


Why Vim9 Script
---------------

A new script language, what is that needed for? Vim script has been
growing over time, while preserving backwards compatibility. That means
bad choices from the past often can't be changed and compatibility with
Vi restricts possible solutions. Execution is quite slow, each line is
parsed every time it is executed.

The main goal of Vim9 script is to drastically improve performance. This
is accomplished by compiling commands into instructions that can be
efficiently executed. An increase in execution speed of 10 to 100 times
can be expected.

A secondary goal is to avoid Vim-specific constructs and get closer to
commonly used programming languages, such as JavaScript, TypeScript and
Java.

The performance improvements can only be achieved by not being 100%
backwards compatible. For example, making function arguments available
by creating an "a:" dictionary involves quite a lot of overhead. In a
Vim9 function this dictionary is not available. Other differences are
more subtle, such as how errors are handled.

For those with a large collection of legacy scripts: Not to worry! They
will keep working as before. There are no plans to drop support for
legacy script. No drama like with the deprecation of Python 2.


Interesting Features
--------------------

To profit from the speedup a function must be defined with "def". The
argument and return types must be specified. This is not only to make
execution faster, it also helps uncovering mistakes early, when the
function is compiled into byte code. Variables are declared with "var"
and also have a type, either explicitly or inferred from the assigned
value.

Line continuation does not require using a backslash, the mechanism that
is used in legacy script, which is a bit weird and was required to keep
it backwards compatible.

Function calls do not require "call", assignments are done without "let"
and expressions are evaluated without "eval". This makes a Vim9 script
look a lot more like most programming languages.

Splitting up a large script in small pieces has been made a lot simpler.
In one script "export" is used to make specific functions and variables
available to other scripts. The rest is local to the script. Then
"import" is used where the exported items are to be used. Combined with
an autoload mechanism this makes a flexible and powerful way to
implement large plugins.

Comments now start with "#". The previous double quote syntax, which
comes from the good old Vi, interferes with how strings are used. The
use of "#" is known from many other languages, such as Python and shell
scripts.

Otherwise most things work the same way. Users who have written Vim
script will find it easy to switch over. Unexpected differences usually
lead to an error message with a hint how to do make the line work in
Vim9 script.

Details about Vim9 script and rationale for the choices can be found
with ":help vim9" in Vim or online: https://vimhelp.org/vim9.txt.html

Otherwise, many improvements were made not related to Vim9 script. You
can find a list with ":help new-9" in Vim or online:
https://vimhelp.org/version9.txt.html#new-9


Future Work
-----------

There will surely be a Vim 9.1 release. Nobody knows when.

Among the plans for Vim9 script is the addition of classes. Although a
dictionary can be used to simulate this, it is far from ideal. Most
programmers are familiar with classes such as Java has. Something like
that should be added to Vim9 script. The keywords are already reserved.


Dedication
----------

Vim version 9.0 is dedicated to Sven Guckes, who passed away in February
2022 when the release was being prepared. Sven was a long time
supporter of Vim. He registered the vim.org domain and created the
first Vim website. We will remember him!


Gratitude
---------

If you like Vim, please consider helping poor children in the south of
Uganda: http://iccf-holland.org


Where to get it
---------------

The best way to obtain the latest Vim is using Git. Summary:
git clone https://github.com/vim/vim.git
More information here: https://www.vim.org/git.php

For MS-Windows most of you will want to use the signed installer at:
https://github.com/vim/vim-win32-installer/releases

Or use the self-installing executable (uses older libraries):
https://ftp.nluug.nl/pub/vim/pc/gvim90.exe

Information about which files to download for what system:
https://www.vim.org/download.php

A list of mirror sites can be found here:
https://www.vim.org/mirrors.php


Files available for download (if you don't use GitHub or the installer):

UNIX:
sources + runtime files, bzip2 compressed:
https://ftp.nluug.nl/pub/vim/unix/vim-9.0.tar.bz2

VARIOUS:
help files converted to HTML:
https://ftp.nluug.nl/pub/vim/doc/vim90html.zip

MS-WINDOWS separate files:
Runtime files:
https://ftp.nluug.nl/pub/vim/pc/vim90rt.zip
GUI binary for Windows NT/2000/XP/7/8/10:
https://ftp.nluug.nl/pub/vim/pc/gvim90.zip
GUI binary with OLE support:
https://ftp.nluug.nl/pub/vim/pc/gvim90ole.zip
Console version for Windows NT/2000/XP/7/8/10:
https://ftp.nluug.nl/pub/vim/pc/vim90w32.zip
Sources for PC (with CR-LF):
https://ftp.nluug.nl/pub/vim/pc/vim90src.zip

For debugging:
https://ftp.nluug.nl/pub/vim/pc/gvim90.pdb
https://ftp.nluug.nl/pub/vim/pc/gvim90ole.pdb
https://ftp.nluug.nl/pub/vim/pc/vim90w32.pdb

AMIGA:
Only runtime and sources are provided, no binary:
https://ftp.nluug.nl/pub/vim/amiga/vim90rt.tgz
https://ftp.nluug.nl/pub/vim/amiga/vim90src.tgz


Omitted in this version are:
- The 16-bit DOS, OS/2 and Amiga versions, these are obsolete.
- The 32-bit console version for MS-DOS/Windows 95/98


Mailing lists et al.
--------------------

A good place to get help from others is Stackexchange:
https://vi.stackexchange.com/

For user questions you can turn to the Vim mailing list. There are a
lot of tips, scripts and solutions. You can ask your Vim questions, but
only if you subscribe. See https://www.vim.org/maillist.php#vim

If you want to help Vim development, discuss new features or get the
latest patches, subscribe to the vim-dev mailing list. See
https://www.vim.org/maillist.php#vim-dev

Subject specific lists:
Macintosh issues: https://www.vim.org/maillist.php#vim-mac

Before you ask a question you should search the archives, someone may
already have given the answer.


Reporting bugs
--------------

Create an issue at GitHub or, if you know the solution, create a pull
request: https://github.com/vim/vim

Alternatively send your problem to <vim-dev@vim.org>.

All the time spent on answering mail and digging into problems is
subtracted from the time that is spent on improving Vim! Always give a
reproducible example and try to find out which settings or other things
influence the appearance of the bug. Start Vim without your plugins:
"vim --clean". Try different machines if possible. See ":help bugs" in
Vim. Ideally write a test that reproduces the problem and will pass
once it is fixed.


Happy Vimming!


--
Anyone who is capable of getting themselves made President should on no
account be allowed to do the job.
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220628145517.515BB1C055A%40moolenaar.net.

Monday, June 27, 2022

Re: Vim 7.1 under MS-DOS

Michael Goodman wrote:

> I am using vim 7.1 16-bit under DOS and it runs and everything seems good,
> however I can't seem to write to any files at all. I can write with the
> 'edit' DOS command but not vim. Maybe someone knows what additional steps
> need to be taken for this? Thank you

It is a surprise that it works at all. I tried keeping a DOS version
alive for quite a while, but it kept running out of memory quickly.
Eventually I gave up (and then could add more features to the tiny
version with the restrictions removed).

What messages do you see when you do ":w file"?
What is the :version output, what version do you use exactly?

--
"How is your new girlfriend?"
"90-60-90 man!"
"What, pale purple?"

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220627104618.965F81C480B%40moolenaar.net.

Sunday, June 26, 2022

Vim 7.1 under MS-DOS

I am using vim 7.1 16-bit under DOS and it runs and everything seems good, however I can't seem to write to any files at all. I can write with the 'edit' DOS command but not vim. Maybe someone knows what additional steps need to be taken for this? Thank you

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/04acd291-8ae1-4976-9247-590e17a0d83dn%40googlegroups.com.

Re: Update Runtime/doc/channel.txt -- why LSP section disappeae

Sorry certainly i got 'Eyes Wide Shut'. 😊 

Le dimanche 26 juin 2022 à 17:54:14 UTC+2, Bram Moolenaar a écrit :

> Don't understand why an entire section which told about LSP has disappeared
> in runtime/doc/channel.txt line 1557 after this
> update https://github.com/vim/vim/commit/8a3b805c6c9cae341d560df9c3567ebbe42a7404
> ?

As the PR mentions, this section was a duplicate. The same text is
found near the end of the file.

--
The goal of science is to build better mousetraps.
The goal of nature is to build better mice.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/bfde758d-853b-4961-b384-e148f722a201n%40googlegroups.com.

Re: Update Runtime/doc/channel.txt -- why LSP section disappeae

> Don't understand why an entire section which told about LSP has disappeared
> in runtime/doc/channel.txt line 1557 after this
> update https://github.com/vim/vim/commit/8a3b805c6c9cae341d560df9c3567ebbe42a7404
> ?

As the PR mentions, this section was a duplicate. The same text is
found near the end of the file.

--
The goal of science is to build better mousetraps.
The goal of nature is to build better mice.

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220626155405.776051C4808%40moolenaar.net.

Update Runtime/doc/channel.txt -- why LSP section disappeared

Don't understand why an entire section which told about LSP has disappeared in runtime/doc/channel.txt line 1557 after this update https://github.com/vim/vim/commit/8a3b805c6c9cae341d560df9c3567ebbe42a7404 ?

Thank for your explanation
Nicolas

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/d154a586-9cd1-4046-9c3f-0f97d95409d4n%40googlegroups.com.

Update Runtime/doc/channel.txt -- why LSP section disappeae

Hi Bram, 

Don't understand why an entire section which told about LSP has disappeared in runtime/doc/channel.txt line 1557 after this update https://github.com/vim/vim/commit/8a3b805c6c9cae341d560df9c3567ebbe42a7404 ? 

Thank for your explanation
Nicolas 

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/9625a1c6-35a7-49aa-a1f2-06b81f01f34an%40googlegroups.com.

Saturday, June 25, 2022

Re: Ctrl+F or B broken since 8.2 patch 5157 in gui windows

This question is large. 

Vim 8.2 x64 patch 5157 on Win10 french.
Encodings are below, I can feed furthermore infos if needed. 



The pb is more critical than title explain éd, it seems that CTRL is broken, because no Ctrl+C Ctrl+V remapped on my own are broken and also Ctrl+F Ctrl+B broken too. 
Capture.PNG

Le samedi 25 juin 2022 à 12:53:41 UTC+2, Bram Moolenaar a écrit :

> See title.

What is your setup? Do you use French perhaps?

--
I think that you'll agree that engineers are very effective in their social
interactions. It's the "normal" people who are nuts.
(Scott Adams - The Dilbert principle)

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/7958615a-c5ca-4266-bcc1-ad2c92080ce8n%40googlegroups.com.

Re: Ctrl+F or B broken since 8.2 patch 5157 in gui windows

> See title.

What is your setup? Do you use French perhaps?

--
I think that you'll agree that engineers are very effective in their social
interactions. It's the "normal" people who are nuts.
(Scott Adams - The Dilbert principle)

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220625105332.71DDD1C0867%40moolenaar.net.

Friday, June 24, 2022

Ctrl+F or B broken since 8.2 patch 5157 in gui windows

Hi

See title. 

Thanks
NV


--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/5dd73ecf-f034-4146-aac5-1c76a8329c18n%40googlegroups.com.

Saturday, June 18, 2022

Re: Can syntax clusters contain other clusters?

The problem was with something else. Sorry for the noise!

Den lör 18 juni 2022 17:51Bram Moolenaar <Bram@moolenaar.net> skrev:

> The subject line says it all: I'm trying to use syntax clusters and wonder
> if clusters may contain other clusters, i.e. should this work?
>
> syn cluster mydslAnyValue contains=@mydslValue,@mydslContainer
> syn cluster mydslAllValues contains=@mydslAnyValue,mydslConstant

Yes, there is an example just above ":help E848".

--
BODY:        I'm not dead!
CART DRIVER: 'Ere.  He says he's not dead.
LARGE MAN:   Yes he is.
BODY:        I'm not!
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CADAJKhB72S0UmkJ-W4rtuU4jNVJmowbfF1eL0KhswQgXKpXcbw%40mail.gmail.com.

Re: Can syntax clusters contain other clusters?

> The subject line says it all: I'm trying to use syntax clusters and wonder
> if clusters may contain other clusters, i.e. should this work?
>
> syn cluster mydslAnyValue contains=@mydslValue,@mydslContainer
> syn cluster mydslAllValues contains=@mydslAnyValue,mydslConstant

Yes, there is an example just above ":help E848".

--
BODY: I'm not dead!
CART DRIVER: 'Ere. He says he's not dead.
LARGE MAN: Yes he is.
BODY: I'm not!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220618155027.4C3411C12E9%40moolenaar.net.

Can syntax clusters contain other clusters?

The subject line says it all: I'm trying to use syntax clusters and wonder if clusters may contain other clusters, i.e. should this work?

syn cluster mydslAnyValue contains=@mydslValue,@mydslContainer
syn cluster mydslAllValues contains=@mydslAnyValue,mydslConstant

TIA,

/bpj

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CADAJKhBOfoF6ywX50nnsNsZbUOuOkBg80UkEM%2BRnkaKkHufgvA%40mail.gmail.com.

Friday, June 17, 2022

selection=exclusive word selection bug?

Hello,

If you start a `vim -u NONE`, then set mouse=a selection=exclusive, and
then use the mouse to select words from right-to-left (double-click/drag
to the left), the starting word is excluded from the selection.

Is this intentional? It isn't described for 'selection' in options.txt.

Sometimes I like the behavior of excluding the character on the right
corner, but I don't like this behavior for word selection.

Thank you,
Kyle Marek

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/b0fd2293-d5b9-e99e-c370-eca5446dfc68%40gmail.com.

Thursday, June 16, 2022

Re: Cursors

Dominique wrote:

> Bram Moolenaar wrote:
>
> > > Why cursor shape in terminal neovim can change but in vim not? Maybe
> > > something different in here.
> >
> > It very much depends on the terminal. Neovim assumes a very recent
> > terminal, it won't work everywhere. It may mess up on some terminals.
> >
> > What I use myself:
> >
> > " Change the cursor color and shape depending on the mode.
> > if &term =~ "xterm" && $SSH_CLIENT == ''
> > let &t_SI = "\<Esc>]12;purple\x7" . "\<Esc>[5 q"
> > try
> > let &t_SR = "\<Esc>]12;darkred\x7" . "\<Esc>[3 q"
> > catch
> > endtry
> > let &t_EI = "\<Esc>]12;royalblue2\x7" . "\<Esc>[2 q"
> > endif
>
> I use something along those lines too.
> But why the try/catch? I don't have it and did not notice issues.
> Doing :help termcap-cursor-shape also shows how to set colored
> cursor, but that help entry does not have the try / catch either.
> Perhaps it should be added there if it solves something.

If I remember correctly, I wrote this around the time that t_SR was
added. Using an older Vim version would throw an error. It's not
generally useful, unless you might use an old Vim version occasionally.

[Agree with no good terminal found for Mac, but I don't have one now]


--
The chat program is in public domain. This is not the GNU public license.
If it breaks then you get to keep both pieces.
-- Copyright notice for the chat program

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220616092040.8FD8F1C2341%40moolenaar.net.

Wednesday, June 15, 2022

Re: Cursors

Bram Moolenaar wrote:

> > Why cursor shape in terminal neovim can change but in vim not? Maybe
> > something different in here.
>
> It very much depends on the terminal. Neovim assumes a very recent
> terminal, it won't work everywhere. It may mess up on some terminals.
>
> What I use myself:
>
> " Change the cursor color and shape depending on the mode.
> if &term =~ "xterm" && $SSH_CLIENT == ''
> let &t_SI = "\<Esc>]12;purple\x7" . "\<Esc>[5 q"
> try
> let &t_SR = "\<Esc>]12;darkred\x7" . "\<Esc>[3 q"
> catch
> endtry
> let &t_EI = "\<Esc>]12;royalblue2\x7" . "\<Esc>[2 q"
> endif

I use something along those lines too.
But why the try/catch? I don't have it and did not notice issues.
Doing :help termcap-cursor-shape also shows how to set colored
cursor, but that help entry does not have the try / catch either.
Perhaps it should be added there if it solves something.

A bit off topic but related: on macOS, I use iTerm2 (with
TERM=xterm-256color) and cursor color does not change unfortunately.
I have not found workarounds. Yet it it's a popular terminal on macOS.
I find it quite bad, and I don't find any good terminals on macOS in fact
whereas on Linux, most terminals work well in general. Things that do not
work well with iTerm2:

* can't change cursor color (I can choose cursor colors in
settings, but vim can't dynamically change it later)
* underline and squiggly lines have no colors
* several bugs with tmux (version next-3.4, the real tmux, not the
crappy one built-in in iTerm2) e.g. bugs when trying to copy paste
in window pane while another pane is outputing text, slowness
dragging window pane separators.

Regards

Dominique

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CAON-T_jkkuB07JhB2YaN6TwEFhypOPf7ej4Q6zsdSuQHr%3D_f6A%40mail.gmail.com.

Re: TERM (was Cursors)

> On 6/15/22 2:44 PM, Bram Moolenaar wrote:
> > Yes, that is indeed a problem. Lots of terminal emulators keep popping
> > up, many with the same or similar base, and adding one more feature.
> > They don't bother distributing a correct termcap/terminfo entry and
> > just use something like "xterm" for $TERM.
>
> I wonder how much of that is by conscious choice vs ignorance.

It is a conscious choice. Someone making a new terminal emulator wants
it to get popular quickly, doesn't care about doing things that make it
harder to have it adopted. "If it works for 99% that is good enough".
And then spend years fixing that last percent (or just ignoring it).

> > I have been thinking of a way to just ignore termcap/terminfo and
> > let the terminal tell us what it's features are. Xterm does this
> > partially, but there can be artifacts (e.g. when Vim exits very
> > quickly). I haven't found the right solution yet.
>
> I'm curious. Though that is probably even further off topic.

With xterm Vim will request the actual escape sequences used. This
matters, because even when the $TERM value is correct and the
terminfo/termcap entry is found, there are runtime options that can
change the behavior. "8 bit controls" can completely mess things up.

Problem is that between requesting the entry and receiving it there is a
delay, which can go to a few hundred msec for a remote terminal. Then
the response may end up in the shell instead of with Vim. It's not a
final solution.

> > It works well compared to other solutions (e.g. Putty). If you can't
> > get it to connect double check the settings. It works for me (when
> > I get the domain or IP address and port right).
>
> I suspect that my problem is related to the super tight security
> settings that $CORP_IT has put in place since the last time I tried to
> use it.

It's possible the protocol to connect disallows using a password.
I don't know how to do something else, such as a key/challenge exchange.

--
(letter from Mark to Mike, about the film's probable certificate)
For an 'A' we would have to: Lose as many shits as possible; Take Jesus
Christ out, if possible; Loose "I fart in your general direction"; Lose
"the oral sex"; Lose "oh, fuck off"; Lose "We make castanets out of your
testicles"
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220615214743.7BD021C2341%40moolenaar.net.

Re: TERM (was Cursors)

On 6/15/22 3:17 PM, 'Grant Taylor' via vim_use wrote:
> I suspect that my problem is related to the super tight security
> settings that $CORP_IT has put in place since the last time I tried to
> use it.

While talking about this with a coworker, it came to my attention that
my problem is related to the program not working Apple's M1 processor.



--
Grant. . . .
unix || die

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/39826b12-304c-50c7-2a16-f2f048d804c0%40spamtrap.tnetconsulting.net.

Re: TERM (was Cursors)

On 2022-06-15, 'Grant Taylor' via vim_use wrote:
> On 6/15/22 2:43 PM, Gary Johnson wrote:
> >Yeah, but...
>
> IMHO there's no but about it.

[...]

Points well made and well taken.

> >HP had this problem about 40 years ago when they introduced
> >a successor to the 2645 terminal. Its ID string was something like
> >"HP2647" and customers raised Cain that their systems did work right
> >with the new terminal, so HP changed it to report itself as an
> >"HP2645".
>
> IMHO HP made the wrong choice. It sounds like they bowed to
> marketing pressure and made their new HP2647 terminal lie and say
> that it was an HP2645. Maybe the marketing / support types have more
> clout than the technical types.

I think they did. That was true for HP-UX as well.

> >I use [termresponse] when it matters what the terminal really is.
>
> I often find that the answer back is unset / null or that the
> terminal (emulator) completely fails / ignores it.

Fortunately, all the terminals I use support it. My Chromebook's
Crosh Window uses the same termresponse string as an Xterm 256
emulating a vt100, but I don't have any of those Xterms, so it
works.

Regards,
Gary

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220615213452.GF20513%40phoenix.

Re: TERM (was Cursors)

On 6/15/22 2:44 PM, Bram Moolenaar wrote:
> Yes, that is indeed a problem. Lots of terminal emulators keep popping
> up, many with the same or similar base, and adding one more feature.
> They don't bother distributing a correct termcap/terminfo entry and
> just use something like "xterm" for $TERM.

I wonder how much of that is by conscious choice vs ignorance.

> I have been thinking of a way to just ignore termcap/terminfo and
> let the terminal tell us what it's features are. Xterm does this
> partially, but there can be artifacts (e.g. when Vim exits very
> quickly). I haven't found the right solution yet.

I'm curious. Though that is probably even further off topic.

> It works well compared to other solutions (e.g. Putty). If you can't
> get it to connect double check the settings. It works for me (when
> I get the domain or IP address and port right).

I suspect that my problem is related to the super tight security
settings that $CORP_IT has put in place since the last time I tried to
use it.



--
Grant. . . .
unix || die

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/1e90f2d9-2a17-c048-8781-758c3a21ea26%40spamtrap.tnetconsulting.net.

Re: TERM (was Cursors)

On 6/15/22 2:43 PM, Gary Johnson wrote:
> Yeah, but...

IMHO there's no but about it.

> A problem is that if somebody comes out with a new Whizbang terminal
> that does everything an Xterm does but so much more, and they set
> TERM=whizbang, then everyone with scripts and configurations looking
> for TERM=xterm* complains that their tools don't work anymore.

I believe that these terminals should default to whizbang or whatever
their name is.

They can optionally support xterm personality / emulation.

> As far as they're concerned, it looks like an Xterm so they want it
> to identify itself as an Xterm. The same goes for terminals that work
> mostly but not quite like an Xterm but have some "better" features.

I think that the more people that pile onto the Xterm terminal type the
muddier the water will get.

This seems reminiscent of the User-Agent header for web browsers.

IMHO we should /own/ the terminal type that we are using. Either create
a new whizbang terminal and give it an xterm personality / emulation
capability -or- stick with venerable xterm / vt100 and not expect more
than the specifications define.

> HP had this problem about 40 years ago when they introduced
> a successor to the 2645 terminal. Its ID string was something like
> "HP2647" and customers raised Cain that their systems did work right
> with the new terminal, so HP changed it to report itself as an
> "HP2645".

IMHO HP made the wrong choice. It sounds like they bowed to marketing
pressure and made their new HP2647 terminal lie and say that it was an
HP2645. Maybe the marketing / support types have more clout than the
technical types.

I recently copied an xterm definition so that it could be used for
xterm-color because that's what my terminal reported as and the 20 year
old system I was connecting to didn't know what xterm-color was.

> You can't win either way.

Either you can own the terminal type and do your best / the work to keep
it pure. Or you can have a completely unrelated web web browser lie and
say that it's a 20 year old piece of software that's long since dead, a
la. User-Agent headers.

If we're going to ignore what the value actually means, then we might as
well make it a random opaque token.

> I don't know what the right answer is. Some HP products tried to
> use capability strings instead of product IDs with limited success.

My vote is to actually use the value for what it's meant to be and
actively /own/ the maintenance.

> That would help a lot. Is that what Vim refers to as the
> termresponse?

I don't know.

> I use that when it matters what the terminal really is.

I often find that the answer back is unset / null or that the terminal
(emulator) completely fails / ignores it.



--
Grant. . . .
unix || die

--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/13a08f6b-21cb-618d-a73f-b2f3f9ca1464%40spamtrap.tnetconsulting.net.