NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
How I use Kate editor (akselmo.dev)
tux3 7 hours ago [-]
If you have an M3/M4 and are stuck on XNU like me, and you want a something between the notes app and a whole Electron IDE, it turns out that Kate also supporte macOS

(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

emmelaich 2 hours ago [-]
It's in homebrew.

   $ brew info kate
   ==> kate: 24.12,9168
   https://kate-editor.org/
   ...
oidar 7 hours ago [-]
How did you get dolphin to run on a Mac? If you could point me to a resource that would help me out, I'd appreciate it.
tux3 7 hours ago [-]
This is the documentation for building a KDE app from source: https://develop.kde.org/docs/getting-started/building/kde-bu...

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.

oidar 5 hours ago [-]
Thank you. I'll give it a go.
whalesalad 6 hours ago [-]
That is a lot of work just to use Dolphin. I daily drive KDE on my workstation and while it is not a terrible file explorer, I probably wouldn't go to those lengths to use it over Finder. Props for getting it done though, I didn't even realize it was possible. Makes sense though considering a lot of KDE apps are cross platform, like kdenlive.
tux3 4 hours ago [-]
In fairness, I wouldn't say it's dolphin I'm attached to in particular, I think I'm just not in the target audience for Finder.

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.

matthewmc3 3 hours ago [-]
> You can't navigate to a hidden folder by typing its name (let's not get too creative!).

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.

narag 3 hours ago [-]
Just curious: how does drag & drop works with Dolphin in Mac? I quit KDE because I got mad with the files drop menu. Do you also get it when installing Dolphin?
HexDecOctBin 4 hours ago [-]
One feature that is impossible to live without for me is Undo Tree. Unfortunately, the only editors that support it are Vim/Neovim and Emacs. I would love to switch to one of these modern editors, but not a single one of them supports this feature.
homebrewer 4 hours ago [-]
You don't get a visible tree representation, but JetBrains at least saves every change to your files regardless of how they were edited and whether any changes were reverted. It produces a flat list though, but you do get diffs and it works across all edited files, not just the current one (it's basically a built-in mini-VCS).

https://www.jetbrains.com/help/idea/local-history.html

levodelellis 60 minutes ago [-]
I'm writing an editor. Could you explain to me the use case? I looked it up and I don't exactly understand the reason besides it might be fun to look at

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"

HexDecOctBin 44 minutes ago [-]
Many times, I write a bunch of code before realising that a lot of it (but not all of it) is incorrect. At this point, being able to switch between two different points of history and selectively copy-paste the stuff that was correct is a godsend.

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.

levodelellis 36 minutes ago [-]
That's one reason why I implemented it so it wouldn't lose information.

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?

HexDecOctBin 28 minutes ago [-]
A tree is essentially a nice GUI on top of what you already have. It's allows me to visually click (or navigate) to a specific point of history, instead of remembering to hit Undo 15 times.
HexDecOctBin 2 hours ago [-]
EDIT: Actually, there is one more: https://fred-dev.tech/ But it's still deep in development, I'm keep an eye on how it turns out.
bobajeff 7 hours ago [-]
Kate's a pretty good editor. I've made an attempt to replace vscode/vscodium with it once before.

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.

leo-notte 5 hours ago [-]
how was your experience with kate as a full vscode replacement? anything major you missed or had to work around?
bobajeff 2 hours ago [-]
It's been awhile but I remember there were things I was used to, some really nice things, that I didn't want to give up.

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.

actuallyalys 8 hours ago [-]
I don’t think it will dethrone Neovim for me, but this makes me wonder whether Kate could become my second editor and allow me to largely drop VS Code, especially with the DAP support. The session support also looks interesting.
israrkhan 6 hours ago [-]
I have been using neovim extensively for past several years. I also use vscode occasionally. Last year I tried Zed and was very impressed with its speed, responsiveness and featureset. Now it is available for Linux has well, but I have not tried linux version yet.
nartho 6 hours ago [-]
Have you tried zed ? I have been really impressed by it.
bigstrat2003 6 hours ago [-]
I have tried zed, and promptly uninstalled once I saw it was automatically downloading and running nodejs. I want an editor that is lightweight, not one that starts running extra crap I neither need nor want in the background. That was on top of the big focus on LLM integration (itself already a significant negative for me), but which I was willing to overlook to try out the rest.

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.

creatonez 19 minutes ago [-]
Using a runtime doesn't automatically mean it's bloat. I mean, do you uninstall Python from your system immediately after installing a distro?

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.

tengbretson 10 minutes ago [-]
Do you not use anything at all that has a V8-based JavaScript runtime? Or is it the node-specific things you dislike like their bizarre Stream API?
d3Xt3r 2 hours ago [-]
Are you sure that was Zed? I see that it's 98.3% coded in Rust. But if you're right and it still depends on node.js, I'll have to scratch that off my list.
bigstrat2003 2 hours ago [-]
It was definitely Zed. I forget what it was that used node.js, and I was able to disable that with some effort. But it annoyed me because I shouldn't have to, you know? In my opinion the default out of the box install should be sleek and not use many resources, and only add more stuff if I ask for it.
cirwin 2 hours ago [-]
Zed maintainer here.

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.

d3Xt3r 2 hours ago [-]
You're right, I just checked the Arch package and it has a non-optional dependency on the nodejs package[1], which means you're forced to install it even if you don't use it. That sucks. :(

[1] https://archlinux.org/packages/extra/x86_64/zed/

wmedrano 2 hours ago [-]
It's probably for some extensions. So things like LSP and formatters
kstrauser 4 hours ago [-]
Zed on my Mac is taking 180MB of RAM right now. That's far less proportionally than Emacs use to be teased about.
arendtio 7 hours ago [-]
Well, I use KDE for a while now, but one thing I've always tried to avoid was Kate ;-)

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.

