What is your favorite text editor?

For GUI I prefer Kate, but requires lots of libraries and overloads lightweight desktops like XFCE4. For shell, nano is the perfect combination.
Still "vi" which I learn when we have at work RISC computer with AIX on, sometimes "ee" and Midnight Commander which I have also "centuries" on my system.
Command line

nano | editors/nano

Where nano can not be installed, ee.

Incidentally, <https://web.archive.org/web/20161108072145/http://www.users.uswest.net/~hmahon/>

aee … both a terminal (curses based) interface and native X-Windows interface (in which case the executable is called xae). …

Code - OSS | editors/vscode | Visual Studio Code - Code Editing. Redefined

For ⋯.json files, sometimes Firefox as an editor. www/firefox

For some things (I can't remember what), I use Geany | devel/geany | <https://www.geany.org/>
Not my favourite editor, but my favourite discovery (because it can simplify editions):


Here, recent examples include:

sudo uclcmd set --json --file /usr/local/etc/pkg/repos/poudriere.conf poudriere.enabled false

sudo uclcmd set --json --file /usr/local/etc/pkg/repos/poudriere.conf poudriere.enabled true

% uclcmd
Usage: uclcmd get [-cdejklmNquy] [-D char] [-f file] [-o file] variable
       uclcmd set [-cdjmnuy] [-t type] [-D char] [-f file] [-i file] [-o file] variable [UCL]
       uclcmd merge [-cdjmnuy] [-D char] [-f file] [-i file] [-o file] variable
       uclcmd remove [-cdjmnuy] [-D char] [-f file] [-o file] variable

       -c --cjson      output compacted JSON
       -d --debug      enable verbose debugging output
       -D --delimiter  character to use as element delimiter (default is .)
       -e --expand     Output the list of keys when encountering an object
       -f --file       path to a file to read or write
       -j --json       output pretty JSON
       -k --keys       show key=value rather than just the value
       -l --shellvars  keys are output with underscores as delimiter
       -m --msgpack    output MSGPACK
       -n --noop       do not save changes to file, only output to STDOUT
       -N --nonewline  separate output with spaces rather than newlines
       -o --output     file to write output to, defaults to STDOUT
       -q --noquotes   do not enclose strings in quotes
       -t --type       make the new element this type
       -u --ucl        output universal config language
       -y --yaml       output YAML
       variable        The key of the variable to read, in object notation
       UCL             A block of UCL to be written to the specified variable


       -i --input      use indicated file as additional input (for combining)

       -i --input      use indicated file as additional input (for merging)


       uclcmd get --file vmconfig .name

       uclcmd get --file vmconfig --keys --noquotes array.1.name

       uclcmd get --file vmconfig --keys --shellvars array.1.name

I have been using vim/nvim for few years. Then I have switched to Kakoune. I find Kakoune more intuitive, cleaner and more coherent.
I would like to know which text editor you use in FreeBSD, I like vim very much to program, for very simple things I usually use nano.

Which one is your favorite?

PD: This does not try to be a flame "emacs vs vim" just a nice debate.
Vim. But if it's a gui based text editor for just copy pasting notes, then I would say Leafpad or anything similar would work fine.
Spun off from <https://forums.FreeBSD.org/threads/82101/post-532410> and thereabouts

Re: vi,

… There is no escape!

I don't attempt to remove vi.

Instead, I habitually edit things such as /etc/profile so that EDITOR and VISUAL will be something other than vi. For myself, <https://gist.github.com/grahamperrin/83fa2bd1f3dbf32fa8019ec04f810c6e#etcprofile> and so on (I don't keep the page up-to-date, it's just enough to remind me what must be set and unset).

End result:

root@mowa219-gjp4-8570p-freebsd:~ # echo $SHELL && echo $EDITOR $VISUAL
/usr/local/bin/nano /usr/local/bin/nano
root@mowa219-gjp4-8570p-freebsd:~ # sh
/usr/local/bin/nano /usr/local/bin/nano
# exit
root@mowa219-gjp4-8570p-freebsd:~ # exit
% whoami
% echo $SHELL && echo $EDITOR $VISUAL
/usr/local/bin/nano /usr/local/bin/nano
% sh
/usr/local/bin/nano /usr/local/bin/nano
$ exit

Above, I prefer editors/nano because it's what was taught to me around 1994.

More generally, for a base system installation, ee will be a better choice.

Picturing ee, aee and nano:

I first learned about PINE in college, back in 2001, it was a University of Washington product from Seattle. Wayback machine reminded me what info page about PINE looked like back then. PINE is what introduced me to Pico, which was way easier than Vi. I liked it to the point that I was able to track down Nano, the successor, and I'm grateful it's still in ports.
In order of usage:
1, ee -- easy, no thinking
2. nano -- muscle memory
3. vi -- gotta go slow - thinking-- save/exit :x enter.
Shouldn't there be a poll? Cause seriously, if you don't count "notepad" (and some other pretty "simple" editors), the main question is just which user interface you like best (or: know best).

Anyways, another vote for vim (or, if not available, any other "vi" implementation).