467 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			467 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| 
 | |
| .TH "hledger\-ui" "1" "January 2017" "hledger\-ui dev" "hledger User Manuals"
 | |
| 
 | |
| 
 | |
| 
 | |
| .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).
 | |
| .PP
 | |
| hledger\-ui is hledger\[aq]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\[aq]s command\-line interface, and sometimes
 | |
| quicker and more convenient than the web interface.
 | |
| .PP
 | |
| Like hledger, it reads data from one or more files in hledger journal,
 | |
| timeclock, timedot, or CSV format specified with \f[C]\-f\f[], or
 | |
| \f[C]$LEDGER_FILE\f[], or \f[C]$HOME/.hledger.journal\f[] (on windows,
 | |
| perhaps \f[C]C:/Users/USER/.hledger.journal\f[]).
 | |
| For more about this see hledger(1), hledger_journal(5) etc.
 | |
| .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]\-\-watch\f[]
 | |
| watch for data and date changes and reload automatically
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-\-theme=default|terminal|greenterm\f[]
 | |
| use this custom display theme
 | |
| .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]\-\-change\f[]
 | |
| show period balances (changes) at startup instead of historical balances
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-\-flat\f[]
 | |
| show full account names, unindented
 | |
| .RS
 | |
| .RE
 | |
| .PP
 | |
| hledger input options:
 | |
| .TP
 | |
| .B \f[C]\-f\ FILE\ \-\-file=FILE\f[]
 | |
| use a different input file.
 | |
| For stdin, use \- (default: \f[C]$LEDGER_FILE\f[] or
 | |
| \f[C]$HOME/.hledger.journal\f[])
 | |
| .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[]
 | |
| rename accounts named OLD to NEW
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-\-anon\f[]
 | |
| anonymize accounts and payees
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-\-pivot\ TAGNAME\f[]
 | |
| use some other field/tag for account names
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-I\ \-\-ignore\-assertions\f[]
 | |
| ignore any failing balance assertions
 | |
| .RS
 | |
| .RE
 | |
| .PP
 | |
| hledger reporting options:
 | |
| .TP
 | |
| .B \f[C]\-b\ \-\-begin=DATE\f[]
 | |
| include postings/txns on or after this date
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-e\ \-\-end=DATE\f[]
 | |
| include postings/txns before this date
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-D\ \-\-daily\f[]
 | |
| multiperiod/multicolumn report by day
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-W\ \-\-weekly\f[]
 | |
| multiperiod/multicolumn report by week
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-M\ \-\-monthly\f[]
 | |
| multiperiod/multicolumn report by month
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-Q\ \-\-quarterly\f[]
 | |
| multiperiod/multicolumn report by quarter
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-Y\ \-\-yearly\f[]
 | |
| multiperiod/multicolumn report by year
 | |
| .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
 | |
| .B \f[C]\-\-date2\f[]
 | |
| show, and match with \-b/\-e/\-p/date:, secondary dates instead
 | |
| .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[]
 | |
| show items with zero amount, normally hidden
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-B\ \-\-cost\f[]
 | |
| convert amounts to their cost at transaction time (using the transaction
 | |
| price, if any)
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-V\ \-\-value\f[]
 | |
| convert amounts to their market value on the report end date (using the
 | |
| most recent applicable market price, if any)
 | |
| .RS
 | |
| .RE
 | |
| .PP
 | |
| hledger help options:
 | |
| .TP
 | |
| .B \f[C]\-h\f[]
 | |
| show general usage (or after COMMAND, command usage)
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-\-help\f[]
 | |
| show this program\[aq]s manual as plain text (or after an add\-on
 | |
| COMMAND, the add\-on\[aq]s manual)
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-\-man\f[]
 | |
| show this program\[aq]s manual with man
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-\-info\f[]
 | |
| show this program\[aq]s manual with info
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-\-version\f[]
 | |
| show version
 | |
| .RS
 | |
| .RE
 | |
| .TP
 | |
| .B \f[C]\-\-debug[=N]\f[]
 | |
| show debug output (levels 1\-9, default: 1)
 | |
| .RS
 | |
| .RE
 | |
| .SH KEYS
 | |
| .PP
 | |
| \f[C]?\f[] shows a help dialog listing all keys.
 | |
| (Some of these also appear in the quick help at the bottom of each
 | |
| screen.) Press \f[C]?\f[] again (or \f[C]ESCAPE\f[], or \f[C]LEFT\f[])
 | |
| to close it.
 | |
| The following keys work on most screens:
 | |
| .PP
 | |
| 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.
 | |
| Vi\-style \f[C]h\f[]/\f[C]j\f[]/\f[C]k\f[]/\f[C]l\f[] 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\[aq]re on a mac, the Karabiner app is one way to do that.)
 | |
| .PP
 | |
| With shift pressed, the cursor keys adjust the report period, limiting
 | |
| the transactions to be shown (by default, all are shown).
 | |
| \f[C]shift\-down/up\f[] steps downward and upward through these standard
 | |
| report period durations: year, quarter, month, week, day.
 | |
| Then, \f[C]shift\-left/right\f[] moves to the previous/next period.
 | |
| \f[C]t\f[] sets the report period to today.
 | |
| With the \f[C]\-\-watch\f[] 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\-standard period, you can use \f[C]/\f[] and a
 | |
| \f[C]date:\f[] query.
 | |
| .PP
 | |
| \f[C]/\f[] 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 \f[C]ENTER\f[] to set it, or \f[C]ESCAPE\f[]to cancel.
 | |
| There are also keys for quickly adjusting some common filters like
 | |
| account depth and cleared/uncleared (see below).
 | |
| \f[C]BACKSPACE\f[] or \f[C]DELETE\f[] removes all filters, showing all
 | |
