diff --git a/content/code/agile-vs-culture.md b/content/code/agile-vs-culture.md index be7fb9c..cfaf03c 100644 --- a/content/code/agile-vs-culture.md +++ b/content/code/agile-vs-culture.md @@ -20,7 +20,7 @@ telling one story from about the number of accidents in Asian and South American airlines. The book points that there is a cultural difference between those two and American people, in which the former see a larger distance between -them and their superiores than the later. +them and their superiors than the later. Why I keep recalling this? Because in agile teams, there is no hierarchy: the PO is as important as the junior developer; the tester has the same input @@ -55,4 +55,4 @@ they are below in the chain and "disenfranchise" those who think they are above everyone else due the role name. My plan for 2016 is to read some books about those topics and bring this -dicussion to future events. Which me luck. ;) +discussion to future events. Which me luck. ;) diff --git a/content/code/using-alternatives.md b/content/code/using-alternatives.md new file mode 100644 index 0000000..3c15b3f --- /dev/null +++ b/content/code/using-alternatives.md @@ -0,0 +1,44 @@ ++++ +title = "Using `alternatives`" +date = 2021-06-21 + +[taxonomies] +tags = ["linux", "cli", "vim", "alternatives"] ++++ + +`alternatives` allows one to select a different executable for a normal command +line program, but how does it work? + + + +I'll give an example: I enjoy using NeoVim instead of Vim for different +reasons. But there is a nag that I keep hitting: NeoVim executable is called +`nvim` instead of the `vim` for... Vim. + +I could change two different environment variables, `VISUAL` and `EDITOR` to +`nvim`, so any application that wants to open an external editor would call +NeoVim instead. But, unfortunately, my muscle memory doesn't work with +environment variables, so either I keep correcting myself to type `nvim` +instead of `vim` or I find a way to, when I call `vim`, it should actually call +`nvim`. + +The initial solution is to use aliases, so `alias vim nvim` (in Fish) would +make `vim` actually run `nvim`... except when I use `sudo`, which doesn't +expand the alias before its call. The actual solution would be something +global, that takes care of this. + +And that's what `alternatives` do. + +In my case, what I actually need to do is run the follow command: + +``` +sudo alternatives --install /usr/bin/nvim vim /usr/bin/vim 1 +``` + +What does it do: + +* Say I want to use `/usr/bin/nvim` +* ... which I'll call "vim" (which is the name `alternatives` uses in its + configuration) +* ... making a symlink into `/usr/bin/vim` +* ... with priority 1.