-
Notifications
You must be signed in to change notification settings - Fork 718
Home
Bruno Heridet edited this page May 29, 2020
·
91 revisions
Welcome to the kakoune wiki!
The wiki is world writable, so do not hesitate to add information you found useful in it. (See revisions history)
It offers extra knowledge complementing common topics covered in the README and in the official kakoune doc. So be sure to read those documents beforehand.
If you need more help, don't hesitate to ask on:
- Why Kakoune?
- Walkthrough / tutorial
- Migrating from Vim
- Migrating from Vim popular plugins
- Migrating from Vis
-
Normal mode commands — cheat sheet of all keys used in normal mode (also with
alt
,ctrl
) - Avoid the escape key — leave insert mode quickly
-
Ambiguous Keys - how to deal with
<c-i>
versus<tab>
in the terminal - Implementing user mode (Leader key) — organize personal mappings
- Kakoune explain — translate kakoune keys sequence to plain english
- Kakoune TV — screencasts with keys explanations
- Indentation & Tabulation — tabs vs spaces
- Wrapping — stop at 80chars
- Selections — derived text manipulation primitives
-
Selections Combinations — discover
<a-z>
and<a-Z>
- Regex — expressions used in prompt, for searching, splitting, filtering…
- Undo tree — navigate through history
- Increment and Decrement
-
Running commands at startup - How to use the
kakrc
file andautoload
directory -
Setting Plugin Options - Some plugins' options can't just be set directly in
kakrc
Tips to customize the way kakoune looks in the terminal
- Highlighters — enhance buffer content, with syntax color
- Line flags — line numbers, gutter signs
- Status line — modeline
- Info boxes — interactive help
- Kakoune Ink — online editor to build colorschemes
-
Languages — support for
C
,C++
,Java
,Python
… - IDE — organize multiple windows
- Bar – use lemonbar / polybar to display extra info like the buffer list
- Open files in specific client
- Kak daemon helper : 1 session per project
- Registers & Clipboard — cut, copy, paste with system
- Using kakoune as a pager
- macOS tips — specific to the Apple OS
- Windows tips — specific to the Microsoft OS
- Fuzzy finders — FZF, FASD…
- JSON-RPC UI — build custom UI
- bc — increment numbers, simple math…
- wc — count chars, words, lines
- Shell Scripting
- Manipulating dates with Chronic — Changing time format, Incrementing / Decrementing dates
-
Readline - Making
bash
and other apps that use Readline feel more Kakoune-y - Plugin Managers - tools that are aimed to simplify maintenance of installed plugins.
For the meaning the content of the Clients column below, see use kakoune as an IDE
Name | Commands | Clients | Site | More info… | |
---|---|---|---|---|---|
editorconfig | editorconfig-load | http://editorconfig.org | editorconfig… | ||
modeline | modeline-parse | :h modeline | |||
clang | clang-parse, clang-complete, clang-enable-autocomplete, clang-enable-diagnostics, clang-diagnostics-next | https://clang.llvm.org | clang… | ||
comment | comment-block, comment-line, align-selections-left | ||||
ctags | tag, tag-complete, ctags-funcinfo, ctags-enable-autoinfo, ctags-generate, update-tags | https://ctags.io | ctags… | ||
doc | doc | docsclient | |||
format | format, format-buffer, format-selections | format… | |||
git | git | docsclient | https://git-scm.com | ||
grep | grep, grep-previous-match, grep-next-match | jumpclient, toolsclient | grep… | ||
iterm | iterm-new-vertical, iterm-new-horizontal, iterm-new-tab, iterm-new-window, iterm-focus | https://www.iterm2.com | |||
lint | lint, lint-enable, lint-disable, lint-prev, lint-next | lint… | |||
make | make, make-prev, make-next | jumpclient, toolsclient | |||
man | man | docsclient | |||
spell | spell, spell-next, spell-replace | ||||
go | go-complete, go-enable-autocomplete, go-disable-autocomplete, go-doc-info, go-print-signature, go-jump, go-share-selection | jumpclient | https://github.com/nsf/gocode | ||
jedi | jedi-complete, jedi-enable-autocomplete, jedi-disable-autocomplete | https://github.com/davidhalter/jedi | |||
racer | racer-complete, racer-enable-autocomplete, racer-disable-autocomplete | https://github.com/racer-rust/racer | |||
kitty | kitty-terminal, kitty-terminal-tab, kitty-focus, kitty-repl | https://github.com/kovidgoyal/kitty | |||
screen | screen-terminal-vertical, screen-terminal-horizontal, screen-terminal-window, screen-focus | https://www.gnu.org/software/screen/ | |||
tmux | tmux-terminal-vertical, tmux-terminal-horizontal, tmux-terminal-window, tmux-focus | https://github.com/tmux/tmux | |||
tmux-repl | tmux-repl-vertical, tmux-repl-horizontal, tmux-repl-window | ||||
x11 | x11-terminal, x11-focus | ||||
x11-repl | x11-repl, x11-send-text |
- Normal mode commands
- Avoid the escape key
- Implementing user mode (Leader key)
- Kakoune explain
- Kakoune TV