| transactions.
 | |
| .PP
 | |
| \f[C]ESCAPE\f[] removes all filters and jumps back to the top screen.
 | |
| Or, it cancels a minibuffer edit or help dialog in progress.
 | |
| .PP
 | |
| \f[C]g\f[] reloads from the data file(s) and updates the current screen
 | |
| and any previous screens.
 | |
| (With large files, this could cause a noticeable pause.)
 | |
| .PP
 | |
| \f[C]I\f[] toggles balance assertion checking.
 | |
| Disabling balance assertions temporarily can be useful for
 | |
| troubleshooting.
 | |
| .PP
 | |
| \f[C]a\f[] runs command\-line hledger\[aq]s add command, and reloads the
 | |
| updated file.
 | |
| This allows some basic data entry.
 | |
| .PP
 | |
| \f[C]E\f[] runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default
 | |
| (\f[C]emacsclient\ \-a\ ""\ \-nw\f[]) 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.
 | |
| .PP
 | |
| \f[C]q\f[] quits the application.
 | |
| .PP
 | |
| Additional screen\-specific keys are described below.
 | |
| .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
 | |
| (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.
 | |
| .PP
 | |
| Account names are normally indented to show the hierarchy (tree mode).
 | |
| To see less detail, set a depth limit by pressing a number key,
 | |
| \f[C]1\f[] to \f[C]9\f[].
 | |
| \f[C]0\f[] shows even less detail, collapsing all accounts to a single
 | |
| total.
 | |
| \f[C]\-\f[] and \f[C]+\f[] (or \f[C]=\f[]) decrease and increase the
 | |
| depth limit.
 | |
| To remove the depth limit, set it higher than the maximum account depth,
 | |
| or press \f[C]ESCAPE\f[].
 | |
| .PP
 | |
| \f[C]F\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\[aq]s balance command).
 | |
| .PP
 | |
| \f[C]H\f[] toggles between showing historical balances or period
 | |
| balances.
 | |
| Historical 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.
 | |
| .PP
 | |
| \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.
 | |
| .PP
 | |
| \f[C]R\f[] toggles real mode, in which virtual postings are ignored.
 | |
| .PP
 | |
| \f[C]Z\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
 | |
| Press \f[C]right\f[] or \f[C]enter\f[] to view an account\[aq]s
 | |
| transactions register.
 | |
| .SS Register screen
 | |
| .PP
 | |
| This screen shows the transactions affecting a particular account, like
 | |
| a check register.
 | |
| Each line represents one transaction and shows:
 | |
| .IP \[bu] 2
 | |
| 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
 | |
| the overall change to the current account\[aq]s balance; positive for an
 | |
| inflow to this account, negative for an outflow.
 | |
| .IP \[bu] 2
 | |
| the running historical total or period total for the current account,
 | |
| after the transaction.
 | |
| This can be toggled with \f[C]H\f[].
 | |
| 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.
 | |
| .PP
 | |
| 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 transactions responsible
 | |
| for the period balance shown on the accounts screen.
 | |
| As on the accounts screen, this can be toggled with \f[C]F\f[].
 | |
| .PP
 | |
| \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.
 | |
| .PP
 | |
| \f[C]R\f[] toggles real mode, in which virtual postings are ignored.
 | |
| .PP
 | |
| \f[C]Z\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
 | |
| Press \f[C]right\f[] (or \f[C]enter\f[]) to view the selected
 | |
| transaction in 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, press g again to reload and resume
 | |
| normal operation.
 | |
| (Or, you can press escape to cancel the reload attempt.)
 | |
| .SH ENVIRONMENT
 | |
| .PP
 | |
| \f[B]COLUMNS\f[] The screen width to use.
 | |
| Default: the full terminal width.
 | |
| .PP
 | |
| \f[B]LEDGER_FILE\f[] The journal file path when not specified with
 | |
| \f[C]\-f\f[].
 | |
| Default: \f[C]~/.hledger.journal\f[] (on windows, perhaps
 | |
| \f[C]C:/Users/USER/.hledger.journal\f[]).
 | |
| .SH FILES
 | |
| .PP
 | |
| Reads data from one or more files in hledger journal, timeclock,
 | |
| timedot, or CSV format specified with \f[C]\-f\f[], or
 | |
| \f[C]$LEDGER_FILE\f[], or \f[C]$HOME/.hledger.journal\f[] (on windows,
 | |
| perhaps \f[C]C:/Users/USER/.hledger.journal\f[]).
 | |
| .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
 | |
| \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 with large files.
 | |
| Also there is no visual indication that this is in progress.
 | |
| .PP
 | |
| \f[C]\-\-watch\f[] 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.
 | |
| Symptoms include: unresponsive UI, periodic resetting of the cursor
 | |
| position, momentary display of parse errors, high CPU usage eventually
 | |
| subsiding, and possibly a small but persistent build\-up of CPU usage
 | |
| until the program is restarted.
 | |
| 
 | |
| 
 | |
| .SH "REPORTING BUGS"
 | |
| Report bugs at http://bugs.hledger.org
 | |
| (or on the #hledger IRC channel or hledger mail list)
 | |
| 
 | |
| .SH AUTHORS
 | |
| Simon Michael <simon@joyful.com> and contributors
 | |
| 
 | |
| .SH COPYRIGHT
 | |
| 
 | |
| Copyright (C) 2007-2016 Simon Michael.
 | |
| .br
 | |
| Released under GNU GPL v3 or later.
 | |
| 
 | |
| .SH SEE ALSO
 | |
| hledger(1), hledger\-ui(1), hledger\-web(1), hledger\-api(1),
 | |
| hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
 | |
| ledger(1)
 | |
| 
 | |
| http://hledger.org
 |