I have been using vscode for development work. However, I am being frustrated with it over time (just look at their unaddressed issues and backlog). Then I found Why Kakoune. And I have been hooked to it even since.
Being said that, I have been trying to use kakoune for last few days. After using some latest cli tools, I have some recommendations.
Let me explain so that you understand where I am coming from.
Alacritty has a config file with all default configs and the config file in itself is well documented. We just uncomment and customize the configs we want. So we do not have to go through the documentation to configure it. Almost everything is configurable here. No hard coded keybindings (yes some people like to use ctrl-c, ctrl-x, ctrl-x… for their selfish needs).
I think prompts make code editors complex. Most of us use bash / zsh / fish with our own customization. Having a second prompt make things inconsistent, or at least customizing the second prompt make things difficult. In modal editors we use only handful of commands. We can configure them in the config file.
I also think there should be only two modes. Normal and insert mode. For example, object Selection is one of the selling feature of kakoune. Why do we need to put it in a different mode given most of them can be bound to one key. For example, map global normal [ ': execute-keys <lt>a-i<gt> %val{selection} <ret>'
I also think kakoune should be well integrated to tmux (if we choose to use it within tmux). In tmux, normally a session is considered a project. Each windows as a workspace. Each project has a root directory. We have to somehow declare the root directory in kakoune. Then we should be able to browse or search it with something like broot. However, broot do not search each of the file contents in project directory. We have to figure out a way to do that.
To be a complete ide we need to be able to toggle breakpoints via keybinding. We need a option like Ctrl+F5 (obviously customizable) to run. F5 (obviously customizable) to debug (We might have to give the config to how to debug or run. We can take some inspiration from vscode here). As far the output of the given commands, we just have to say that forward the output to a terminal or tmux pane.
xi-editor is a editor core. As far I know it also has syntax highlighting and other cool stuff. It has even vim frontend. It says:
Plug-ins over scripting . Most text editors have an associated scripting language for extending functionality. However, these languages are usually both more arcane and less powerful than “real” languages. The xi editor will communicate with plugins through pipes, letting them be written in any language, and making it easier to integrate with other systems such as version control, deeper static analyzers of code, etc.
I can not agree more with that statement. Who likes stuff like:
printf "value: %s\\n" "${var}"
expr "${var}" : '[a-z]*' >/dev/null
expr "${var}" : '\([a-z]*\)'
:nop %sh{ {
sleep 10
echo "eval -client '$kak_client' 'echo sleep ended'" |
kak -p ${kak_session}
} > /dev/null 2>&1 < /dev/null & }
please think of it from an end user perspective.
imitating or being inspired by vim in the most unintelligent thing a text editor can do in 2020. Coke own after they decided to compete against water insted of pepsi.
Being said all of that, I am proposing a xi-editor’s kakoune fronted with the recommended features. Please let me know what you guys think about my idea. Being a system analyst, I like listening to feedback.
thank you very much for your time.
PS: Being a new user I can put only two links so I had to remove most of my references.