2015-10-20 16:26:09 +03:00
|
|
|
|
2016-05-29 09:31:44 +03:00
|
|
|
.TH "hledger\-ui" "1" "May 2016" "hledger\-ui 0.28" "hledger User Manuals"
|
2015-10-20 16:26:09 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.SH NAME
|
|
|
|
.PP
|
|
|
|
hledger\-ui \- curses\-style interface for the hledger accounting tool
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.PP
|
|
|
|
\f[C]hledger\-ui\ [OPTIONS]\ [QUERYARGS]\f[]
|
|
|
|
.PD 0
|
|
|
|
.P
|
|
|
|
.PD
|
|
|
|
\f[C]hledger\ ui\ \-\-\ [OPTIONS]\ [QUERYARGS]\f[]
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.PP
|
|
|
|
hledger is a cross\-platform program for tracking money, time, or any
|
|
|
|
other commodity, using double\-entry accounting and a simple, editable
|
|
|
|
file format.
|
|
|
|
hledger is inspired by and largely compatible with ledger(1).
|
2016-04-18 05:28:16 +03:00
|
|
|
.PP
|
2015-10-20 16:26:09 +03:00
|
|
|
hledger\-ui is hledger\[aq]s curses\-style interface.
|
2016-02-21 13:32:40 +03:00
|
|
|
It reads a hledger journal file
|
|
|
|
.PP
|
|
|
|
(~/.hledger.journal, $LEDGER_FILE, or \-f FILE; see hledger(1) or
|
|
|
|
hledger_journal(5))
|
|
|
|
.PP
|
|
|
|
and provides a simple full\-screen console interface for viewing account
|
|
|
|
balances and transactions.
|
|
|
|
.PP
|
2015-10-30 23:23:01 +03:00
|
|
|
It is simpler and more convenient for browsing than the command\-line
|
|
|
|
interface, but lighter and faster than hledger\-web.
|
2016-02-21 10:58:07 +03:00
|
|
|
.PP
|
|
|
|
The journal file is \f[C]~/.hledger.journal\f[], \f[C]$LEDGER_FILE\f[],
|
|
|
|
or another file specified with \-f.
|
|
|
|
For more about the format, see hledger(1) or hledger_journal(5).
|
2015-10-20 16:26:09 +03:00
|
|
|
.SH OPTIONS
|
|
|
|
.PP
|
|
|
|
Note: if invoking hledger\-ui as a hledger subcommand, write
|
|
|
|
\f[C]\-\-\f[] before options as shown above.
|
|
|
|
.PP
|
|
|
|
Any QUERYARGS are interpreted as a hledger search query which filters
|
|
|
|
the data.
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-flat\f[]
|
|
|
|
show full account names, unindented
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-no\-elide\f[]
|
|
|
|
don\[aq]t compress empty parent accounts on one line
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-register=ACCTREGEX\f[]
|
|
|
|
start in the (first) matched account\[aq]s register screen
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-theme=default|terminal|greenterm\f[]
|
|
|
|
use this custom display theme
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-V\ \-\-value\f[]
|
|
|
|
show amounts as their current market value in their default valuation
|
|
|
|
commodity (accounts screen only)
|
|
|
|
.RS
|
|
|
|
.RE
|
2016-06-03 19:38:06 +03:00
|
|
|
.PP
|
|
|
|
hledger general options:
|
2015-10-20 16:26:09 +03:00
|
|
|
.TP
|
2016-04-19 03:00:54 +03:00
|
|
|
.B \f[C]\-h\f[]
|
2016-05-29 09:49:10 +03:00
|
|
|
show general usage (or after COMMAND, the command\[aq]s usage)
|
2016-04-19 03:00:54 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-help\f[]
|
2016-05-29 09:43:52 +03:00
|
|
|
show the current program\[aq]s manual as plain text (or after an add\-on
|
|
|
|
COMMAND, the add\-on\[aq]s manual)
|
2016-04-20 00:40:58 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-man\f[]
|
2016-05-29 09:43:52 +03:00
|
|
|
show the current program\[aq]s manual with man
|
2016-04-20 00:40:58 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-info\f[]
|
2016-05-29 09:43:52 +03:00
|
|
|
show the current program\[aq]s manual with info
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-version\f[]
|
2016-04-20 00:40:58 +03:00
|
|
|
show version
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
2016-05-29 09:43:52 +03:00
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-debug=N\f[]
|
|
|
|
show debug output if N is 1\-9 (default: 0)
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-f\ FILE\ \-\-file=FILE\f[]
|
|
|
|
use a different input file.
|
|
|
|
For stdin, use \-
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-rules\-file=RULESFILE\f[]
|
|
|
|
Conversion rules file to use when reading CSV (default: FILE.rules)
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-alias=OLD=NEW\f[]
|
|
|
|
display accounts named OLD as NEW
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-ignore\-assertions\f[]
|
|
|
|
ignore any failing balance assertions in the journal
|
|
|
|
.RS
|
|
|
|
.RE
|
2015-10-20 16:26:09 +03:00
|
|
|
.PP
|
2016-06-03 19:38:06 +03:00
|
|
|
hledger reporting options:
|
2015-10-20 16:26:09 +03:00
|
|
|
.TP
|
2016-06-03 19:38:06 +03:00
|
|
|
.B \f[C]\-b\ \-\-begin=DATE\f[]
|
|
|
|
include postings/txns on or after this date
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
2016-06-03 19:38:06 +03:00
|
|
|
.B \f[C]\-e\ \-\-end=DATE\f[]
|
|
|
|
include postings/txns before this date
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
2016-06-03 19:38:06 +03:00
|
|
|
.B \f[C]\-D\ \-\-daily\f[]
|
|
|
|
multiperiod/multicolumn report by day
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
2016-06-03 19:38:06 +03:00
|
|
|
.B \f[C]\-W\ \-\-weekly\f[]
|
|
|
|
multiperiod/multicolumn report by week
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
2016-06-03 19:38:06 +03:00
|
|
|
.B \f[C]\-M\ \-\-monthly\f[]
|
|
|
|
multiperiod/multicolumn report by month
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
2016-06-03 19:38:06 +03:00
|
|
|
.B \f[C]\-Q\ \-\-quarterly\f[]
|
|
|
|
multiperiod/multicolumn report by quarter
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
2016-06-03 19:38:06 +03:00
|
|
|
.B \f[C]\-Y\ \-\-yearly\f[]
|
|
|
|
multiperiod/multicolumn report by year
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-p\ \-\-period=PERIODEXP\f[]
|
|
|
|
set start date, end date, and/or reporting interval all at once
|
|
|
|
(overrides the flags above)
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
2016-05-28 22:58:30 +03:00
|
|
|
.B \f[C]\-\-date2\f[]
|
|
|
|
show, and match with \-b/\-e/\-p/date:, secondary dates instead
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-C\ \-\-cleared\f[]
|
|
|
|
include only cleared postings/txns
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-pending\f[]
|
|
|
|
include only pending postings/txns
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-U\ \-\-uncleared\f[]
|
|
|
|
include only uncleared (and pending) postings/txns
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-R\ \-\-real\f[]
|
|
|
|
include only non\-virtual postings
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-\-depth=N\f[]
|
|
|
|
hide accounts/postings deeper than N
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-E\ \-\-empty\f[]
|
2016-06-03 19:38:06 +03:00
|
|
|
show items with zero amount, normally hidden
|
2015-10-20 16:26:09 +03:00
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.B \f[C]\-B\ \-\-cost\f[]
|
|
|
|
show amounts in their cost price\[aq]s commodity
|
|
|
|
.RS
|
|
|
|
.RE
|
2016-06-03 19:38:06 +03:00
|
|
|
.TP
|
2016-06-03 19:50:01 +03:00
|
|
|
.B \f[C]\-\-pivot\ TAG\f[]
|
2016-06-03 19:38:06 +03:00
|
|
|
will transform the journal before any other processing by replacing the
|
|
|
|
account name of every posting having the tag TAG with content VALUE by
|
|
|
|
the account name "TAG:VALUE".
|
|
|
|
.RS
|
|
|
|
.RE
|
|
|
|
The TAG will only match if it is a full\-length match.
|
|
|
|
The pivot will only happen if the TAG is on a posting, not if it is on
|
|
|
|
the transaction.
|
|
|
|
If the tag value is a multi:level:account:name the new account name will
|
|
|
|
be "TAG:multi:level:account:name".
|
|
|
|
.RS
|
|
|
|
.RE
|
2015-10-30 23:23:01 +03:00
|
|
|
.SH KEYS
|
|
|
|
.PP
|
|
|
|
Generally the cursor keys navigate; \f[C]right\f[] (or \f[C]enter\f[])
|
|
|
|
goes deeper, \f[C]left\f[] returns to the previous screen,
|
|
|
|
\f[C]up\f[]/\f[C]down\f[]/\f[C]page\ up\f[]/\f[C]page\ down\f[]/\f[C]home\f[]/\f[C]end\f[]
|
|
|
|
move up and down through lists.
|
|
|
|
.PP
|
|
|
|
\f[C]g\f[] gets the latest data and reloads the screen (and any previous
|
|
|
|
screens).
|
2016-06-03 20:22:04 +03:00
|
|
|
With large journal files, there can be a noticeable pause.
|
2015-10-30 23:23:01 +03:00
|
|
|
.PP
|
|
|
|
\f[C]q\f[] quits the application.
|
|
|
|
.PP
|
2016-06-04 21:51:28 +03:00
|
|
|
\f[C]f\f[] lets you add or change the current filter query which limits
|
|
|
|
the data shown on most screens.
|
|
|
|
While editing, you can use typical command\-line edit keys, and press
|
|
|
|
enter to set the new filter, or escape to cancel.
|
|
|
|
Note queries which filter by account name may not work well in the
|
|
|
|
register screen.
|
|
|
|
.PP
|
|
|
|
Additional screen\-specific keys are described below.
|
2015-10-30 23:23:01 +03:00
|
|
|
.SH SCREENS
|
|
|
|
.SS Accounts screen
|
|
|
|
.PP
|
|
|
|
This is normally the first screen displayed.
|
|
|
|
It lists accounts and their balances, like hledger\[aq]s balance
|
|
|
|
command.
|
|
|
|
By default, it shows all accounts and their latest ending balances.
|
|
|
|
if you specify a query on the command line, it shows just the matched
|
|
|
|
accounts and the balances from matched transactions.
|
|
|
|
.PP
|
|
|
|
When not in flat mode, indentation indicates the account hierarchy.
|
|
|
|
\f[C]F\f[] toggles flat mode on and off.
|
|
|
|
.PP
|
|
|
|
By default, all subaccounts are displayed.
|
|
|
|
To see less detail, set a depth limit by pressing a number key,
|
|
|
|
\f[C]1\f[] to \f[C]9\f[].
|
|
|
|
Or, adjust the depth limit by pressing \f[C]\-\f[] or \f[C]+\f[]
|
|
|
|
(\f[C]=\f[] also works).
|
|
|
|
\f[C]0\f[] removes the depth limit.
|
|
|
|
.PP
|
2016-06-03 20:22:04 +03:00
|
|
|
\f[C]E\f[] toggles nonzero mode, in which only accounts with nonzero
|
|
|
|
balances are shown (hledger\-ui shows zero items by default, unlike
|
|
|
|
command\-line hledger).
|
|
|
|
.PP
|
2016-06-04 04:27:35 +03:00
|
|
|
\f[C]C\f[] toggles cleared mode, in which uncleared transactions and
|
|
|
|
postings are not shown.
|
|
|
|
\f[C]U\f[] toggles uncleared mode, in which only uncleared
|
|
|
|
transactions/postings are shown.
|
2016-06-03 20:22:04 +03:00
|
|
|
.PP
|
|
|
|
\f[C]R\f[] toggles real mode, in which virtual postings are ignored.
|
2015-10-30 23:23:01 +03:00
|
|
|
.PP
|
|
|
|
Press \f[C]right\f[] or \f[C]enter\f[] to view an account\[aq]s
|
|
|
|
transactions register.
|
|
|
|
.SS Register screen
|
|
|
|
.PP
|
2016-06-03 20:22:04 +03:00
|
|
|
This screen lists all transactions affecting a particular account, like
|
|
|
|
a check register.
|
|
|
|
Unlike hledger\[aq]s register command (which lists individual postings),
|
|
|
|
in hledger\-ui\[aq]s register:
|
2015-10-30 23:23:01 +03:00
|
|
|
.IP \[bu] 2
|
|
|
|
Each line represents a whole transaction.
|
|
|
|
.IP \[bu] 2
|
|
|
|
For each transaction, it shows the other account(s) involved, in
|
|
|
|
abbreviated form.
|
|
|
|
(If there are both real and virtual postings, it shows only the accounts
|
|
|
|
affected by real postings.)
|
|
|
|
.IP \[bu] 2
|
|
|
|
It shows the overall change to the current account\[aq]s balance from
|
|
|
|
each transaction; positive for an inflow to this account, negative for
|
|
|
|
an outflow.
|
|
|
|
.IP \[bu] 2
|
|
|
|
When no query other than a date limit is in effect, it shows the current
|
|
|
|
account\[aq]s historic balance as of the transaction date.
|
|
|
|
Otherwise it shows a running total starting from zero.
|
|
|
|
Eg, these will show historic balances:
|
|
|
|
.RS 2
|
|
|
|
.IP
|
|
|
|
.nf
|
|
|
|
\f[C]
|
|
|
|
$\ hledger\-ui
|
|
|
|
$\ hledger\-ui\ \-\-begin\ \[aq]this\ month\[aq]
|
|
|
|
$\ hledger\-ui\ \-\-register\ checking\ date:2015/10
|
|
|
|
\f[]
|
|
|
|
.fi
|
|
|
|
.PP
|
|
|
|
while these will show a running total, since the queries are not just
|
|
|
|
date limits:
|
|
|
|
.IP
|
|
|
|
.nf
|
|
|
|
\f[C]
|
|
|
|
$\ hledger\-ui\ checking
|
|
|
|
$\ hledger\-ui\ \-\-begin\ \[aq]this\ month\[aq]\ desc:market
|
|
|
|
$\ hledger\-ui\ \-\-register\ checking\ \-\-cleared
|
|
|
|
\f[]
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.PP
|
2016-06-03 20:22:04 +03:00
|
|
|
\f[C]E\f[] toggles nonzero mode, in which only transactions posting a
|
|
|
|
nonzero change are shown (hledger\-ui shows zero items by default,
|
|
|
|
unlike command\-line hledger).
|
|
|
|
.PP
|
2016-06-04 04:27:35 +03:00
|
|
|
\f[C]C\f[] toggles cleared mode, in which uncleared transactions and
|
|
|
|
postings are not shown.
|
|
|
|
\f[C]U\f[] toggles uncleared mode, in which only uncleared
|
|
|
|
transactions/postings are shown.
|
2016-06-03 20:22:04 +03:00
|
|
|
.PP
|
|
|
|
\f[C]R\f[] toggles real mode, in which virtual postings are ignored.
|
|
|
|
.PP
|
2015-10-30 23:23:01 +03:00
|
|
|
Press \f[C]right\f[] or \f[C]enter\f[] to view the selected transaction
|
|
|
|
in full detail.
|
|
|
|
.SS Transaction screen
|
|
|
|
.PP
|
|
|
|
This screen shows a single transaction, as a general journal entry,
|
|
|
|
similar to hledger\[aq]s print command and journal format
|
|
|
|
(hledger_journal(5)).
|
|
|
|
.PP
|
|
|
|
The transaction\[aq]s date(s) and any cleared flag, transaction code,
|
|
|
|
description, comments, along with all of its account postings are shown.
|
|
|
|
Simple transactions have two postings, but there can be more (or in
|
|
|
|
certain cases, fewer).
|
|
|
|
.PP
|
|
|
|
\f[C]up\f[] and \f[C]down\f[] will step through all transactions listed
|
|
|
|
in the previous account register screen.
|
|
|
|
In the title bar, the numbers in parentheses show your position within
|
|
|
|
that account register.
|
|
|
|
They will vary depending on which account register you came from
|
|
|
|
(remember most transactions appear in multiple account registers).
|
|
|
|
The #N number preceding them is the transaction\[aq]s position within
|
|
|
|
the complete unfiltered journal, which is a more stable id (at least
|
|
|
|
until the next reload).
|
|
|
|
.SS Error screen
|
|
|
|
.PP
|
|
|
|
This screen will appear if there is a problem, such as a parse error,
|
|
|
|
when you press g to reload.
|
|
|
|
Once you have fixed the problem described, press g again to reload and
|
|
|
|
restore normal operation.
|
2015-10-20 16:26:09 +03:00
|
|
|
.SH ENVIRONMENT
|
|
|
|
.PP
|
|
|
|
\f[B]LEDGER_FILE\f[] sets the default journal file path.
|
|
|
|
If not set, it is \f[C]~/.hledger.journal\f[].
|
|
|
|
.PP
|
|
|
|
\f[B]COLUMNS\f[] sets the screen width to use (normally the full
|
|
|
|
terminal width).
|
|
|
|
.SH FILES
|
|
|
|
.PP
|
|
|
|
Reads data from a hledger journal file (\f[C]$LEDGER_FILE\f[] or
|
|
|
|
\f[C]~/.hledger.journal\f[] by default), or a CSV file plus associated
|
|
|
|
CSV rules file.
|
|
|
|
.SH BUGS
|
|
|
|
.PP
|
|
|
|
The need to precede options with \f[C]\-\-\f[] when invoked from hledger
|
|
|
|
is awkward.
|
|
|
|
.PP
|
|
|
|
\f[C]\-f\-\f[] doesn\[aq]t work (hledger\-ui can\[aq]t read from stdin).
|
|
|
|
.PP
|
2015-10-30 23:23:01 +03:00
|
|
|
\f[C]\-V\f[] affects only the accounts screen.
|
|
|
|
.PP
|
|
|
|
When you press \f[C]g\f[], the current and all previous screens are
|
|
|
|
regenerated, which may cause a noticeable pause.
|
|
|
|
Also there is no visual indication that this is in progress.
|
2015-10-20 16:26:09 +03:00
|
|
|
.PP
|
2015-10-30 23:23:01 +03:00
|
|
|
The register screen\[aq]s switching between historic balance and running
|
|
|
|
total based on query arguments may be confusing, and there is no column
|
|
|
|
heading to indicate which is being displayed.
|
2015-10-20 16:26:09 +03:00
|
|
|
|
|
|
|
|
|
|
|
.SH "REPORTING BUGS"
|
2016-04-09 23:56:09 +03:00
|
|
|
Report bugs at http://bugs.hledger.org
|
|
|
|
(or on the #hledger IRC channel or hledger mail list)
|
2015-10-20 16:26:09 +03:00
|
|
|
|
|
|
|
.SH AUTHORS
|
2016-04-09 23:56:09 +03:00
|
|
|
Simon Michael <simon@joyful.com> and contributors
|
2015-10-20 16:26:09 +03:00
|
|
|
|
|
|
|
.SH COPYRIGHT
|
|
|
|
|
2016-04-09 23:56:09 +03:00
|
|
|
Copyright (C) 2007-2016 Simon Michael.
|
2015-10-20 16:26:09 +03:00
|
|
|
.br
|
2016-04-13 06:31:17 +03:00
|
|
|
Released under GNU GPL v3 or later.
|
2015-10-20 16:26:09 +03:00
|
|
|
|
|
|
|
.SH SEE ALSO
|
2016-04-09 23:56:09 +03:00
|
|
|
hledger(1), hledger\-ui(1), hledger\-web(1), hledger\-api(1),
|
2016-04-13 07:10:02 +03:00
|
|
|
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
|
2016-04-09 23:56:09 +03:00
|
|
|
ledger(1)
|
2015-10-20 16:26:09 +03:00
|
|
|
|
2016-04-09 23:56:09 +03:00
|
|
|
http://hledger.org
|