ognarb 6 hours ago [-]
Kwrite is basically kate without any plugins. Both applications are hosted in the same repo and developed at the same time.
shmerl 3 hours ago [-]
I use Kate only causally for some small temporary text snippets. I use Neovim with DAP fine using nvim-dap + nvim-dap-ui. I also recently started using LSP in neovim, and it's actually pretty powerful.
ryukoposting 47 minutes ago [-]
I used Kate as my main editor several years back, before switching to Sam halfway through college, then to VS Code when I wanted debugging stuff. I'll have to give it another try, I always liked it. Its multi-cursor support still strikes me as being better than VS Code's.
pvg 1 days ago [-]
dang 8 hours ago [-]
Thanks! Macroexpanded:

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)

bogwog 6 hours ago [-]
This is pretty much the exact same way I use Sublime (except the git diff stuff is done in Sublime Merge, which is a separate application)

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.

larusso 7 hours ago [-]
I‘m contemplating for a while to find a replacement for VSCode. I switched to it because Atom became too slow and it had great builtin support for most stuff. But I actually was never 100% happy. I usually split my work between bigger projects and smaller file edits. And VSCode was good for the second flow. But over the years and the popularity of LSPs it kinda became dump as well. I mean the fact that if one wants to edit a python or ruby file and simply wants code formatting and a semi smart intelli sense one needs to install an lsp plus plugin etc etc. Which used to work out of the box without bigger configuration. I work on different types of projects and need a fast and quick editor from time to time. VSCode used to be that for me. But now it’s bloated as a full IDE in some cases. Will look into Kate just to see what it has to offer.
bigstrat2003 6 hours ago [-]
Haven't used Kate, but I strongly recommend Sublime Text. It's lightweight and the plugin support means you can add more features if you need them.
tanelpoder 7 hours ago [-]
TIL about Kate editor, but after 30 years of just using vi in a terminal (Unix, Mac, even Windows in cmd.exe) I switched to Zed editor (https://zed.dev). I had tried other editors in the past, but quickly fell back to vi/vim after a few hours or days, for various reasons. Been using Zed for a couple of months now and no plans to go back. It also uses LSPs, but whenever I connect to some (Linux) dev host from Zed on my Mac, it autoinstalls clangd to a .local directory and so far I haven’t had to manually install any extra software. Just took a while to figure out the best Zed config for me. It’s very configurable, customizable, but the UI itself is snappy & clean (written in Rust, for those who care about it).
israrkhan 6 hours ago [-]
I also really like Zed. But what prevents me from switching to Zed, is my workflow. I tend not to run desktop GUI applications on my main development machine (headless and sometimes remote). nvim is excellent in such circumstances. Also nvim is available on all platforms. I know Zed is also recently available on Linux, but I really doubt it will be as good as Zed on Mac.
ash-ali 6 hours ago [-]
One of the biggest problems i have with running basic text editors like vim/nvim is the investment time to spin up a fully loaded workable development env; esp since i've never done it before. basic vim with some modifications in .vimrc is all i have and i know some of my colleagues are also this way!

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?

israrkhan 3 hours ago [-]
Github copilot has an official [1] neovim extension. There are also third-party plugins for Copilot, Chat, Next edit etc.

[1] https://github.com/github/copilot.vim

tanelpoder 2 hours ago [-]
It works with vanilla vim (and MacVim) these days too. "Vim 9.0.0185 or newer" is mentioned in the Getting Started section.

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.

pxc 2 hours ago [-]
How hard would it be to have an editor just ignore files that aren't in source control (at least staged)?
tanelpoder 52 minutes ago [-]
I imagine that it's probably configurable indeed, but never looked into it as I decided to go in another direction. I sleep better when I have completely separate programs for "AI-assisted coding" and everything else. That way any bugs in Vim [1] or in my copilot plugin config patterns can't accidentally upload files without my knowledge. My MacOS finder opens any files in MacVim GUI window (in command line I just use "vi filename.ext").

The Zed editor gets never automatically launched when I open a file from Finder, only Vim (unless something else goes wrong!). I have to deliberately launch Zed and then open one of the predefined folders under my OSS "dev" directory.

Edit: Shortened the following section: Btw, I have a separate computer with isolated VMs for working on any customer's (performance metrics & diagnostic logs) data that they've sent. That machine and VMs on it obviously do not have any AI assistants or connected agents installed.

[1] https://github.com/numirias/security/blob/master/doc/2019-06...

eviks 7 hours ago [-]
> I remember having two CMake extensions where both had something I needed, but they both also overlap in some basic features, so it got very confusing.

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?

sangpugogogo 8 hours ago [-]
I've been using Kate for quick edits but never explored its deeper features. The LSP integration and session handling look particularly useful. Good to see a thoughtful workflow built around a lightweight editor that doesn't compromise on functionality.
bornfreddy 7 hours ago [-]
Wow, that's an app name I haven't heard in quite some time! Glad to hear it is still alive and kicking.

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...

smusamashah 3 hours ago [-]
The page doesn't say it, how well it handles very large files? Also, how does it handle editing files with various encodings? Asking this while having Notepad++ in mind.
badsectoracula 3 hours ago [-]
I use Kate all the time and IME it doesn't. In fact it struggles even with relatively small files. In fact try this:

    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.

quibono 2 hours ago [-]
Just as another data point: I've used Kate for ~90MB JSON files and had no issues at all
rgrieselhuber 7 hours ago [-]
Kate editor is a hidden gem.
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 03:03:16 GMT+0000 (Coordinated Universal Time) with Vercel.