f5e478e9de
This aids in making it more uniform in style with most manuals on *nix systems in terms of formatting. Plus, the semantic markup will make it easier to maintain and less reliant on writing for the renderer.
277 lines
5.2 KiB
Groff
277 lines
5.2 KiB
Groff
.Dd June 15, 2021
|
|
.Dt KAK 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm kak
|
|
.Nd a vim-inspired, selection oriented code editor
|
|
.
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl d
|
|
.Op Fl n
|
|
.Op Fl ro
|
|
.Op Fl c Ar session_id | Fl s Ar session_id
|
|
.Op Fl ui Ar ui_type
|
|
.Op Fl e Ar command
|
|
.Op Fl E Ar command
|
|
.Op Sy + Ns Ar line Ns Oo Sy \&: Ns Ar column Oc | Sy +:
|
|
.Op Ar file ...
|
|
.
|
|
.Nm
|
|
.Fl f Ar keys
|
|
.Op Fl q
|
|
.Op Fl i Ar suffix
|
|
.Op Ar file ...
|
|
.
|
|
.Nm
|
|
.Fl p Ar session_id
|
|
.
|
|
.Nm
|
|
.Fl l
|
|
.Nm
|
|
.Fl clear
|
|
.
|
|
.Nm
|
|
.Fl version
|
|
.
|
|
.Nm
|
|
.Fl help
|
|
.
|
|
.Sh DESCRIPTION
|
|
.Sy Kakoune
|
|
is a code editor heavily inspired by
|
|
.Xr vim 1
|
|
and
|
|
.Xr vi 1 .
|
|
As such, most of its commands are similar to
|
|
.Xr vi 1 Ap s,
|
|
sharing its
|
|
.Dq keystrokes as a text editing language
|
|
model.
|
|
.Pp
|
|
.Sy Kakoune
|
|
operates 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.
|
|
.Pp
|
|
.Sy Kakoune
|
|
has a strong focus on interactivity.
|
|
Most commands provide immediate and incremental results, while still
|
|
being competitive in keystroke count with vim.
|
|
.Pp
|
|
.Sy Kakoune
|
|
works on selections, which are oriented, inclusive ranges of characters.
|
|
Selections have an anchor and a cursor.
|
|
Most commands move both of them except when extending selection, where
|
|
the anchor character stays fixed and the cursor moves around.
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width indent
|
|
.It Fl help
|
|
Display a help message and quit.
|
|
.
|
|
.It Fl version
|
|
Display Kakoune version and quit.
|
|
.
|
|
.It Fl n
|
|
Do not load the system's kakrc.
|
|
.Pq often, Pa /usr/share/kak/kakrc
|
|
.
|
|
.It Fl l
|
|
List existing sessions.
|
|
.
|
|
.It Fl d
|
|
Run as a headless session
|
|
.Pq requires Fl s .
|
|
.
|
|
.It Fl e Ar command
|
|
Execute
|
|
.Ar command
|
|
after the client initialization phase.
|
|
.
|
|
.It Fl E Ar command
|
|
Execute
|
|
.Ar command
|
|
after the server initialization phase.
|
|
.
|
|
.It Fl f Ar keys
|
|
Enter in
|
|
.Sq filter mode :
|
|
select the whole file, then execute
|
|
.Ar keys .
|
|
.
|
|
.It Fl i Ar suffix
|
|
Backup the files on which a filter is applied, using the given suffix.
|
|
.
|
|
.It Fl q
|
|
When in
|
|
.Sq filter mode ,
|
|
don't print any errors
|
|
.
|
|
.It Fl p Ar session_id
|
|
Send the commands written on the standard input to session
|
|
.Ar session_id .
|
|
.
|
|
.It Fl c Ar session_id
|
|
Connect to the given session
|
|
.Ar session_id .
|
|
.
|
|
.It Fl s Ar session_id
|
|
Set the current session name to
|
|
.Ar session_id .
|
|
.
|
|
.It Fl ui Ar type
|
|
Select the user interface type, which can be
|
|
.Em ncurses ,
|
|
.Em dummy ,
|
|
or
|
|
.Em json .
|
|
.
|
|
.It Fl clear
|
|
Remove sessions that were terminated in an incorrect state
|
|
.Pq e.g. after a crash .
|
|
.
|
|
.It Fl ro
|
|
Begin in
|
|
.Em readonly mode ,
|
|
all the buffers opened will not be written to disk.
|
|
.
|
|
.It Sy + Ns Ar line Ns Oo Sy \&: Ns Ar column Oc | Sy +:
|
|
Specify a target line and column for the first file.
|
|
When the plus sign is followed by only a colon, then the cursor is sent
|
|
to the last line of the file.
|
|
.
|
|
.It Ar file ...
|
|
One or more
|
|
.Ar file(s)
|
|
to edit.
|
|
.El
|
|
.
|
|
.Sh ENVIRONMENT
|
|
.Bl -tag -width 6n
|
|
.It Ev KAKOUNE_POSIX_SHELL
|
|
Overrides the POSIX shell used for
|
|
.Em %sh{...}
|
|
expansion, which is
|
|
.Pa /bin/sh
|
|
.Pq Xr sh 1
|
|
if unset.
|
|
.
|
|
.It Ev KAKOUNE_CONFIG_DIR
|
|
Overrides the location of the directory containing Kakoune user
|
|
configuration.
|
|
If unset,
|
|
.Pa $XDG_CONFIG_HOME/kak
|
|
is used.
|
|
.
|
|
.It Ev XDG_CONFIG_HOME
|
|
Path to the user's configuration directory.
|
|
If unset,
|
|
.Pa $HOME/.config
|
|
is used.
|
|
.
|
|
.It Ev XDG_RUNTIME_DIR
|
|
Path to the user's session's sockets.
|
|
If unset,
|
|
.Pa $TMPDIR/kakoune
|
|
is used.
|
|
.El
|
|
.
|
|
.Sh FILES
|
|
In the paths documented below,
|
|
.Pa <rtdir>
|
|
refers to the runtime directory, whose value is determined in relation
|
|
to the path to
|
|
.Nm Ap s
|
|
binary location:
|
|
.Pa <rtdir>
|
|
=
|
|
.Pa <path_to_kak_binary>/../share/kak .
|
|
.
|
|
.Pp
|
|
If not started with the
|
|
.Fl n
|
|
switch,
|
|
.Nm
|
|
will first load
|
|
.Pa <rtdir>/kakrc ,
|
|
which will in turn load the following additional files:
|
|
.
|
|
.Bl -bullet
|
|
.It
|
|
If the
|
|
.Pa $KAKOUNE_CONFIG_DIR/autoload
|
|
directory exists, recursively load every
|
|
.Pa *.kak
|
|
file in it, and its sub-directories.
|
|
.
|
|
.It
|
|
If it does not exist, fall back to the system-wide autoload directory in
|
|
.Pa <rtdir>/autoload ,
|
|
and recursively load all files in a similar way.
|
|
.
|
|
.It
|
|
.Pa <rtdir>/kakrc.local ,
|
|
if it exists; this is a user-defined system-wide configuration.
|
|
.
|
|
.It
|
|
.Pa $KAKOUNE_CONFIG_DIR/kakrc ,
|
|
if it exists; this is the user configuration.
|
|
.
|
|
.El
|
|
.
|
|
.Pp
|
|
Consequently, if the
|
|
.Pa $KAKOUNE_CONFIG_DIR/autoload
|
|
directory exists, only scripts stored within that directory will be
|
|
loaded \(em the built-in
|
|
.Pa *.kak
|
|
files will not be.
|
|
.
|
|
.Pp
|
|
Users who still want the built-in scripts to be loaded along their own
|
|
can create a symbolic link to
|
|
.Pa <rtdir>/autoload
|
|
.Pq or to individual scripts in it
|
|
in their user-configuration directory:
|
|
.
|
|
.Pp
|
|
.Dl ln -s \fI<rtdir>\fR/autoload "${XDG_CONFIG_HOME:-$HOME/.config}"/kak/autoload
|
|
.
|
|
.Sh EXAMPLES
|
|
.Bl -tag -width 6n
|
|
.It Edit a file:
|
|
.Nm
|
|
.Pa /path/to/file
|
|
.
|
|
.It Edit multiple files (multiple buffers will be created):
|
|
.Nm
|
|
.Pa ./file1.txt
|
|
.Pa /path/to/file2.c
|
|
.
|
|
.It Prepend a modeline that sets the tabstop to multiple files:
|
|
.Nm
|
|
.Fl f Qq ggO// kak: tabstop=8<esc>
|
|
.Pa *.c
|
|
.El
|
|
.
|
|
.Sh SEE ALSO
|
|
For the complete on-line documentation, use the
|
|
.Ic :doc
|
|
command after starting
|
|
.Nm .
|
|
.
|
|
.Pp
|
|
.Lk https://github.com/mawww/kakoune/wiki The Kakoune wiki .
|
|
.Pp
|
|
.Lk https://kakoune.org The main Kakoune web site .
|
|
.Pp
|
|
.Xr vi 1 ,
|
|
.Xr vim 1 ,
|
|
.Xr sam 1plan9 .
|
|
.
|
|
.Sh AUTHORS
|
|
.An Maxime Coste Aq Mt frrrwww@gmail.com
|
|
and many others.
|