My primary editor is vim (cli), and my secondary editor is kwrite. Nowadays, I think kwrite is part of the Kate package, just simpler, as I don't like the whole session feature when you just want to edit a single file.
I don't think Zed is very good in its current state. Too much extra cruft out of the box which you need to disable.
We use node.js to run a number of language servers and formatters (which are often written in node due to the VSCode ancestry...).
There've been a lot of requests to disable language servers by default; but I think that's not the right default for most users – things should work out of the box.
That said, better control over this is definitely something we will add.
I would much rather an editor provide as many runtimes as possible for plugins, so that developers from all walks of life can contribute. This is largely the success story of Neovim, which lets you interface with it in 7 different languages. Most editors that are constrained to only one language for plugins have a completely barren ecosystem.
Plus I use sessions for key mappings, i.e. temporary sets of mappings used for debugging for example, which can be reset to what they were after debugging is finished. This way you can assign a bunch of common combos for stuff like step in / step out without it messing up other existing mappings which you can restore after you are done.
(Actually, a lot of KDE programs do, I was elated to find out I could use Dolphin as file manager when I was limited by Finder)
I think Kate strikes this really nice middleground. It starts up immediately as just a text editor, but you can push it as far as you want to
I had to install several dependencies through homebrew, ignore some default dependencies that don't make sense on mac (wayland, pipewire, etc), and then it worked.
The build command I used, for reference: kde-builder dolphin --ignore-projects wayland plasma-wayland-protocols wayland-protocols kglobalaccel kpipewire kwayland selenium-webdriver-at-spi baloo packagekit-qt baloo-widgets
Note also there's some mac weirdness with the Dock where some kioworker process might show up as a separate icon. I packaged it in dolphin.app MacOS bundle, gave kioworker a Info.plist with LSUIElement=true, and that got rid of the Dock glitch.
So, I wouldn't say it's entirely painless to install. But if you're sufficiently annoyed by Finder, building Dolphin can be worth the effort.
The tradeoff is that it makes simple things simple, and everything else complicated.
I'm uploading a config file on a website. It's in ~/.config, and any reasonable file explorer won't show hidden files by default. In Finder there's also no button or setting to show hidden files. They really can't, it would make the UI complicated.
You can't navigate to a hidden folder by typing its name (let's not get too creative!). The file dialog box lets you type file names, as Jobs intended, anything else is an error.
This won't be news to anyone, as most people will have run into it before. Most people probably remember that the hidden shortcut is Command + Shift + Period. But everything in Finder is like this, and I'm just reminded at every turn that I am the person Finder was specifically not built for.
So, it's just not for me.
You can, actually. ⌘-SHIFT-G in Finder lets you navigate to any folder by typing in the path - even hidden paths. No mortal user would ever be expected to know or discover that, but it's there.
I think my favorite file navigator was konqueror.
Another Mac annoyance is that the launch tool (command period) seems to forget apps. Or worse, shows the app as you type the name and hides it if you continue typing the next letter in the name. Not sure what focus group approved this...
That's Spotlight, and it's become decreasingly useful over the years, including for the flaws you mention. People seem to be relying on 3rd party replacements.
‹digression› Even those aren't helping me much at the moment because in my current macOS, system-global shortcuts — whether builtin, provide by an application, or configured by me — stop working after random uptime until I reboot.
Finder's a ruddy liar, though, happy to tell me 2+ GiB free, then apps unable to save a 16 KiB file because not enough disc space. Allegedly, macOS counts tosh like video screensavers and HEIC desktop images that aren't in-use and came from Apple as "free space", and should auto delete them if space is needed, but I've yet to see it do so. Instead, I'm left manually telling Steam to delete hundreds of MiB just to store that 16 KiB file… . o O ( Yes, I'll be getting an external SSD. ) ‹/digression›
Much easier and quicker than going the kde-builder route, and it should package applications properly :)
$ brew info kate
==> kate: 24.12,9168
https://kate-editor.org/
...
nowadays though i really want to use LLMs to write code for me instead of switching contexts on different platforms. can i ask what you use for LLM stuff on nvim? how do you like it compared to running bare bones vim and switching platforms?
I was about to install it a couple of years ago, but then started thinking about the privacy threat model.
I realized that having a "copilot" in my everyday editor (not just for public open source coding!) is never gonna fly. I may end up accidentally uploading any file I open to a 3rd party for tab completion and "AI stuff". Even if I can configure it to hopefully ignore some directories, too risky for me. With a separate editor just for coding (Zed in my case), the risk of accidentally opening and uploading a wrong file would be much lower for me, as I'll keep using vim without any AI for everything other than OSS coding.
Edit: I'm sure there's an option only manually load the copilot plugin when you explicitly want it, but it still makes me too uneasy.
The easy strictly equivalent solution is to just one extension. Or does Kate have a single included plugin that covers everything those two extensions cover?
I see it has a proper multicursor support, so that's nice. There are a few plugins in vscod(e/ium) I regularly use and would miss a lot - like converting between camel/kebab/snake/sentence case, generating sequence numbers/digits, and especially calculations. I'd be surprised if these minor things are supported... Still, long time ago it was already a very capable IDE, so I'm curious where it is now. I'll give it a spin...
The article is right about vscode turning into proprietary mush. I use vscodium and have run into issues with plugins that require cpptools, while cpptools complains whenever you, or an extension you're using, accesses it in an editor other than vscode.
I love vscode's markdown editing features. (pasting a link over text to create a hyperlink or dragging and dropping image files to embed images etc.) I think some of the keyboard shortcuts I was used to were different (duplicating lines, selecting all occurrences of a selected text). Behavior of word/token traversing(Ctrl + Left|Right Arrow) was different. There were some things kate couldn't do at all that I don't remember.
I've tried switching to Kate a few times since I prefer open source tools, but it feels like a major step down UX-wise. My primary workstations have been Linux with KDE Plasma for many years, but I am not a huge fan of the KDE aesthetics (which seems to aim for maximizing clutter).
I'm generally not a picky person, but my text editor is by far my most-used tool, so it's an exception.
I really did not like that other editors would lose text if you pressed undo and type. The way my undo's work is if you type "a b c" and hit undo twice (so it's just "a") then type "d", then undo twice, it'll restore to "a b c"
This is especially useful if you undid some operations, typed a little and then realised that you forgot to copy some important stuff that was strewn around in the old version.
Hmm. I plan to implement a diff. The way I have it, you could copy the current source, hit undo to a version you want to compare again than use the clipboard as the version to diff with (vscode calls this "Compare Active File with Clipboard".) If you mess up you can still hit undo to go through all the previous edits you made since it's not lossy. Would this be as good for your usecase?
I'm not going to say I wont implement it, I'm just saying I'm not understanding why you want it that specific way. Is the change you want always many minutes apart and why you want it as a tree? To find the one that happened many minutes before another? I know some people like how vscode has a timeline that says how many minutes/hours ago a change was, so they can pick it out
seq -f"foo %100.100f" 1 1000 > /tmp/test1000 && kate /tmp/test1000
...and watch Kate struggle with a ~100KB file. It seems to be related to the text layout or something along these lines (i.e. it isn't because of whatever data structure it uses for text, modern PCs should be able to handle the naivest of naive text editor structures even when editing a few MBs without sweat) because the slowness is triggered whenever text is about to be displayed (e.g. when scrolling) or lines are added/removed (modifying a single line is fine, but if you move say to the middle of the file, press Enter and keep it down you'll see that it struggles to add new lines).I'm only using for editing text files and source code so it rarely bothers me personally but it can be annoying sometimes.
What do you consider as struggle? Here this works fast and flawless with Kate, VS Code, vim... Though, I did not use /tmp, but $HOME. But I doubt this would make a difference, unless your KDE is broken and Kate struggles because of kio on opening the file.
Choppy scrolling, taking up to a second to add a line in the middle of the text, etc. As i wrote, the issue was with scrolling and adding/removing lines - so most likely text layout stuff. The file I/O was fine.
That makes sense; when I was reading this I inferred that VSCode's extensions were clashing, making him loath to use it, but Kate's were not.
> That's not simplicity […] you're not using a "simple" text editor anymore
Kate has literally "advanced" in its name. KWrite exists for those who need simplicity.
the feature is the option to bookmark all matching lines in the find dialog, then from the bookmarks submenu you can delete bookmarked lines or delete unbookmarked lines.
super useful, yet couldn't find it in any other editor.
Granted, it’s not as obvious to use as NP++ I’m sure. And it’s actually a generalized feature that works for more than just searches. But it does automatically get populated whenever you :grep in vim.
pvg•2mo ago
dang•2mo ago
Kate Text Editor and OrgMode - https://news.ycombinator.com/item?id=40899978 - July 2024 (1 comment)
Kate editor on all platforms - https://news.ycombinator.com/item?id=40032869 - April 2024 (153 comments)
Kate Editor Features - https://news.ycombinator.com/item?id=37231529 - Aug 2023 (18 comments)
Integrated Terminal on Windows in KDE Kate - https://news.ycombinator.com/item?id=34824467 - Feb 2023 (1 comment)
Kate - https://news.ycombinator.com/item?id=34697173 - Feb 2023 (23 comments)
Using Kate's Git Features - https://news.ycombinator.com/item?id=34624765 - Feb 2023 (1 comment)
Kate – New Features – August 2022 - https://news.ycombinator.com/item?id=32585221 - Aug 2022 (1 comment)
Kate 22.08 - https://news.ycombinator.com/item?id=32219281 - July 2022 (6 comments)
Kate is a fantastic text editor - https://news.ycombinator.com/item?id=29623909 - Dec 2021 (1 comment)
KDE Advanced Text Editor: A Feature-Packed Text Editor - https://news.ycombinator.com/item?id=26972858 - April 2021 (1 comment)
Kate Editor: Search In Files and Multi-Threading - https://news.ycombinator.com/item?id=25969409 - Jan 2021 (1 comment)
The Kate Text Editor in 2020 - https://news.ycombinator.com/item?id=25592677 - Dec 2020 (5 comments)
The Kate text editor is 20 years old - https://news.ycombinator.com/item?id=25424735 - Dec 2020 (81 comments)
Kate is soon 20 years old - https://news.ycombinator.com/item?id=25030096 - Nov 2020 (12 comments)
Kate – A Qt Text Editor for Linux, MacOS and Windows - https://news.ycombinator.com/item?id=16558407 - March 2018 (2 comments)
Kate Turning 10 Years Old - https://news.ycombinator.com/item?id=2876471 - Aug 2011 (20 comments)