Should Windows have a default CLI editor?
github.com
github.com
What is the difference between these on Windows?
Tangential, tty is also a term that can and should be left in the past.
>> these two can be used interchangeably, even in Linux.
> No, they cannot. Your tty4 or xterm underestand different commands than your shell.
I think you're replying to an imaginary comment? The question was about console vs. terminal, not terminal vs. shell.
A command line interface (CLI), as the name implies, is a user interface pattern consisting of an application that you pass arguments to it through the command line to form a request/command to be executed by the application.
This type of user interface also covers features such as exit code and text input/output through standard streams as to allow programs to be compostable through pipes.
For example, '$ cp origin rest', '$ grep -Ri foo /opt | sort', etc.
A terminal user interface (TUI) is a type of user interface which uses a terminal's limited features to provide a windowed user interface that supports interactivity.
For example, see apps like vim, fdisk, etc.
In fact, there newest tactic is to hide configuration changes they don't want users to mess with in commandline only powershell options that are typically poorly documented, and have odd syntax.
maybe isn't malicious, but it feels like it.
There's also Windows Terminal which seems like a genuine attempt at making interacting with shells in Windows less painful in general.
Hence Windows Nano Server, and everything configuration setting being available via scripting.
I thought HN would appreciate that.
One task I wanted to do was have my Windows VM boot in the night and install all updates before shutting down and creating a snapshot. Windows has a pretty jank update system but I was kind of shocked there is no command line way built into windows to trigger "run all the updates now". Despite their obsession with preventing people turning updates off and rebooting against user wishes they didn't build in a way to actually just run them on a controlled schedule.
I ended up needing to install a 3rd party powershell package some one made to get this functionality which is ridiculous and arguably somewhat of a security risk.
Nowadays the new Windows Admin Center,
https://learn.microsoft.com/en-us/windows-server/manage/wind...
Why would they need to be recreated?
Windows ports of vim and emacs exist and they would be excellent choices along with a simple editor like nano.
I agree with those in the thread that they should just include vim, emacs, and nano.
They are mature, have excellent features and would target all the major groups of users who use text editors.
Creating an entirely new text editor seems silly when there are so many good choices with full ecosystems and user communities.
I think you are missing the point here. It's not about litterally rewriting them, but about copying their design. It'd be nice to see a new advanced text editor written using what we've learned over the last 40 years and about usability, discoverability, etc.
No, the point is to select one or more existing text editors to add to Windows:
"The goal would be to install the selected editor(s) by default such that their commands work out-of-the-box. Example editors include but are not limited to:
• Edit
• Pico
• Nano
• Vim
• Emacs
• etc.
Installing one or more of these editors by default will offer immediate CLI text editor capabilities on all Windows machines, preventing the need for additional installs or workarounds when operating on local machines, remote connections, or Windows containers."
Microsoft is not trying to create a new text editor.
If anyone wants to write their own new advanced text editor or whatever, they can, but that is not what the GitHub issue is about.
Helix feels like a cli VSCode to me, in the sense it has TreeSitter and LSP built-in and support for most languages out the box. It’s doesn’t require loads of plugins to be useful.
Source: https://github.com/microsoft/terminal/discussions/16440#disc...
Windows is not UNIX, we ought to keep it that way. Its object-oriented model is in many ways better than UNIX's everything-is-text-or-a-bunch-of-bytes model.
> if critical OS configuration was done either via text files
Ah, please, no. On Linux today we have a terrible jumble of configuration files in .conf, .ini, .yaml, .toml, even .json and .xml...
IMO the Windows Registry was a fantastic way to store settings, and Microsoft should return its usage. It's not like Linux distro don't have something similar in systemd...
You mean dconf? What part of systemd is like the registry?
Sometimes you can do something via PowerShell, but only by using PowerShell to directly call some 'raw' .NET API.
Sometimes there's a native CLI utility that'll do what you want, but it's one of the DOS-like, pre-PowerShell commands, and the PowerShell equivalent is missing or unsuitable.
Even when a native PowerShell API exists, it can be difficult to find the documentation for it because Windows culture is to document GUI solutions first (and often GUI solutions only).
Try as one might, Windows remains a platform inherently hostile to automation. Doing automation and/or configuration management on Windows sucks.
Different demographics will probably need different solutions. The important thing isn't what solutions they come up with, it's that they choose a system and stick with it. To me it's understandable that Event Viewer isn't part of the main Settings app (plenty of IT folks would be upset if anything about Event Viewer changed). But Mouse Acceleration options really should be.
VBScript, JScript and nowadays Poweshell.