home/doc/kakoune.1
2016-02-02 21:13:25 +02:00

148 lines
3.7 KiB
Groff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

'\" t
.\" ** The above line should force tbl to be a preprocessor **
.\" Man page for kakoune
.\"
.pc
.TH KAKOUNE 1 "" "1.0" "editor"
.SH NAME
kakoune \- a vim inspired, selection oriented code editor
.SH SYNOPSIS
.B kak
.RB [\| \-q \|]
.RB [\| \-u \|]
.RB [\| \-n \|]
.RB [\| \-l \|]
.RB [\| \-e
.IR command \|]
.RB [\| \-f
.IR command \|]
.RB [\| \-p
.IR session_id \|]
.RB [\| \-c
.IR session_id \||\c
.RB [\| [\| \-d \|]\c
.RB \ \-s
.IR session_id \|]
.IR file \ .\|.\|.\|
.SH DESCRIPTION
Kakoune is a code editor heavily inspired by Vim, as such most of its commands are similar to vis ones, and it shares \
Vis "keystrokes as a text editing language" model.
Kakoune can operate in two modes, normal and insertion. In insertion mode, keys are directly inserted into the current \
buffer. In normal mode, keys are used to manipulate the current selection and to enter insertion mode.
Kakoune has a strong focus on interactivity, most commands provide immediate and incremental results, while still being \
competitive (as in keystroke count) with Vim.
Kakoune works on selections, which are oriented, inclusive range of characters, selections have an anchor and a cursor \
character. Most commands move both of them, except when extending selection where the anchor character stays fixed and \
the cursor one moves around.
.SH OPTIONS
.TP
.BR -q
in filter mode, be quiet about errors applying keys
.TP
.BR -u
use a dummy user interface, for testing purposes
.TP
.BR -n
do not source kakrc files on startup
.TP
.BR -l
list existing sessions
.TP
.BR -d
run as a headless session (requires -s)
.TP
.BR -e " <command>"
execute argument on initialisation
.TP
.BR -f " <command>"
act as a filter, executing given keys on given files
.TP
.BR -p " <session_id>"
just send stdin as commands to the given session
.TP
.BR -c " <session_id>"
connect to given session
.TP
.BR -s " <session_id>"
set session name
.TP
.BR file
one or more files to edit
.RE
At startup, if -n is not specified, Kakoune will try to source the file
.IB ../share/kak/kakrc
relative to the kak binary. \
This kak file will then try to recursively source any files in
.BR $XDG_CONFIG_HOME/kak/autoload
(with
.BR $XDG_CONFIG_HOME
defaulting to
.BR $HOME/.config ","
and falling back to
.IB ../share/kak/autoload
if that autoload directory does not exist), and finally
.BR $XDG_CONFIG_HOME/kak/kakrc "."
That leads to the following behaviour: by default, with no user autoload directory, the system wide autoload directory is used, once the user \
wants control on autoloading, they can create an autoload directory and eventually symlink individual scripts, or the whole system wide autoload \
directory. They can as well add any new scripts not provided with Kakoune.
.SH EXAMPLES
.TP
.BR kak " /path/to/file"
Edit a file
.RE
.TP
.BR kak " ./file1.txt /path/to/file2.c"
Edit multiple files (multiple buffers will be created)
.RE
.TP
.BR kak " -f 'ggO// kak: tabstop=8<esc>' *.c"
Insert a modeline that sets the
.IR tabstop
variable at the beginning of several source code files
.RE
.TP
.BR kak " -e 'man dup2'"
Use Kakoune as a man pager
.RE
.SH FILES
If not started with the
.BR -n
switch, Kakoune will source the
.BR ../share/kak/kakrc
file relative to the kak binary, which will source additional files:
\[bu] if the
.BR $XDG_CONFIG_HOME/kak/autoload
directory exists, load every
.IR *.kak
files in it, and load recursively any subdirectory
\[bu] if it does not exists, fall back to the system wide autoload directory in
.BR ../share/kak/autoload
After that, if it exists, source the
.BR $XDG_CONFIG_HOME/kak/kakrc
file which should be used for user configuration.
In order to continue autoloading site-wide files with a local autoload directory, just add a symbolic link to
.BR ../share/kak/autoload/
into your local autoload directory.