social.dk-libre.fr is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
boosted#Vimovember Day 12 - Macros
Regarding macros, q is the key ! It can avoid many repetitions.
A true life example : having a list of First name, Last name in a file (125 lines) I wanted to invert LAST NAME, First name.
I typed (from the beginning of line 1 :
qadf,A,<ESC>px0xgUf,jq
And then 125@a to repeat !
(1/2)
boostedDay 11: Registers ⚙️. If you didnt know you can inspect all the registers, or specific ones. You can insert them easily while you type too with <C-r>.
I summarize all the commands in this post ⤵️.
If you participate, and do post on your blog, send me a link to them 🙏
#Vimovember #editors #terminal #opensource #FOSS #nvim #vim #linux #shell
boosted### Day 10: Insert tricks (2/2)
5. <C-k> insert a Unicode or special character using `:digraphs`. <C-k>Eu -> €
<C-k>$$ -> £
6. Filename completion in the current directory with <C-x><C-f>
7. <C-x><C-l> Whole line completion, Vim searches the buffer for lines that
start with what you’ve typed and offers completions.
boosted### Day 10: Insert tricks (1/2)
1. Press <C-o> to run one normal-mode command, then return to insert mode.
2. <C-r> {register} to insert register content. <C-r>0 " Insert last yanked
text
3. <C-r> =strftime('%c') --> will insert this date Mon 10 Nov 2025 17:30:49 GMT
<C-r> =512*2 --> will insert 1024
4. <C-t> / <C-d> – Increase/Decrease line indent while in Insert mode.
boosted### Day 9: Repeat (2/2)
* :normal .
:3,10normal .
-> repeats your last change on every line from 3 to 10.
Combine this with macros or registers, and you have automation magic without writing loops.
boosted### Day 9: Repeat (1/2)
Most Vim users know:
. -> repeats your last change
@. -> repeats your last macro
But many don't know how to repeat your last Ex command:
@: -> repeats your last Ex command
Another one I like is to use `@@` to repeat the last executed macro you created
with `q`.
So if you ran:
@q
You can now type:
@@ to repeat it once
10@@ to repeat it ten times
1/2
boostedIf you are interested in the broad range of vi clones that have existed (and still exist) over the decades, one of the better resources on the subject was published by Sven Guckes:
https://guckes.net/vi/clones.html
I hope that someone takes up the mantle here, because M. Guckes collected more information than the O'Reilly book had, and there's more to be had from the decade since.
#nvi #elvis #stevie #calvin #vi #vim #neovim #winvi #Watcom #ex #nex #view #nview #BillJoy #BramMoolenaar #KeithBostic #SvenGuckes
boosted#Vimovember Day 9 - Substitute
Today, I'd contribute by telling that the point is often to avoid repeating typing the same key. For example, try not to repeat jjjjj or kkkkk, but rather use moving keymaps such as {, CTRL-u, CTRL-D….
The Hard Time plugin may help.
Otherwise, I like CTRL-a in insert mode to avoid typing the same thing several times. You type it once, leave insert mode, go in insert mode somewhere else and hit CTRL-a. The same text gets written (_a_gain ?).
boostedFor substitution, you don’t have to use only %. You can:
On visually selected lines:
:'<,'>s/foo/bar/g
Or by line numbers:
:10,20s/foo/bar/g
Or relative to cursor:
:.,+5s/foo/bar/g
(current line to +5)
You can use -5 to search 5 lines above your cursor too.
You can also use the substitution with`:global`. For example, replace only on
line matching a pattern:
:g/pattern/ s/foo/bar/
2/2
#Vimovember #Vim #FOSS #opensource #editors #terminal #Linux #shell
boosted### Day 8: substitute
In Day6, we showed the use of `:%s/foo/bar/` to replace foo with bar.
But, did you know that you can use `:%s//blah/` to use the last search in
a substitution using the `//` shortcut.
Another great one for substitutions is `cgn`. It will search your last search,
and put you in a change/interactive mode.
Hit <Esc>, and `.` and it will go to the next one.
1/2
You have also `:vimgrep` to search through all your files:
:vimgrep pattern **/*md
Then open a new buffer with a list of all files:
:copen
Navigate through the files using `:cnext` and `:cprev`
If interested in more things, like how I use Telescope, and other plugins, you
can check: https://lazybea.rs/tags/vim/
4/4
You can count the occurrence of a word using `:s/word//gn`, it will returns:
6 matches on 6 lines
Then use n/N to search the next/previous one.
You can do that on a visual selection too.
Of course, you can also do a search and replace using `:%s/foo/bar/gc`. g for
global, all file, and c to confirm.
In Normal mode, if you want to search your history, thit `q/` and it will open a
new buffer with all your history searches. Pretty nice way to look into your
history.
3/4
Do something on your last change with `gn` / `gN`:
- dgn " delete next match
- cgn " change next match
- ygN " copy previous match
After an operatien, just hit `.` to repeat the change on the next match.
2/4
boosted### Day 7: Search
Vim offers many built-in features for searches:
* / # : searches for the word under the cursor forward / backward
While the above matches only the whole word, there is another option to find the
word inside bigger words. Use `g`:
* / # : matches car only
g* / g# : matches car, cars, carpet(s), carapace, etc...
1/4
#Vim modes can be awkward for many users.
The modes are: normal, visual, insert, command, and replace.
One of the thing I use really often, and is unknown to many is to use in Insert mode, ctrl-o.
1/2
Day 6: Visual
How to reselect your last visual region: use `gv`.
When selecting with Ctrl-v, $ extends to the end of each line individually.
<Ctrl-v> 5j $
A, <Esc>
Appends ',' at the end of each of 6 lines, even if they’re different lengths.
You want to substitute only in a selected region, use `:'<,'>s/dog/cat/g`.
#Vimovember #vim #editors #terminal #FOSS #opensource #fediverse
2/2
Day 6: Visual
Ctrl-v, to select a column block, and v, to select lines are often not used, but
they are great.
How to comment a paragraph quickly:
`<Ctrl-v> } I# <Esc>`
How to replace in visual mode:
select lines or characters with `v` or <Ctrl-v> and type `r@` to replace all of
them with the @ character.
Change case of selected text:
* gU → uppercase
* gu → lowercase
* ~ → toggle case
#Vimovember #vim #editors #terminal #FOSS #opensource #fediverse
1/2
#vimovember Day 5: Undo
I usually don't need to undo more than a step or two, but sometimes I have regretted not installing `undotree`:
https://github.com/mbbill/undotree
it allows you to walk trough your undo history and branch it, like a quick and dirty git without any commits. So if you find yourself in that situation a lot, that plugin is a tip you might want to try out!
### Day 5: undo
Even if you don't have a DeLorean to travel back in time, with Vim you can
use two commands to do it :
:earlier 10m " will display the current file how it was 10 minutes ago.
:later 5m " will revert changes that were written 5 minutes after going back 10 minutes
Also:
3u → undo last 3 changes.
<C-r>3 → redo last 3 undone changes.
Personally, I use this plugin: https://github.com/mbbill/undotree.
Just go, and check it out!
Je ne veux faire pleurer personne mais là, je rejoins @Julianoe :
à quoi ça sert d'utiliser laborieusement #vim quand on a un #éditeurdetexte plus graphique à portée de clics genre #nano ou #xed ?
Vraie question dénuée de sarcasme.
(Désolé pour la pollution de ton fil
@Camille_Poulsard )
boosted@hyde #Vimovember day 5 Undo
Entering insert mode counts as a single action for the sake of undo. Therefore, if you go into insert mode and type a large amount of text, you don't get much fine-grained control if you choose to undo.
In light of this, it can be useful to rebind some punctuation in insert mode (such as , . ! ? ; : and <CR>) to escape to normal mode and back after inserting the mark, thus creating natural "checkpoints" in your undo history.
boosted#Vimovember Day 5 - Undo
Speak Vim ! Easy as it sounds : u is undo (in normal mode) ;) (and CTRL-r is redo)
But typing earlier (count) s(econds) or m(inutes) or h(ours)… [you get it, right ?] may be handy (later is the counterpoint).
And setting the undofile option makes undo operations persistent (after closing your file), which I kind of appreciate sometimes.
#Vimovember Day 2 - Move
I like using zt to move the line I'm reading to the top of the screen. zz moves it to the middle and zb to the bottom.
I also often use the H, M and L keys to move my cursor to the High, Middle or Lower part of the screen without scrolling.
The [Flash plugin](https://github.com/folke/flash.nvim) is also a great move plugin : hitting s then the searched letter, which then gets labeled with a target letter to move there in a… flash !
boostedDay 4: Numbers
Generate a sequence of numbers from the command mode:
:put =range(10, 50, 10)
will generate:
10
20
30
40
50
:put =range(100, 0, -25)
100
75
50
25
0
The range is (start, end, increment/decrement)
2/2
Day 4: Numbers
Everybody knows Ctrl-a to increment a number, and Ctrl-x to decrement a number. Just put the cursor on the line of a number and hit, the keys! Ma - gic !
Another thing that you may want to try:
- open a file
- type:
0
0
0
0
0
0
- then Ctrl-v or V to select the lines "visually"
- hit the keys: g Ctrl-a
- Enjoy the result:
0
1
2
3
4
5
It works also if you do with two or more zeros (00, 000, etc)
1/2
#Vimovember #vim #neovim #opensource #FOSS #fediverse #editors
boosted#Vimovember Day 4 - Numbers
Besides the useful CTRL-a and CRT-x that increase/decrease numbers (even if your cursor is not exactly on the number, as long as it is before the targeted number), I appreciate the integrated calculator. When in Insert mde, CTRL-r, then =2+2 and you get 4 typed in your text :) (note the expert level of this example !)
# "Using LibreOffice and other Free software for documents as a lawyer"
I was asked recently about how I get on using LibreOffice for document-related legal work, and I promised to write down some thoughts.
The short answer is that I use a mix of LibreOffice and other FOSS tools, and I’m very positive about it, with no particular concerns.
If you have questions, please do ask!
https://neilzone.co.uk/2025/11/using-libreoffice-and-other-free-software-for-documents-as-a-lawyer/
Please boosts 🙏
We want more people 🙌🏼
#Vimovember #vim #neovim #editors #terminals #linux #opensource #mastodon #fediverse
:1,.d " delete from top to current line
:%d " delete the entire file
:/foo/,/bar/d " delete from the first match of foo to first match of bar
d3w " delete three words
dG " delete to end of file
dgg " delete to beginning of file
There are so many great ways to edit your files with #Vim
3/3
Some other tips:
:g/foo/d " delete lines containing foo
:v/foo/d " delete lines NOT containing foo
:g/^$/d " delete all empty lines
da( " delete a pair of parentheses and content
di" " delete inside quotes
da{ " delete a block with braces
d2ap " delete two paragraphs
dtX " delete until character `X`
dfX " delete through character `X`
dT/ dF " same but backward
2/3
Day 3: delete
While we have the common dd, x or d{motion} like dap to delete a paragraph or daw to delete a word, there are less known ones.
When you do a 'd' like 'dap' to delete a paragraph, Vim copies it in the _yank_ register, overwriting what you have copied before.
To avoid that, use the "black hole register":
"_d{motion}
"_dd will delete the line without storing it.
#Vimovember #vim #neovim #editors #FLOSS #opensource #fediverse #mastodon
1/3
Day 2: moves
#Vim offers many effective ways to move around in your files.
Beyond the common ones, 0,$, gg, G, there are also some I use quite often:
`. That's backstick and the dot. It will move to the last exact place where you edited your files.
Or '. The quote and the dot does the same but it goes at the start of the last edited line.
Of course, I love also { and } for paragraphs, and many others !
#Vimovember #neovim #FLOSS #opensource #linux #editor #terminal
Today, for #Vimovember : moves!
Join us, and share some tips, thoughts about how you use #vim moves :)
The original post about the challenge:
https://lazybea.rs/vim-adp/
Is #Thunderbird really the only standalone #Linux desktop calendar app that can just subscribe to #CalDAV calendars? 🤨
#GnomeCalendar needs a ton of dependencies and #GNOME stuff running.
#KOrganizer the same for #KDE.
#Evolution apparently just hooks into GNOME online accounts.
There are some terminal calendar apps, but yeah... If one has #vim keybindings and is configurable via config files, I am open to suggestions.
AWS down
Linux, curl, sqlite3 and vim all still up and rock solid
complexity kills, kids!
:-)
#AWS
#Linux
#curl
#sqlite
#vim
#complexity
#cloudservices
#cloudhosting
Advanced Programming in the Unix Environment
Week 5: The Editor
In this video lecture, we look at the required feature for a full-fledged programmer's editor and illustrate some of the core functionality by example of vim(1). This includes basic motion commands, setting and moving to markers, using folds, and the use of the ':make' and quick fix lists to address compiler errors efficiently.
(Don't worry, we'll talk about ed(1) later.)
@b0rk I am so glad you are giving the #HelixEditor a try. I used #Vim (and later, #NeoVim) for decades and Helix is really making things better for me. I’m sure I’m just one of many who follow you and have posted recommendations for Helix. If I recall correctly, when I mentioned it, I did tell you not to listen to me but to find someone you know and trust. That seems to have done the trick, though I’m sure none of this has anything to do with me. I’m just glad you have a new tool to evaluate, one I consider worth using. Good luck, and keep us posted, please!
Comment reformater des données JSON compactées pour les rendre plus lisibles par un humain.
https://grimoire.d12s.fr/2025/format_json_in_vim.html
:%!jq .
Comment ai-je pu vivre toutes ces années sans savoir que l'historique (n)vim n'est pas linéaire et qu'il peut être parcouru sous sa forme arborescente, aussi et surtout grâce à https://github.com/mbbill/undotree ??? (bientôt dispo dans une prochaine release de nvim, de base, sans plugin)
OK you have only two #vim / #neovim plugins to use which one would they be ?
Anyone user interested in writing an article on this for the #carnival ?
#FLOSS #foss #opensource #bsd #linux #debian #fediverse #mastodon #devops #sre #dev #programming
So, exporting 73Kb ODS document (several sheets with one small table on each one of them) into XML in #LibreCalc results in 439Mb file.
#Vim basically dies on this file. #Emacs opens it instantly. I can even navigate it freely and syntax highlighting works. Although it doesn't help much.
Here's a catch:
me@desktop:~/temp$ wc -l file.xml
1 file.xml
It's a 439 Mb long line.
I have no idea what's wrong with LibreCalc.
Dumb #Vim trick: I knew that I wanted to jump about ¾ of the way into my file, but didn't want to page down a whole lot from the top of the document, nor did I want to jump to the bottom and page up a bunch.
Vim lets you type a number and the "%" to jump to a particular percentage line of the file. So to jump to my target, I typed
75%
and bang, landed within a couple lines of my desired destination. To learn more:
:help N%
The second edition of the #Vim Carnival
October's topic is 'Best unknown plugins?'
It's not specific to #Vim you can also write about #Neovim 😉
#blogging #blog #FLOSS #editors #terminals #carnivals #indieweb
#100DaysToOffload : 94/100
@hare_ware Putting in my vote for #HelixEditor. I've used everything you've mentioned. I'm a #Vim expert (I've even made videos). #PyCharm is what we use at work and has been a favorite (with Vim bindings #IdeaVim) forever; but I'm all in on Helix. This is a datapoint for you, not any kind of coercion. Give it a chance, compare, decide if it gives you what you need.
Whatever I do in my work as a #sysadmin be it writing yaml for Ansible or Salt or programming, I always go back to #vim (or nowadays #neovim) on my local machine. I don’t even know why it feels so annoying to switch between a a non-cli editor like VS Codium, Pycharm, etc, even emacs and my terminal.
#OverUnder 034! This week @thorstenzoeller is my guest.
If you love #BSD, #vi / #vim, #plaintext, you should follow him!
He was kind to reply to those topics:
-#SSG
-#Linux
-#DerekSivers
-#Gemini
-Eggplant
This is 91/100 post for the #100DaysToOffload challenge.
Vous utilisez Vim avec les flèches ? Ou peut-être avec HJKL ? Dans les deux cas, vous sous-utilisez complètement votre éditeur, et ma conf au prochain @capitoledulibre est faite pour vous !
#Vim (comme #Neovim, #Helix, #Kakoune…) dispose d’un ensemble de commandes de déplacements bien plus pertinentes qu’un simple pavé de flèches, fût-il proche de la position de repos.
Woohoo ! Ma proposition de conférence au Capitole du Libre vient d’être acceptée : « Navigation Vim : la vie après HJKL »
https://cfp.capitoledulibre.org/cdl-2025/talk/review/W8LGZEQQH77PTPCN8UJ3WBXM3HKTZNZW
Ça sera le 15 ou 16 novembre à Toulouse. J’y serai tout le weekend, notamment sur le stand des #Ergonautes où on pourra parler #Quacken, #Arsenik, #Ergol, #QwertyLafayette…
Merci à l’équipe du @capitoledulibre de valider si vite les propositions, ça facilite l’organisation. Courage à vous !
It replaces Maps since you’re not going outside. 😅⌨️
This could be @nixCraft 's setup.
#Mobile #Advertising #Marketing #Technology #Design #Humor #Funny #Meme #TechMeme #Tech #Internet #Apps #Software #Digital #SocialMedia #Innovation #TechHumor #Technology #Smartphone #Google #YouTube #Media #Streaming #Apple #LinuxGaming #Gaming #Linux #OpenSource #TechNews #iOS #Android #FOSS #DeGoogle #Vim #Privacy #Security #Microsoft #Windows #DigitalLife #Coding #Programming #Development #Developers
Tabs vs spaces has always been a controversial topic. Thankfully, #vim isn't biased in any way.
To convert spaces to tabs, use `:set noexpandtab`, then `:retab!`.
Convert tabs to spaces with:
:set expandtab
:set tabstop=4
:set shiftwidth=4
:retab
@ploum What I mostly use, however, is a self-written program which is loosely based on "rem" but tailored to my needs. And while I would agree that a text-file-based calendar is suitable for most things (and the simplicity and elegance of the calendar.txt format appeals a lot to me), there are a few reasons why I would probably not want to rely on it alone:
* I would have to look up the dates for certain events like moving holidays or moondays by other means (and I would have to *remember* looking them up beforehand).
* I like to be able to be reminded about certain events in advance.
* Sometimes, I might be interested in recurring events rather far in the future, which I would likely not have entered manually in a text file at that point (this is rather an edge case, admittedly).
Yet, I like the calendar.txt format pretty much, and I guess I will use it alongside my own program for a while and see how it works out.
Also, it is pretty easy to create a #Vim syntax file for the format, which might make editing it even more pleasant!
(2/2)
TIL how to spell check in vim
https://blog.thomasdamgaard.dk/posts/2023/10/29/use-spell-checking-in-vim/
Today is officially the first day for the #Vim Carnival
September's topic is 'How do you use Vim?'
It's not specific to Vim, if you are interested, you can also write about #Neovim or #vi 😉
#blogging #blog #FLOSS #editors #terminals #carnivals #indieweb
#100DaysToOffload : 88/100
Lorsqu’un geek s’est définitevement mis à #ergol sur un clavier ergonomique, on dit qu’il est "casé"
Et vous savez le bruit que font les touches d’un ergonautes qui tape hyper rapidement dans #vim ? Elles font "jousssssss"
Et le bruit d’une blague particulièrement débile devant un auditoire silencieux ?
Elle fait "ploum"
De rien
poke @vjousse et @fabi1cazenave
#Atuin update: I've come to rely on it. It's a must have for my daily shell usage. Works great everywhere ... except on #GitBashForWindows. Lots of problems there. Here's how I solved them:
* Install `ble.sh`. Use `curl` to do this. Do not get it with Git. Do not attempt to build from source.
* Install by sourcing `ble.sh` at the **end** of your `.bashrc`. That's how the instructions about getting it with `curl` tell you to do it. The Git based instructions want you to say something different in your `.bashrc`. You want the `curl` instructions.
* In my install, #Ble was too slow out-of-the-box. Missed keystrokes, etc. I copied the `blerc.template` from the GitHub repo to a local `~/.blerc`, and edited it to disable almost every kind of completion and also syntax highlighting. Speed is now acceptable. (Might be that my #Windows box is too slow. That seems unlikely.)
* I use `vi` mode; #Vim. `ble.sh` picks that up from my `.inputrc`; #Readline. I use #Starship for my prompt. I had to disable in `.blerc` the showing of my current `vi` state (insert, visual, command, etc) and also edit `.inputrc` to not add characters to the prompt to show insert vs command mode. Those changes let me have my normal `starship` prompt.
I do have one problem remaining. It's not related to `atuin`; it's related to the command line itself. In #Bash and #Zsh, it's easy for me to be on the command line and get what I've typed so far directly into my editor; #HelixEditor. Usually something like Esc-v or the like. `ble.sh` doesn't seem to have a way to do that, but maybe I just haven't found it yet.
Le LSP vue_ls qui a besoin de vtsls, mais j'ai beau configurer les deux, ça ne marche toujours pas. Je vais clamser. 💀
Bon je galère avec Neovim, j'ai besoin de votre aide.
J'ai treesitter et treesitter-textobjects.
J'essaye de réindenter un fichier .vue. Il y a donc un mélange de HTML, JavaScript et SCSS. Pour HTML et JS ça s'indente correctement, pas d'erreur dans l'arbre des noeuds.
En revanche, le SCSS ne s'indente pas bien. Il y a des ERROR dans l'arbre de TreeSitter. Après avoir joué un peu avec, j'ai l'impression que ça bug à cause de :has et de @\extend.
Avez-vous une idée pour m'aider à résoudre mon problème ?
Edit : j'ai aussi vue-language-server en LSP.
Merci par avance. Svp retoots 🙏
@ThierryStoehr Mince, j’avais jamais entendu parler du @CampusDuLibre ! Mais n’étant plus étudiant ni vacataire, je crains que cet évènement ne s’adresse pas à moi.
Par ailleurs, pendant ce weekend du 15-16 novembre 2025 il y a le #CapitoleDuLibre où on aura plein de choses à présenter : #Ergol, le #Quacken, peut-être aussi une conférence #Vim et un atelier #tupperVim… La vie est une suite douloureuse de choix !