mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-26 20:02:27 +03:00
388 lines
16 KiB
Plaintext
388 lines
16 KiB
Plaintext
|
|
hledger-ui(1) hledger User Manuals hledger-ui(1)
|
|
|
|
|
|
|
|
NAME
|
|
hledger-ui - curses-style interface for the hledger accounting tool
|
|
|
|
SYNOPSIS
|
|
hledger-ui [OPTIONS] [QUERYARGS]
|
|
hledger ui -- [OPTIONS] [QUERYARGS]
|
|
|
|
DESCRIPTION
|
|
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).
|
|
|
|
hledger-ui is hledger's curses-style interface, providing an efficient
|
|
full-window text UI for viewing accounts and transactions, and some
|
|
limited data entry capability. It is easier than hledger's com-
|
|
mand-line interface, and sometimes quicker and more convenient than the
|
|
web interface.
|
|
|
|
Like hledger, it reads data from one or more files in hledger journal,
|
|
timeclock, timedot, or CSV format specified with -f, or $LEDGER_FILE,
|
|
or $HOME/.hledger.journal (on windows, perhaps
|
|
C:/Users/USER/.hledger.journal). For more about this see hledger(1),
|
|
hledger_journal(5) etc.
|
|
|
|
OPTIONS
|
|
Note: if invoking hledger-ui as a hledger subcommand, write -- before
|
|
options as shown above.
|
|
|
|
Any QUERYARGS are interpreted as a hledger search query which filters
|
|
the data.
|
|
|
|
--watch
|
|
watch for data and date changes and reload automatically
|
|
|
|
--theme=default|terminal|greenterm
|
|
use this custom display theme
|
|
|
|
--register=ACCTREGEX
|
|
start in the (first) matched account's register screen
|
|
|
|
--change
|
|
show period balances (changes) at startup instead of historical
|
|
balances
|
|
|
|
--flat show full account names, unindented
|
|
|
|
hledger input options:
|
|
|
|
-f FILE --file=FILE
|
|
use a different input file. For stdin, use - (default:
|
|
$LEDGER_FILE or $HOME/.hledger.journal)
|
|
|
|
--rules-file=RULESFILE
|
|
Conversion rules file to use when reading CSV (default:
|
|
FILE.rules)
|
|
|
|
--alias=OLD=NEW
|
|
rename accounts named OLD to NEW
|
|
|
|
--anon anonymize accounts and payees
|
|
|
|
--pivot FIELDNAME
|
|
use some other field or tag for the account name
|
|
|
|
-I --ignore-assertions
|
|
ignore any failing balance assertions
|
|
|
|
hledger reporting options:
|
|
|
|
-b --begin=DATE
|
|
include postings/txns on or after this date
|
|
|
|
-e --end=DATE
|
|
include postings/txns before this date
|
|
|
|
-D --daily
|
|
multiperiod/multicolumn report by day
|
|
|
|
-W --weekly
|
|
multiperiod/multicolumn report by week
|
|
|
|
-M --monthly
|
|
multiperiod/multicolumn report by month
|
|
|
|
-Q --quarterly
|
|
multiperiod/multicolumn report by quarter
|
|
|
|
-Y --yearly
|
|
multiperiod/multicolumn report by year
|
|
|
|
-p --period=PERIODEXP
|
|
set start date, end date, and/or reporting interval all at once
|
|
using period expressions syntax (overrides the flags above)
|
|
|
|
--date2
|
|
match the secondary date instead (see command help for other
|
|
effects)
|
|
|
|
-U --unmarked
|
|
include only unmarked postings/txns (can combine with -P or -C)
|
|
|
|
-P --pending
|
|
include only pending postings/txns
|
|
|
|
-C --cleared
|
|
include only cleared postings/txns
|
|
|
|
-R --real
|
|
include only non-virtual postings
|
|
|
|
-NUM --depth=NUM
|
|
hide/aggregate accounts or postings more than NUM levels deep
|
|
|
|
-E --empty
|
|
show items with zero amount, normally hidden (and vice-versa in
|
|
hledger-ui/hledger-web)
|
|
|
|
-B --cost
|
|
convert amounts to their cost at transaction time (using the
|
|
transaction price, if any)
|
|
|
|
-V --value
|
|
convert amounts to their market value on the report end date
|
|
(using the most recent applicable market price, if any)
|
|
|
|
--auto apply automated posting rules to modify transactions.
|
|
|
|
--forecast
|
|
apply periodic transaction rules to generate future transac-
|
|
tions, to 6 months from now or report end date.
|
|
|
|
When a reporting option appears more than once in the command line, the
|
|
last one takes precedence.
|
|
|
|
Some reporting options can also be written as query arguments.
|
|
|
|
hledger help options:
|
|
|
|
-h --help
|
|
show general usage (or after COMMAND, command usage)
|
|
|
|
--version
|
|
show version
|
|
|
|
--debug[=N]
|
|
show debug output (levels 1-9, default: 1)
|
|
|
|
A @FILE argument will be expanded to the contents of FILE, which should
|
|
contain one command line option/argument per line. (To prevent this,
|
|
insert a -- argument before.)
|
|
|
|
KEYS
|
|
? shows a help dialog listing all keys. (Some of these also appear in
|
|
the quick help at the bottom of each screen.) Press ? again (or ESCAPE,
|
|
or LEFT) to close it. The following keys work on most screens:
|
|
|
|
The cursor keys navigate: right (or enter) goes deeper, left returns to
|
|
the previous screen, up/down/page up/page down/home/end move up and
|
|
down through lists. Vi-style (h/j/k/l) and Emacs-style
|
|
(CTRL-p/CTRL-n/CTRL-f/CTRL-b) movement keys are also supported. A tip:
|
|
movement speed is limited by your keyboard repeat rate, to move faster
|
|
you may want to adjust it. (If you're on a mac, the Karabiner app is
|
|
one way to do that.)
|
|
|
|
With shift pressed, the cursor keys adjust the report period, limiting
|
|
the transactions to be shown (by default, all are shown).
|
|
shift-down/up steps downward and upward through these standard report
|
|
period durations: year, quarter, month, week, day. Then,
|
|
shift-left/right moves to the previous/next period. t sets the report
|
|
period to today. With the --watch option, when viewing a "current"
|
|
period (the current day, week, month, quarter, or year), the period
|
|
will move automatically to track the current date. To set a non-stan-
|
|
dard period, you can use / and a date: query.
|
|
|
|
/ lets you set a general filter query limiting the data shown, using
|
|
the same query terms as in hledger and hledger-web. While editing the
|
|
query, you can use CTRL-a/e/d/k, BS, cursor keys; press ENTER to set
|
|
it, or ESCAPEto cancel. There are also keys for quickly adjusting some
|
|
common filters like account depth and transaction status (see below).
|
|
BACKSPACE or DELETE removes all filters, showing all transactions.
|
|
|
|
ESCAPE removes all filters and jumps back to the top screen. Or, it
|
|
cancels a minibuffer edit or help dialog in progress.
|
|
|
|
CTRL-l redraws the screen and centers the selection if possible (selec-
|
|
tions near the top won't be centered, since we don't scroll above the
|
|
top).
|
|
|
|
g reloads from the data file(s) and updates the current screen and any
|
|
previous screens. (With large files, this could cause a noticeable
|
|
pause.)
|
|
|
|
I toggles balance assertion checking. Disabling balance assertions
|
|
temporarily can be useful for troubleshooting.
|
|
|
|
a runs command-line hledger's add command, and reloads the updated
|
|
file. This allows some basic data entry.
|
|
|
|
A is like a, but runs the hledger-iadd tool, which provides a
|
|
curses-style interface. This key will be available if hledger-iadd is
|
|
installed in $PATH.
|
|
|
|
E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emac-
|
|
sclient -a "" -nw) on the journal file. With some editors (emacs, vi),
|
|
the cursor will be positioned at the current transaction when invoked
|
|
from the register and transaction screens, and at the error location
|
|
(if possible) when invoked from the error screen.
|
|
|
|
q quits the application.
|
|
|
|
Additional screen-specific keys are described below.
|
|
|
|
SCREENS
|
|
Accounts screen
|
|
This is normally the first screen displayed. It lists accounts and
|
|
their balances, like hledger's balance command. By default, it shows
|
|
all accounts and their latest ending balances (including the balances
|
|
of subaccounts). if you specify a query on the command line, it shows
|
|
just the matched accounts and the balances from matched transactions.
|
|
|
|
Account names are normally indented to show the hierarchy (tree mode).
|
|
To see less detail, set a depth limit by pressing a number key, 1 to 9.
|
|
0 shows even less detail, collapsing all accounts to a single total. -
|
|
and + (or =) decrease and increase the depth limit. To remove the
|
|
depth limit, set it higher than the maximum account depth, or press
|
|
ESCAPE.
|
|
|
|
F toggles flat mode, in which accounts are shown as a flat list, with
|
|
their full names. In this mode, account balances exclude subaccounts,
|
|
except for accounts at the depth limit (as with hledger's balance com-
|
|
mand).
|
|
|
|
H toggles between showing historical balances or period balances. His-
|
|
torical balances (the default) are ending balances at the end of the
|
|
report period, taking into account all transactions before that date
|
|
(filtered by the filter query if any), including transactions before
|
|
the start of the report period. In other words, historical balances
|
|
are what you would see on a bank statement for that account (unless
|
|
disturbed by a filter query). Period balances ignore transactions
|
|
before the report start date, so they show the change in balance during
|
|
the report period. They are more useful eg when viewing a time log.
|
|
|
|
U toggles filtering by unmarked status, including or excluding unmarked
|
|
postings in the balances. Similarly, P toggles pending postings, and C
|
|
toggles cleared postings. (By default, balances include all postings;
|
|
if you activate one or two status filters, only those postings are
|
|
included; and if you activate all three, the filter is removed.)
|
|
|
|
R toggles real mode, in which virtual postings are ignored.
|
|
|
|
Z toggles nonzero mode, in which only accounts with nonzero balances
|
|
are shown (hledger-ui shows zero items by default, unlike command-line
|
|
hledger).
|
|
|
|
Press right or enter to view an account's transactions register.
|
|
|
|
Register screen
|
|
This screen shows the transactions affecting a particular account, like
|
|
a check register. Each line represents one transaction and shows:
|
|
|
|
o 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.)
|
|
|
|
o the overall change to the current account's balance; positive for an
|
|
inflow to this account, negative for an outflow.
|
|
|
|
o the running historical total or period total for the current account,
|
|
after the transaction. This can be toggled with H. Similar to the
|
|
accounts screen, the historical total is affected by transactions
|
|
(filtered by the filter query) before the report start date, while
|
|
the period total is not. If the historical total is not disturbed by
|
|
a filter query, it will be the running historical balance you would
|
|
see on a bank register for the current account.
|
|
|
|
If the accounts screen was in tree mode, the register screen will
|
|
include transactions from both the current account and its subaccounts.
|
|
If the accounts screen was in flat mode, and a non-depth-clipped
|
|
account was selected, the register screen will exclude transactions
|
|
from subaccounts. In other words, the register always shows the trans-
|
|
actions responsible for the period balance shown on the accounts
|
|
screen. As on the accounts screen, this can be toggled with F.
|
|
|
|
U toggles filtering by unmarked status, showing or hiding unmarked
|
|
transactions. Similarly, P toggles pending transactions, and C toggles
|
|
cleared transactions. (By default, transactions with all statuses are
|
|
shown; if you activate one or two status filters, only those transac-
|
|
tions are shown; and if you activate all three, the filter is
|
|
removed.)q
|
|
|
|
R toggles real mode, in which virtual postings are ignored.
|
|
|
|
Z toggles nonzero mode, in which only transactions posting a nonzero
|
|
change are shown (hledger-ui shows zero items by default, unlike com-
|
|
mand-line hledger).
|
|
|
|
Press right (or enter) to view the selected transaction in detail.
|
|
|
|
Transaction screen
|
|
This screen shows a single transaction, as a general journal entry,
|
|
similar to hledger's print command and journal format (hledger_jour-
|
|
nal(5)).
|
|
|
|
The transaction'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).
|
|
|
|
up and down 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 trans-
|
|
actions appear in multiple account registers). The #N number preceding
|
|
them is the transaction's position within the complete unfiltered jour-
|
|
nal, which is a more stable id (at least until the next reload).
|
|
|
|
Error screen
|
|
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, press g
|
|
again to reload and resume normal operation. (Or, you can press escape
|
|
to cancel the reload attempt.)
|
|
|
|
ENVIRONMENT
|
|
COLUMNS The screen width to use. Default: the full terminal width.
|
|
|
|
LEDGER_FILE The journal file path when not specified with -f. Default:
|
|
~/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.jour-
|
|
nal).
|
|
|
|
FILES
|
|
Reads data from one or more files in hledger journal, timeclock, time-
|
|
dot, or CSV format specified with -f, or $LEDGER_FILE, or
|
|
$HOME/.hledger.journal (on windows, perhaps
|
|
C:/Users/USER/.hledger.journal).
|
|
|
|
BUGS
|
|
The need to precede options with -- when invoked from hledger is awk-
|
|
ward.
|
|
|
|
-f- doesn't work (hledger-ui can't read from stdin).
|
|
|
|
-V affects only the accounts screen.
|
|
|
|
When you press g, the current and all previous screens are regenerated,
|
|
which may cause a noticeable pause with large files. Also there is no
|
|
visual indication that this is in progress.
|
|
|
|
--watch is not yet fully robust. It works well for normal usage, but
|
|
many file changes in a short time (eg saving the file thousands of
|
|
times with an editor macro) can cause problems at least on OSX. Symp-
|
|
toms include: unresponsive UI, periodic resetting of the cursor posi-
|
|
tion, momentary display of parse errors, high CPU usage eventually sub-
|
|
siding, and possibly a small but persistent build-up of CPU usage until
|
|
the program is restarted.
|
|
|
|
|
|
|
|
REPORTING BUGS
|
|
Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel
|
|
or hledger mail list)
|
|
|
|
|
|
AUTHORS
|
|
Simon Michael <simon@joyful.com> and contributors
|
|
|
|
|
|
COPYRIGHT
|
|
Copyright (C) 2007-2016 Simon Michael.
|
|
Released under GNU GPL v3 or later.
|
|
|
|
|
|
SEE ALSO
|
|
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1),
|
|
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time-
|
|
dot(5), ledger(1)
|
|
|
|
http://hledger.org
|
|
|
|
|
|
|
|
hledger-ui 1.9 March 2018 hledger-ui(1)
|