9 ms·
Does anyone use this daily? this gets posted a few times a year to HN but tbh it looks like someone just re-invented vi. Which seems kindof like creating a new
by mushufasa 5y ago
Does anyone use this daily? this gets posted a few times a year to HN but tbh it looks like someone just re-invented vi. Which seems kindof like creating a new religion. It can be done, but even the best televangelist isn't going to hold a candle to the spread of the catholic church.
- chc4 5y agoSeveral of my coworkers use it instead of Vim. It seems pretty nice, and I've been tempted to try jumping ship now too.
- jzm2k 5y agoI've used it daily for ~6 months now. Before that I had used Vim for close to 8 years and tried many different editors during that time but I always went back to using it. I feel Kakoune truly is an improvement over Vim and I highly suggest you try it if you like modal editing.
- grayrest 5y agoI've gone for several week long stretches of using it but never fully converted. What winds up happening is that I get to a point in a project where I really need to focus on the code and not the editor, switch back to vim, and don't get around to switching back for another few months. The editing model is better than Vim's and if I didn't have 20 years of vim muscle memory I probably would have switched over by now.
- chongli 5y agoI disagree that the editing model is better than vim. It’s fancier and makes for flashier demos but I don’t think it’s better. For one thing, it places the emphasis on editing in the large. That is, its default operating mode is to leave multiple cursors all over the buffer when you’re trying to jump around your file. You have to build a habit of pressing an extra key to dismiss the multiple cursors so you don’t inadvertently start inserting text in multiple places without realizing it. This is the wrong approach! Vim puts primary emphasis on quickly getting around and making small edits one at a time. Editing in the large can be accomplished easily with the substitute ex command or search and repeat (via n and .) or macros recorded with q. For any programmer, the vast majority of their time is going to be spent editing in one place at a time. When they need to do something bigger, vim has them covered. If they’re finding they need to do some more sophisticated refactoring they probably want an IDE (or at least an LSP plug-in for vim of which there are many).
- TeddyDD 5y ago> That is, its default operating mode is to leave multiple cursors all over the buffer when you’re trying to jump around your file. That's not true, motion commands don't create new selections. Search will create a new selection only if you explicitly ask for that by pressing shift N.
- andrewflnr 5y agoYou can do the Vim approach just fine, and I usually do. I write prose in kak for goodness' sake, I don't usually have multiple cursors for that. The only time I accidentally get extra selections, besides old muscle memory triggering that feature in search with shift-N, is when I accidentally click in the terminal, which was going to mess me up with any editor. But occasionally it's very nice to actually have that multiple selection feature. For instance, suppose you have a search and replace that you only want to do on certain instances of your search, in a context dependent way. You could just use n and . repeatedly. However, I find it nicer to examine each selection, drop the inappropriate ones individually, recheck my work, then do all the edits at once. This also eliminates (granted, by defining it away) the problem of changing your mind halfway through the search process about what change you want to make. When you change your mind, your cursor is either still live in all the places, or you're done, in which case at least there's only one thing to search for again, not the half that were changed and the half you hadn't reached yet.
- gnubison 5y ago> is when I accidentally click in the terminal, which was going to mess me up with any editor. Well, most terminal editors don’t capture the mouse at all — this is what I personally prefer (let the terminal emulator handle it) and as a bonus it fixes this problem.
- filoeleven 5y agoWhen I last looked at Kakoune, it struck me as “Vim with training wheels,” in the best sense of the term. In other words, it has (all of?) vim’s keyboard commands, but with more visual feedback to show what they are doing live. I envisioned myself learning with Kakoune and eventually migrating to vim once they became ingrained. Or, at the very least, becoming proficient in vim so that I could use it more confidently when needed. Has that been anyone’s experience?
- raiguard 5y agoI've been using Kakoune as my daily driver for almost a year. The thing that made me fall in love was the simplicity, both in daily usage and in extensibility. The biggest "oh wow" moment for me was how easy it was to create a color scheme. In Vim, creating your own color scheme is potentially a huge ordeal, with many edge cases. For example, vim-one's color scheme file is over 800 lines long. By contrast, I created a fully functional Kakoune color scheme in only 84 lines, 60 lines if I remove extraneous spacing and comments. There is no conditional logic, no legacy support, just one set of standard "faces" that work everywhere. All languages use the same standard set of faces to do their syntax highlighting. The difference that makes is astounding. This is but one example of Kakoune's orthogonality and simplicity of design. Coming from Vim, which is chock full of legacy code and an inconsistent mess of configuration, it's a breath of fresh air.
- yitchelle 5y agoI would have thought that creating/adapting a colour scheme is a onetime activity when you start using the editor for your language. Do you update the colour scheme regularly?
- christophilus 5y agoI think he gave that as an illustrative point about the simplicity of Kakoune, rather than saying this specific example is why he uses it.
- raiguard 5y agoI used color schemes as an example, perhaps it was a bad one. I don't update it regularly, no. As others have said, the appeal of Kak is orthogonality and accessibility. The keybindings are sensibly organized, there is exhaustive autocomplete and on screen documentation, and the configuration language is simple. It is ridiculously easy to write plugins for, because you can use shell scripting, or create a program in any language you want and invoke it from a shell block. Kakoune's LSP plugin is written in Rust and communicates with Kak via the shell.
- 5y ago
- thayne 5y agoI tried to use it enough to see if I could switch to it from (neo)vim. I liked a lot of the ideas in it, and in some ways I liked it more than vim, but it was missing some functionality that I just couldn't live without. Some things could be solved by plugins that just didn't exist yet, but others, I couldn't even see a way a plugin could be implemented. In particular, there isn't any way to get a diff mode comparable to vim's. I also don't like that it always unconditionally writes a newline at the end of files. I understand the reasoning for it, but it makes it much more difficult to use as an editor for transformed binary files (gzip, hex editor, encrypted files, etc.) or avoid adding extra whitespace to git diffs when I modify files.
- deleted 5y ago[deleted]
- stjohnswarts 5y agoI don't understand the new line thing at the end. I haven't used a utility or app in -decades- that cared about whether you have a blank final line.
- usefulcat 5y agoI think it used to be a requirement (technically) for C and C++, though probably not much any more in practice.
- xigoi 5y ago`cat`, for instance, definitely cares.
- ziml77 5y agoI just ran into an issue with that recently. The Pandas library for Python doesn't consume the last line of a CSV unless it's followed by a new line. I would say I couldn't believe that it actually made inject that newline if it wasn't in the input, but Pandas has enough other oddities that it was pretty easy to believe.
- jeffreygoesto 5y ago
- TeddyDD 5y agoI've been using it as daily driver for 3+ years. I switched from Spacemacs. Focus on selections, visual feedback and simple integration with other Unix tools are main differentiating features in comparison to vi family of editors.
- haarts 5y agoI've been using it for the better part of three years after using Vim for many years. What I like about it that it is intuitive. Selections make sense. The visual feedback is great too. I've configured nearly nothing, the out of the box experience is great. I'm never switching back to Vim.
- DJHenk 5y agoI am using it daily, as my sole editor, for a little more than a year now. Before that I used Neovim. Most important reasons for the switch are: * Leaves window management to the window manager, so it works much better with a tiling wm. I wish all applications did this. * Selecting first and then specifying an action works way better than the other way around, as it is done in the Vim family. Edit: regarding the comments and Vim's visual mode, you are right. I like to change my second bullet to "Does not have too many modes, like the Vim family."
- reegnz 5y ago> * Selecting first and then specifying an action works way better than the other way around, as it is done in the Vim family. There is visual mode in vim too you know. That's for doing exactly what you describe. I use that when I'm unsure about the movement I need for an action.
- FreeFull 5y agoVisual mode only allows for a single selection, though
- reegnz 5y agoYou don't need multi-cursor selection in vim. Vim has all the tools necessary to achieve the same end result with the same convenience. [0] Just thinking about what crazy things I've done with macros that multi-cursor would be incapable of handling makes me chuckle. vim doesn't need the fancy features of other editors (except for maybe LSP and tree-sitter for a more IDE-like experience). The core problem is that you don't grok vi [1] which is fine, not everyone has time and passion for that. But please don't think for a moment that vim is inferior just because it doesn't blindly copy other editors features. [0] https://engagor.github.io/blog/2018/02/21/why-vim-doesnt-need-multiple-cursors/ https://engagor.github.io/blog/2018/02/21/why-vim-doesnt-nee... [1] https://stackoverflow.com/a/1220118 https://stackoverflow.com/a/1220118
- 5y ago
- zimmski 5y agoAt Symflower we do, one of us has it as its main editor and it looks extremely productive. As a former VIM hardcore user i enjoy the pair programming sessions. I guess these sessions must feel the same way when a non-VIM user watches a VIM hardcore user. We even have an extension for Symflower https://github.com/symflower/symflower-kakoune https://github.com/symflower/symflower-kakoune that is how much we appreciate Kakoune.
- cduret 5y agoI use it daily for many years, being a user of vim for 20 years or so. I could not come back to vim now, I find the kakoune way more efficient. I find two annoying things : - U need to make a lot of tuning to make it usable because there is now tab management, no clipboard, etc.. - U need always the last version of C++ compiler to make it compile. This is annoying on professional VMs that are way behind the current version of gcc. I would suggest the community to make better documentation for plugin development which can be very hard to learn
- ukfarmer 5y agoI had the same problem building Kakoune on more elderly systems, and settled for building a static binary on my own machine that I could then run on shell accounts on other people's boxes if the toolchain isn't new enough to build in situ. kak locates its runtime library relative to the binary path, so it works fine in ~/bin & ~/lib or ~/.local/bin & ~/.local/lib even if your home directory is different on different machines.
- enricozb 5y agoshameless plug for my tab manager plugin: https://github.com/enricozb/tabs.kak https://github.com/enricozb/tabs.kak disclaimer: I'm in the process of a decently sized refactor so the configuration instructions will soon be changed/outdated.
- anthk 5y ago>This is annoying on professional VMs that are way behind the current version of gcc. Get binary PKGSRC packages from Joyent and set PATH accordinly. https://pkgsrc.joyent.com/install-on-linux/ https://pkgsrc.joyent.com/install-on-linux/ It's for RHEL and clones but it should work on any parallel distro or more recent.
- diegoperini 5y agoIt replaced sublime text for me for scripting languages like PHP, bash and stuff. I still prefer VSCode for js/ts and native IDEs for compiled languages. I love it.
- avgcorrection 5y agoThat seems like a weird analogy. There are fabolously rich and successful American megachurch pastors (or whatever they are) that probably have no connections to the Catholic Church.
- sj4nz 5y agokak is my daily driver. About the only customization I do for it is the integration of fzf for file picking-- althought its window management with kitty seems to be broken, I have to run it inside tmux for this to work. Recently I more often than not use broot as the launcher for kak instead of directing kak to open files from inside kak. Multiple selections with the visual preview before action was the key feature for me-- it is a nice affordance compared to having to mentally model what an operation would do with a vim movement.
- jasone 5y agoI have used kakoune almost exclusively for two years. Prior to that I used vim for 16 years, emacs for 10 years before that. For me kakoune started as vim visual mode done right, but I have come to love the editor because it has a small orthogonal command interface that provides all the power I had with vim, but with lower cognitive burden. Kakoune is a fantastic tool of rare quality. I find it a joy to use.
- anthk 5y agoTWM was reinvented into FVWM and the later one was much faster, it used far less resources and functionality wise it ran circles over TWM.
- lijogdfljk 5y agoI used Vim for ~7 years, fully switched over to Kakoune a few years ago. My primary reasons are: 1. always selection-first focused 2. multi-cursor support combined with #1 is really intuitive That's about it really. I have it set up primarily with User Modes, to avoid modifier keys as i don't like reaching for modifiers, and i'm pretty happy.
- haroman 5y agoI agree with this one, it's just like creating a new branch kind of lifestyle or something like that.
- chansiky 5y agoI tried it for a short time, but given the ubiquitousness of vi/vim, I just couldn't get myself to commit. I want to keep my muscle memory intact for when I have to ssh into a remote computer somewhere. Which, I guess what I'm saying is, it looks like I'll be attending mass this Sunday.