• Vim 9 - but older releases preferred

    From Janis Papanagnou@janis_papanagnou+ng@hotmail.com to comp.editors on Sat Nov 15 22:58:35 2025
    From Newsgroup: comp.editors

    In a new Linux system installation I'm presented a Vim 9 version.
    It seems to be completely incompatible with the various releases
    that I used before.

    When I was looking on the net for some older release I got always
    directed to version 9, though. (I'm obviously missing something?)

    Can someone provide a link to some Vim release where modelines and
    all the other things work as in former (pre-Lua or whatever) times?
    Some source code tar-ball would be okay. - Thanks.

    Or is there some other simple way to make Vim 9 behave like earlier
    versions concerning the configuration files and user settings?

    Janis

    PS: How did other Vim users perceive those changes in Vim releases?
    (I'm just curious.)

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Eli the Bearded@*@eli.users.panix.com to comp.editors on Sat Nov 15 23:01:40 2025
    From Newsgroup: comp.editors

    In comp.editors, Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
    In a new Linux system installation I'm presented a Vim 9 version.
    It seems to be completely incompatible with the various releases
    that I used before.

    I'm using vim 9.1.1696 today and not noticing any difference of note since
    7.x days. Clearly our usage is different.

    When I was looking on the net for some older release I got always
    directed to version 9, though. (I'm obviously missing something?)

    Pick a tag, any tag:

    https://github.com/vim/vim/tags

    I have not poked around much, but there seems to be every patch from 7.0
    on as a tag.

    git clone https://github.com/vim/vim && cd vim
    git checkout v8.2.2121
    ./configure [ OPTIONS ] && make

    Can someone provide a link to some Vim release where modelines and
    all the other things work as in former (pre-Lua or whatever) times?
    Some source code tar-ball would be okay. - Thanks.

    Modelines? That's a touchy subject since modelines have been subject to
    many security patches over the years. I don't use modelines much, but
    have not noticed a change. I think my usage is limited to setting
    tabstops and case insensitive search in some files.

    Or is there some other simple way to make Vim 9 behave like earlier
    versions concerning the configuration files and user settings?

    The verbose :version output will tell you the compile time
    configuration. Here's what Ubuntu 22.04.5 LTS reports for :version :


    VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 02 2025 12:39:01)
    Included patches: 1-16, 647, 17-579, 1969, 580-647, 678, 648-1848, 4975, 5016, 5023, 5072, 2068, 184
    9-1854, 1857, 1855-1857, 1331, 1858, 1858-1859, 1873, 1860-1969, 1992, 1970-1992, 2010, 1993-2068, 2
    106, 2069-2106, 2108, 2107-2109, 2109-3995, 4563, 4646, 4774, 4895, 4899, 4901, 4919, 213, 1840, 184
    6-1847, 2110-2112, 2121
    Modified by team+vim@tracker.debian.org
    Compiled by team+vim@tracker.debian.org
    Huge version without GUI. Features included (+) or not (-):
    +acl -dnd +listcmds +postscript +termresponse
    +arabic -ebcdic +localmap +printer +textobjects
    +autocmd +emacs_tags -lua +profile +textprop
    +autochdir +eval +menu -python +timers
    -autoservername +ex_extra +mksession +python3 +title
    -balloon_eval +extra_search +modify_fname +quickfix -toolbar
    +balloon_eval_term -farsi +mouse +reltime +user_commands
    -browse +file_in_path -mouseshape +rightleft +vartabs
    ++builtin_terms +find_in_path +mouse_dec -ruby +vertsplit
    +byte_offset +float +mouse_gpm +scrollbind +vim9script
    +channel +folding -mouse_jsbterm +signs +viminfo
    +cindent -footer +mouse_netterm +smartindent +virtualedit
    -clientserver +fork() +mouse_sgr +sodium +visual
    -clipboard +gettext -mouse_sysmouse -sound +visualextra
    +cmdline_compl -hangul_input +mouse_urxvt +spell +vreplace
    +cmdline_hist +iconv +mouse_xterm +startuptime +wildignore
    +cmdline_info +insert_expand +multi_byte +statusline +wildmenu
    +comments +ipv6 +multi_lang -sun_workshop +windows
    +conceal +job -mzscheme +syntax +writebackup
    +cryptv +jumplist +netbeans_intg +tag_binary -X11
    +cscope +keymap +num64 -tag_old_static -xfontset
    +cursorbind +lambda +packages -tag_any_white -xim
    +cursorshape +langmap +path_extra -tcl -xpm
    +dialog_con +libcall -perl +termguicolors -xsmp
    +diff +linebreak +persistent_undo +terminal -xterm_clipboard
    +digraphs +lispindent +popupwin +terminfo -xterm_save
    system vimrc file: "$VIM/vimrc"
    user vimrc file: "$HOME/.vimrc"
    2nd user vimrc file: "~/.vim/vimrc"
    user exrc file: "$HOME/.exrc"
    defaults file: "$VIMRUNTIME/defaults.vim"
    fall-back for $VIM: "/usr/share/vim"
    Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -Wdate-time -g -O2 -ffile-prefix-map=/build/vim-300z
    QI/vim-8.2.3995=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong
    -Wformat -Werror=format-security -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
    Linking: gcc -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,no
    w -Wl,--as-needed -o vim -lm -ltinfo -lselinux -lsodium -lacl -lattr -lgpm -L/usr/lib/python3.10/con
    fig-3.10-x86_64-linux-gnu -lpython3.10 -lcrypt -ldl -lm -lm

    PS: How did other Vim users perceive those changes in Vim releases?
    (I'm just curious.)

    Like I said, I've been using vim 9 for a while and don't notice
    differences. I prefer a mostly vi compatible vim experience, however.

    Elijah
    ------
    has never used vim-lua
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Janis Papanagnou@janis_papanagnou+ng@hotmail.com to comp.editors on Sun Nov 16 08:07:13 2025
    From Newsgroup: comp.editors

    [ Sorry for the response per email, Eli. - I'm not used to my
    new system environment, and it's not yet set up completely. ]

    On 11/16/25 00:01, Eli the Bearded wrote:
    In comp.editors, Janis Papanagnou <janis_papanagnou+ng@hotmail.com>
    wrote:
    In a new Linux system installation I'm presented a Vim 9 version.
    It seems to be completely incompatible with the various releases
    that I used before.

    I'm using vim 9.1.1696 today and not noticing any difference of note
    since
    7.x days. Clearly our usage is different.

    Or I was probably just confused about the default behavior in
    my clean new environment and about the error messages that I
    provoked with my tries to reestablish my previous configuration.


    When I was looking on the net for some older release I got always
    directed to version 9, though. (I'm obviously missing something?)

    Pick a tag, any tag:

    https://github.com/vim/vim/tags

    Thanks.

    I have not poked around much, but there seems to be every patch from 7.0
    on as a tag.

    git clone https://github.com/vim/vim && cd vim
    git checkout v8.2.2121
    ./configure [ OPTIONS ] && make

    Can someone provide a link to some Vim release where modelines and
    all the other things work as in former (pre-Lua or whatever) times?
    Some source code tar-ball would be okay. - Thanks.

    Modelines? That's a touchy subject since modelines have been subject to
    many security patches over the years. I don't use modelines much, but
    have not noticed a change. I think my usage is limited to setting
    tabstops and case insensitive search in some files.

    I've as well not many settings, usually less than a hand-full
    of a set of about a dozen settings that I use.

    I don't see (and certainly never noticed) any security issues
    with those, though. But I'm anyway not using things (like script
    code) beyond some elementary settings.


    Or is there some other simple way to make Vim 9 behave like earlier
    versions concerning the configuration files and user settings?

    The verbose :version output will tell you the compile time
    configuration. Here's what Ubuntu 22.04.5 LTS reports for :version :
    [...]

    PS: How did other Vim users perceive those changes in Vim releases?
    (I'm just curious.)

    Like I said, I've been using vim 9 for a while and don't notice
    differences. I prefer a mostly vi compatible vim experience, however.

    Now it seems I can also continue with Vim 9. - Thanks again.

    Curious about 'compatible'...
    As I understand it you don't get any Vim feature with that?
    So you're actually just using old "Vi" functionality? (With
    Vi's old bugs fixed, I suppose.)
    That's interesting. While I find that old Vi contributed most
    of what's basically the actual "Vim experience", but I also
    think that Vim (Bram) managed to extend it sensibly within the
    "Vi philosophy". (I like a lot of Vim's features and I'm using
    not all but quite some that I wouldn't want to miss.)

    Janis
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Eli the Bearded@*@eli.users.panix.com to comp.editors on Sun Nov 16 09:01:32 2025
    From Newsgroup: comp.editors

    In comp.editors, Janis Papanagnou replied to me:
    [ Sorry for the response per email, Eli. - I'm not used to my
    new system environment, and it's not yet set up completely. ]

    Usenet is not realtime. Slow is fine. Not necessary to post and email a response, and doing so without mentioning it is annoying.

    Or I was probably just confused about the default behavior in
    my clean new environment and about the error messages that I
    provoked with my tries to reestablish my previous configuration.

    Well, no real problem them. The "clean environment" vim gets further and further away from ordinary vi. As an example, I find scrolloff a very
    handy setting on rare occaisions but annoying for regular use. It's set
    as one of the clean environment defaults now.

    (I complained about how scrolloff changed the meaining of "yL", the sort
    of thing I do often, and Bram fixed it. Versions before then with, say,
    ":set so=5" would stop the yank at five lines from the bottom. That was sometime in 2017, so a while ago. An example of how older versions had
    things I'd notice as "wrong" but newer ones do not.)

    Modelines? That's a touchy subject since modelines have been subject to
    many security patches over the years. I don't use modelines much, but
    have not noticed a change. I think my usage is limited to setting
    tabstops and case insensitive search in some files.
    I don't see (and certainly never noticed) any security issues
    with those, though. But I'm anyway not using things (like script
    code) beyond some elementary settings.

    Modelines change settings in your editor. When a modeline comes from a
    file you didn't write, the changes may be unpleasant. When a modeline
    manages to change things *besides* mere editor settings, it becomes a
    security risk. The classic example is true vi allowing all ex mode
    commands in modelines.

    I wrote this example and posted to this group decades ago:

    ex: /sig virus!$/w!>>~/.signature : Eli's vi modeline sig virus!

    Since modelines activate in the first or last five lines, putting it
    at the end of a post will cause it to activate for people that reply
    if they have classic vi with modelines enabled. (If it is not clear,
    it searches for the first line with "sig virus!" at the end, then
    appends that line to the .signature file in a Unix home directory.)

    Like I said, I've been using vim 9 for a while and don't notice
    differences. I prefer a mostly vi compatible vim experience, however.
    Curious about 'compatible'...
    As I understand it you don't get any Vim feature with that?
    So you're actually just using old "Vi" functionality? (With
    Vi's old bugs fixed, I suppose.)

    No. Compatible means that most everything vi does, vim does the same.
    Some changes, like safe modelines and tag files, other bug fixes like
    the lose-your-marks one that used to bother me a lot on Solaris, those
    remain vim behavior. But things that would be no-ops, errors or
    undefined behavior in vi, those can still work vim-style.

    Some notable examples that I use regularly:

    * The g family of commands, like gq<movement> to reformat text. The
    "g" key is unassigned in vi
    * Similarly ctrl-a / ctrl-x number increment / decrement
    * Whole word search with # and * (but I remap the * to _)
    * Fancy remap commands like ":noremap _ *"
    * :new for a multiwindow view
    * multiundo

    That's interesting. While I find that old Vi contributed most
    of what's basically the actual "Vim experience", but I also
    think that Vim (Bram) managed to extend it sensibly within the
    "Vi philosophy". (I like a lot of Vim's features and I'm using
    not all but quite some that I wouldn't want to miss.)

    There are many Bram extensions I don't get a lot of value from,
    like vimscript, syntax highlighting, gvim, mouse integration,
    and colors in my editor (eg search highlighting). But there are good
    things too, as I mentioned above. I also appreciate that some of the
    bugs and issues in vi that irked me (line length limits, losing marks,
    the unnamed register being cleared when changing files) are fixed in
    vim. And vim does a good job with UTF-8, which was not a big concern
    for me in the past but I appreaciate these decades later.

    Elijah
    ------
    uses * for "execute this line" macro :map * "yyy@y
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Janis Papanagnou@janis_papanagnou+ng@hotmail.com to comp.editors on Sun Nov 16 11:42:58 2025
    From Newsgroup: comp.editors

    On 11/16/25 10:01, Eli the Bearded wrote:
    In comp.editors, Janis Papanagnou replied to me:
    [ Sorry for the response per email, Eli. - I'm not used to my
    new system environment, and it's not yet set up completely. ]

    Usenet is not realtime. Slow is fine. Not necessary to post and email a response, and doing so without mentioning it is annoying.

    (I want to discuss things here _in Usenet_ not per email. The
    prior sent mail was a GUI-typo accident with the new software!
    Sorry again if I've annoyed you.)

    ...

    Modelines change settings in your editor. When a modeline comes from a
    file you didn't write, the changes may be unpleasant. [...]

    Yes, you're right that files may come from third-party sources.


    Like I said, I've been using vim 9 for a while and don't notice
    differences. I prefer a mostly vi compatible vim experience, however.
    Curious about 'compatible'...
    As I understand it you don't get any Vim feature with that?
    So you're actually just using old "Vi" functionality? (With
    Vi's old bugs fixed, I suppose.)

    No. Compatible means that most everything vi does, [...]
    [...] But things that would be no-ops, errors or
    undefined behavior in vi, those can still work vim-style.

    Ah, okay.


    Some notable examples that I use regularly:

    * The g family of commands, like gq<movement> to reformat text. The
    "g" key is unassigned in vi

    Yes. A very huge and diverse family, actually.

    A similar (previously unused and IMO useful) letter-family
    is 'v', 'V', Ctrl-'V'.

    * Similarly ctrl-a / ctrl-x number increment / decrement

    Occasionally it's useful. - Mind surprises, though, e.g. when
    trying to increment the month or day component of an ISO date!
    (Been there.)

    But very useful also if you want to add a certain offset, say 7,
    to many fields, '7' 'Ctrl-A' then move to other places and just
    repeat (with '.').

    * Whole word search with # and * (but I remap the * to _)

    I'm sure I've used '#' in Vi (in pre-Vim era). And someone in
    Usenet mentioned that '*' was also present in Vi. (The latter
    was new to me.) Maybe it's been added over the course of time.

    [...]
    [...]

    There are many Bram extensions I don't get a lot of value from,
    like vimscript,

    I do no scripting in Vim.

    syntax highlighting,

    This is something I consider very useful to get a quick overview
    of the text structure. It also catches lexical and some types of
    syntax errors.

    gvim, mouse integration,

    All that mouse-clicky-clacky things severely reduces editing speed;
    the primary domain of Vi/Vim achieved with the keyboard.

    I use Gvim occasionally if some GUI application asks me for a text
    viewer to select; vim terminal versions typically don't work here.

    and colors in my editor (eg search highlighting).

    I'm ambivalent here; it's useful but the way it's implemented isn't
    very appealing in some cases.

    But there are good things too, as I mentioned above. [...]

    Yes, indeed.

    Janis

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From John McCue@jmclnx@gmail.com.invalid to comp.editors on Sun Nov 16 13:46:54 2025
    From Newsgroup: comp.editors

    Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
    In a new Linux system installation I'm presented a Vim 9 version.
    It seems to be completely incompatible with the various releases
    that I used before.

    I noticed that too :(

    When I was looking on the net for some older release I got always
    directed to version 9, though. (I'm obviously missing something?)

    I found from v6.x to v7.x something big changed, I stayed
    with v6.x for as long as I could. But bitrot creeped in
    and I had to bite the bullet use the version that comes
    with my distro.


    Can someone provide a link to some Vim release where modelines and
    all the other things work as in former (pre-Lua or whatever) times?
    Some source code tar-ball would be okay. - Thanks.

    Or is there some other simple way to make Vim 9 behave like earlier
    versions concerning the configuration files and user settings?

    Add these lines to the end of your ~/.vimrc should get
    it working similar to v6.x. But I am not sure what
    is happened to modelines since I have not changed the
    defaults.

    " ----------------------------------------------------------------------
    " For Version 7.0 or above
    " Turn off all the crap I do not like
    " http://vimrc-dissection.blogspot.com/2006/08/vim-turn-that-showmatch-crap.html
    " ----------------------------------------------------------------------
    :let no_man_maps=1
    :let loaded_matchparen = 1
    :set comments=""
    :set matchpairs=""
    :set mouse=
    :set nocin
    :set nohlsearch
    :set noincsearch
    :set nois
    :set paste
    :syntax off
    """ disable autocomments
    :au FileType * setl fo-=cro
    """ turn off brace match comment matching
    set noshowmatch
    """ stop autoindent
    set noautoindent
    :filetype indent off
    set columns=80
    set noundofile

    " hopefully this does not break above
    set showmode ruler
    " turn off a new STUPID vim 8 default
    set scrolloff=0


    Janis

    PS: How did other Vim users perceive those changes in Vim releases?
    (I'm just curious.)

    I did at least.
    --
    [t]csh(1) - "An elegant shell, for a more... civilized age."
    - Paraphrasing Star Wars
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Eli the Bearded@*@eli.users.panix.com to comp.editors on Mon Nov 17 02:23:25 2025
    From Newsgroup: comp.editors

    In comp.editors, Janis Papanagnou replied to me:
    * Similarly ctrl-a / ctrl-x number increment / decrement
    Occasionally it's useful. - Mind surprises, though, e.g. when
    trying to increment the month or day component of an ISO date!
    (Been there.)

    This sounds like you would benefit from setting nrformats.

    default: nrformats=bin,octal,hex
    0b1011 >> ctrl-a >> 0b1100
    001357 >> ctrl-a >> 001360
    0xfeed >> ctrl-a >> 0xfeee
    456789 >> ctrl-a >> 456790

    empty: nrformats=
    0b1011 >> ctrl-a >> 1b1011
    001357 >> ctrl-a >> 001358
    0xfeed >> ctrl-a >> 1xfeed
    456789 >> ctrl-a >> 456790

    In each case, cursor was on first non-blank character. When it is blank,
    only decimal numbers are recognized.

    But very useful also if you want to add a certain offset, say 7,
    to many fields, '7' 'Ctrl-A' then move to other places and just
    repeat (with '.').

    I've used it in tail-recursive macros to renumber things in large
    files after adding or deleting a few things.

    There are many Bram extensions I don't get a lot of value from,
    like vimscript,
    I do no scripting in Vim.

    Vim plugins are written in vimscript and many people find those useful.

    and colors in my editor (eg search highlighting).
    I'm ambivalent here; it's useful but the way it's implemented isn't
    very appealing in some cases.

    There are ways to tailor colors, but I'm not the person to ask about
    that. I use "set t_Co=" (set to empty) to disable them. The t_??
    settings override terminal features defined in termcap. It's almost
    black magic.

    Elijah
    ------
    also sets t_8u blank (for underline color)
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Eli the Bearded@*@eli.users.panix.com to comp.editors on Mon Nov 17 20:19:03 2025
    From Newsgroup: comp.editors

    In comp.editors, Eli the Bearded <*@eli.users.panix.com> wrote:
    In comp.editors, Janis Papanagnou replied to me:
    Occasionally it's useful. - Mind surprises, though, e.g. when
    trying to increment the month or day component of an ISO date!
    This sounds like you would benefit from setting nrformats.

    default: nrformats=bin,octal,hex
    0b1011 >> ctrl-a >> 0b1100
    001357 >> ctrl-a >> 001360
    0xfeed >> ctrl-a >> 0xfeee
    456789 >> ctrl-a >> 456790

    empty: nrformats=
    0b1011 >> ctrl-a >> 1b1011
    001357 >> ctrl-a >> 001358
    0xfeed >> ctrl-a >> 1xfeed
    456789 >> ctrl-a >> 456790

    In each case, cursor was on first non-blank character. When it is blank,
    only decimal numbers are recognized.

    By email, but apparently not in the newsgroup, Janis Papanagnou alerts
    me to the issue being the - seperator:

    2025-11-17 >> ctrl-a (on the "1" in 17) >> 2025-11-16

    Whereas I had been thinking of the 07 to 10 issue in months and days.

    There's indeed a fix for these - separated dates, if you use them
    regularly:

    set nrformats=unsigned

    2025-11-17 >> ctrl-a (on the "1" in 17) >> 2025-11-18

    Elijah
    ------
    it's all in the help files
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Anton Shepelev@anton.txt@gmail.moc to comp.editors on Sat Dec 6 01:26:16 2025
    From Newsgroup: comp.editors

    Janis Papanagnou:

    Or I was probably just confused about the default behavior in
    my clean new environment and about the error messages that I
    provoked with my tries to reestablish my previous
    configuration.

    I think so. If you use Vim as a Vi imitation, rather than as Vi
    Improved, consider one of these:

    The Traditional Vi (easy to build yourself!)
    <https://ex-vi.sourceforge.net/>
    nvi2: <https://github.com/lichray/nvi2>

    Otherwise, it's just a matter of Vim's defaults.
    --
    () ascii ribbon campaign -- against html e-mail
    /\ www.asciiribbon.org -- against proprietary attachments
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Jeffrey H. Johnson@johnsonjh.dev@gmail.com to comp.editors on Mon Dec 8 03:15:19 2025
    From Newsgroup: comp.editors

    I may also suggest OpenVi, especially if you are an OpenBSD user on
    some systems or if want something that is minimal (and do not require
    Unicode support): https://github.com/johnsonjh/OpenVi

    There is http://martinwguy.github.io/xvi/ if you need something tiny,
    and other options as well such as https://invisible-island.net/vile/
    which is also actively maintained.

    On 2025-12-05, Anton Shepelev <anton.txt@gmail.moc> wrote:
    The Traditional Vi (easy to build yourself!)
    <https://ex-vi.sourceforge.net/>
    nvi2: <https://github.com/lichray/nvi2>

    Otherwise, it's just a matter of Vim's defaults.
    --
    Jeffrey H. Johnson
    johnsonjh.dev@gmail.com
    --- Synchronet 3.21a-Linux NewsLink 1.2