Getting NeoVIM to not read anything VIM finds seems impossible, but it is easy to make the vimscript a noop with `if has('nvim') | finish | endif`. The similar Lua versions don't get read by VIM, so that direction isn't a problem.

I implemented Decasify in a single repo as a #vimscript plugin that loads in #vim and a #lua plugin that leads in #neovim, the former depending on the CLI and the latter depending on the Lua Rock. Also there is now an override so NeoVIM can go the other way too.

So, hier hat der Regen jetzt Scheinbar aufgehört. Den Rest #refactoring mache ich morgen. Interessanterweise ist jetzt passiert, was wir alle schon lange befürchtet haben: ich will morgen mein erstes eigenes #vimscript für #vim und #neovim #nvim versuchen zu schreiben!

#helix vs #neovim. spot the differences!

the main one isn't really visible, though: helix has a built-in #treesitter, and it does a great job at highlighting #rust out of the box, with zero configuration and dependencies!

this way, i don't have 20 plugins in #lua and/or #vimscript running in the background and autoupdating from #github - awesome! 🌈🦄 config is plain #toml - no need to write it in turing-complete languages which i only know poorly

shout out @bobulous 🙌 https://www.bobulous.org.uk/coding/Helix-crib-sheet.html

Helix crib sheet

A quick reference for the key bindings and modes used in the multi-modal text editor Helix.

I think any large interesting program you might write could well have an embedded language within it, in which the user can write stuff that is just as good, and just as deep as built-in functionality. You want this. It’s a thing that makes programs compelling.

In #Vim, that embedded language is #VimScript. In #emacs, that’s #elisp (which in fact, I think the whole thing is written in). In a #smalltalk environment, you control the entire environment with Smalltalk, just as elisp applies to Emacs. For many, many things, that language is #lua ( #NeoVim, many games, #pandoc, #redis, this list goes on).

I used to think there were really two reasonable mainstream languages you could use here: #Python or #javascript. Between those two, for a long time I felt that JavaScript was the winner. I think that has changed as Python has gotten faster, more powerful, and better known. But also, I think the answer might actually not be either of these two. It might be Lua. Lua is simpler and faster than either JavaScript or Python. It’s more embeddable. It’s designed specifically for this purpose. It’s in much wider use as an embedded scripting language. I don’t want Lua to be the answer. I like Python better. But I think Lua actually is the right answer.

Ok, I admit that writing a syntax file in Vimscript is a pain.

#Vim #Vimscript

#Vim #NeoVim I found what was replacing all my argument lists with underscores: argtextobj.vim. This is one of my favorite plugins. It hasn’t been touched in 15 years, though. Probably something changed in the editor itself that broke it. I could abandon it; I could fix it; or I could rewrite it. I asked my friend what language it should be rewritten in. He said #vim9script of course! I disagreed. That would only work in Vim. #lua would only work in NeoVim. Maybe #vimscript from just before 9. Maybe #Python. Maybe #rustlang. All three of those would run in both. I kinda don’t want to use VimScript, but that’s technically the correct choice.

Of course it would be waaay easier if it used the #lsp. Otherwise you’re parsing patterns and brackets and strings. Not sure such a solution works in plain old Vim.

What does the #fediverse say?

Run vimscript+python user commands sequentually?

I am running vim 8.2.2121. I am trying to open 3 tabs One tab has instructions in it and is opened read only. Both tabs 2 and 3 create :new files and read template files into them on separate tabs.

Vi and Vim Stack Exchange
Chaining abbreviations?

As I understand it, there are the following flags for abbreviations: i - Insert mode c - Command-line mode (:) abbreviation ! - all of the above. I'd like to add an abbreviation in a sourced vim ...

Vi and Vim Stack Exchange
Write all options to a file or buffer?

If I run :set all in gvim, I get a list of all the options, but then I can't copy and paste them or search them; I'd like to put them in a buffer or a log file somewhere. I tried the following, but...

Vi and Vim Stack Exchange

Has anybody seen an effective way to use the same repository for both a native #Lua based plugin for #neovim and legacy #vimscript based plugin targeting plain #vim? In my case the best implementations for each is going to be completely different but it would be nice to do it from one code base.

Also and VIM users have thoughts on a plugin with a shell dependency vs. one that has to either detect, download, or build a Python module?

https://github.com/alerque/decasify

GitHub - alerque/decasify: A CLI utility, Rust crate, Lua Rock, Python module, JavaScript module, Neovim plugin, and SILE package to cast strings to title-case according to locale specific style guides including Turkish support.

A CLI utility, Rust crate, Lua Rock, Python module, JavaScript module, Neovim plugin, and SILE package to cast strings to title-case according to locale specific style guides including Turkish supp...

GitHub