Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DTERC(5)		      File Formats Manual		      DTERC(5)

NAME
       dterc - Command and configuration language used by dte(1)

SYNOPSIS
       Commands:

       Configuration Commands:
	  alias	name [command]
	  bind [-cns] key [command]
	  set [-gl] option [value] ...
	  setenv name [value]
	  hi [-c] [name] [fg-color [bg-color]] [attribute]...
	  ft [-b|-c|-f|-i] filetype string...
	  option [-r] filetype option value...
	  include [-bq]	file
	  errorfmt [-i]	compiler [regexp] [file|line|column|message|_]...
	  load-syntax filename|filetype

       Editor Commands:
	  quit [-f|-p] [exitcode]
	  suspend
	  cd directory
	  command [text]
	  search [-Hr] [-n|-p|-w|pattern]
	  refresh

       Buffer Management Commands:
	  open [-g|-t] [-e encoding] [filename]...
	  save [-fp] [-d|-u] [-b|-B] [-e encoding] [filename]
	  close	[-qw] [-f|-p]
	  next
	  prev
	  view N|last
	  move-tab N|left|right

       Window Management Commands:
	  wsplit [-bghr] [-n|-t|filename...]
	  wclose [-f|-p]
	  wnext
	  wprev
	  wresize [-h|-v] [N|+N|-- -N]
	  wflip
	  wswap

       Movement	Commands:
	  left [-c]
	  right	[-c]
	  up [-c|-l]
	  down [-c|-l]
	  pgup [-c|-l]
	  pgdown [-c|-l]
	  blkup	[-c|-l]
	  blkdown [-c|-l]
	  word-fwd [-cs]
	  word-bwd [-cs]
	  bol [-c] [-s|-t]
	  eol [-c]
	  bof [-c|-l]
	  eof [-c|-l]
	  bolsf	[-c|-l]
	  eolsf	[-c|-l]
	  scroll-up
	  scroll-down
	  scroll-pgup
	  scroll-pgdown
	  center-view
	  match-bracket
	  line lineno[,colno]
	  bookmark [-r]
	  tag [-r|tag]
	  msg [-n|-p|number]

       Editing Commands:
	  cut
	  copy [-bikp]
	  paste	[-m] [-a|-c]
	  undo
	  redo [choice]
	  clear
	  join
	  new-line [-a]
	  delete
	  erase
	  delete-eol [-n]
	  erase-bol
	  delete-word [-s]
	  erase-word [-s]
	  delete-line
	  case [-l|-u]
	  insert [-k|-m] text
	  replace [-bcgi] pattern replacement
	  shift	count
	  wrap-paragraph [width]
	  select [-kl]
	  unselect

       External	Commands:
	  exec [-pstmn]	[-ioe action]... command [parameter]...
	  compile [-1ps] errorfmt command [parameters]...

       Other Commands:
	  repeat count command [parameters]...
	  toggle [-gv] option [values]...
	  show [-c] type [key]
	  macro	action

       Options:

       Global options:
	  case-sensitive-search	[true]
	  display-special [false]
	  esc-timeout [100] 0...2000
	  filesize-limit [250]
	  lock-files [true]
	  newline [unix]
	  optimize-true-color [true]
	  select-cursor-char [true]
	  scroll-margin	[0]
	  set-window-title [false]
	  show-line-numbers [false]
	  statusline-left [" %f%s%m%s%r%s%M"]
	  statusline-right [" %y,%X %u %o %E%s%b%s%n %t	%p "]
	  tab-bar [true]
	  utf8-bom [false]

       Local options:
	  brace-indent [false]
	  filetype [none]
	  indent-regex [""]

       Local and global	options:
	  auto-indent [true]
	  detect-indent	[""]
	  emulate-tab [false]
	  expand-tab [false]
	  file-history [true]
	  indent-width [8]
	  overwrite [false]
	  syntax [true]
	  tab-width [8]
	  text-width [72]
	  ws-error [special]

DESCRIPTION
       dterc is	the language used in dte(1) configuration files	(~/.dte/rc)
       and also	in the command mode of the editor (Alt+x). The syntax of the
       language	is quite similar to shell, but much simpler.

       Commands	are separated either by	a newline or ; character. To make a
       command span multiple lines in an rc file, escape the newline (put \ at
       the end of the line).

       Rc files	can contain comments at	the start of a line. Comments begin
       with a #	character and can be indented, but they	can't be put on	the
       same line as a command.

       Commands	can contain environment	variables. Variables always expand
       into a single argument even if they contain whitespace. Variables
       inside single or	double quotes are NOT expanded.	This makes it possible
       to bind keys to commands	that contain variables (inside single or
       double quotes), which will be expanded just before the command is
       executed.

       Example:

	      alias x "run chmod 755 $FILE"

       $FILE is	expanded when the alias	x is executed. The command works even
       if $FILE	contains whitespace.

   Special variables
       These variables are always defined and override environment variables
       of the same name.

       $FILE
	      The absolute filename of the current buffer (or an empty string
	      if unsaved).

       $RFILE
	      The relative filename of the current buffer (or an empty string
	      if unsaved).

       $FILEDIR
	      The directory part of $FILE.

       $FILETYPE
	      The value	of the filetype	option for the current buffer.

       $LINENO
	      The line number of the cursor in the current buffer.

       $COLNO
	      The column number	of the cursor in the current buffer.

       $WORD
	      The selected text	or the word under the cursor.

       $DTE_HOME
	      The user configuration directory.	This is	either the value of
	      $DTE_HOME	when the editor	first started, or the default value
	      ($HOME/.dte).

   Single quoted strings
       Single quoted strings can't contain single quotes or escaped
       characters.

   Double quoted strings
       Double quoted strings may contain the following escapes:

       \a, \b, \t, \n, \v, \f, \r
	      Control characters (same as in C)

       \e     Escape character

       \\     Backslash

       \"     Double quote

       \x0a   Hexadecimal  byte	 value	0x0A (note that	\x00 is	not supported,
	      because strings are null-terminated)

       \u20ac Four hex digit Unicode code point	U+20AC

       \U000020ac
	      Eight hex	digit Unicode code point U+20AC

COMMANDS
   Configuration Commands
       Configuration commands are used to customize  certain  aspects  of  the
       editor,	for  example  adding key bindings, setting options, etc. These
       are the only commands allowed in	user config files.

       alias name [command]
	      Create an	alias name for command.	If no command  is  given  then
	      any existing alias for name is removed.

	      Aliases  can  be	used in	command	mode or	bound to keys, just as
	      normal commands can. When	aliases	are used in place of commands,
	      they  are	 first	recursively  expanded  (to  allow  aliases  of
	      aliases)	and any	additional arguments are then added to the end
	      of the expanded command.

	      For example, if the following alias is created:

		     alias read	'pipe-from cat'

	      this can then be invoked as read file.txt, which will expand  to
	      the command pipe-from cat	file.txt and thus cause	file.txt to be
	      inserted into the	current	buffer.

       bind [-cns] key [command]
	      Bind  command  to	 key. If no command is given then any existing
	      binding for key is removed.

	      Special keys:

	      	left
	      	right
	      	up
	      	down
	      	insert
	      	delete
	      	home
	      	end
	      	pgup
	      	pgdown
	      	begin (keypad "5" with Num Lock	off)
	      	enter
	      	tab
	      	space
	      	F1..F20

	      Modifiers:

	      Ctrl:  C-x (or ^X)

	      Alt:   M-x

	      Shift: S-left

	      Super: s-left

	      Hyper: H-left

	      The key is bound in normal mode by default, unless one  or  more
	      of the following flags are used:

	      -c     Add binding for command mode

	      -n     Add binding for normal mode

	      -s     Add binding for search mode

	      The commands available in	normal mode are	the ones listed	in the
	      main sections of this manual.

	      The commands available in	command/search modes are as follows:

	      	left
	      	right
	      	word-bwd
	      	word-fwd
	      	bol
	      	eol
	      	delete
	      	delete-word
	      	delete-eol
	      	erase
	      	erase-word
	      	erase-bol
	      	clear
	      	copy [-bip]
	      	paste [-m]
	      	toggle [-g] option [values]...
	      	accept [-eH] - Execute command or perform search
	      	cancel - Return	to normal mode
	      	history-next - Find next history item matching current prefix
	      	 history-prev  -  Find	previous history item matching current
	      prefix
	      	complete-next -	Select next auto-completion in command mode
	      	complete-prev -	Select	previous  auto-completion  in  command
	      mode
	      	direction - Toggle search direction in search mode

	      Most of these commands behave in a similar fashion to the	normal
	      mode commands of the same	name. The exceptions to	this have been
	      given a short description	above.

	      Most  of	the  command flags also	behave similarly to the	normal
	      mode equivalents,	 except	 for  accept  -H,  which  accepts  the
	      current  text  without  adding  a	 history  entry	 and accept -e
	      (search mode only) which escapes all regex(7) special characters
	      before performing	a (plain-text) search.

	      See also:

	      	The "key bindings" section in the dte(1) man page
	      	The show bind command (below)

       set [-gl] option	[value]	...
	      Set value	for option. Value can be omitted for boolean option to
	      set it true. Multiple options can	be set at once but then	 value
	      must be given for	every option.

	      There are	three kinds of options.

	      1. Global	options.

	      2.  Local	 options.  These  are file specific options. Each open
	      file has its own copies of the option values.

	      3. Options that have both	global and local  values.  The	Global
	      value  is	 just  a  default  local value for opened files	and is
	      never used for anything else. Changing the global	value does not
	      affect any already opened	files.

	      By default set changes both global and local values.

	      -g     Change only global	option value

	      -l     Change only local option value of current file

	      In configuration files only global options can be	set  (no  need
	      to specify the -g	flag).

	      See also:	toggle and option commands.

       setenv name [value]
	      Set (or unset) environment variable.

       hi [-c] [name] [fg-color	[bg-color]] [attribute]...
	      Set highlight color.

	      The name argument	can be a token name defined by a dte-syntax(5)
	      file or one of the following, built-in highlight names:

	      	default
	      	nontext
	      	noline
	      	wserror
	      	selection
	      	currentline
	      	linenumber
	      	statusline
	      	commandline
	      	errormsg
	      	infomsg
	      	tabbar
	      	activetab
	      	inactivetab
	      	dialog

	      The fg-color and bg-color	arguments can be one of	the following:

	      	No value (equivalent to	default)
	      	A numeric value	between	-2 and 255
	      	A 256-color palette value in R/G/B notation (e.g. 0/3/5)
	      	A true color value in #RRGGBB notation (e.g. #ab90df)
	      	A true color value in #RGB notation (e.g. #1ef)
	      	keep (-2)
	      	default	(-1)
	      	black (0)
	      	red (1)
	      	green (2)
	      	yellow (3)
	      	blue (4)
	      	magenta	(5)
	      	cyan (6)
	      	gray (7)
	      	darkgray (8)
	      	lightred (9)
	      	lightgreen (10)
	      	lightyellow (11)
	      	lightblue (12)
	      	lightmagenta (13)
	      	lightcyan (14)
	      	white (15)

	      Colors  16  to 231 correspond to R/G/B colors. Colors 232	to 255
	      are grayscale values.

	      If the terminal has limited support for  rendering  colors,  the
	      fg-color	and  bg-color  arguments will fall back	to the nearest
	      supported	color (unless the -c flag is used; see below).

	      The  attribute  argument(s)  can	be  any	 combination  of   the
	      following:

	      	bold
	      	dim
	      	italic
	      	underline
	      	strikethrough
	      	blink
	      	reverse
	      	invisible
	      	keep

	      The color	and attribute value keep is useful in selected text to
	      keep fg-color and	attributes and change only bg-color.

	      NOTE:  Because keep is both a color and an attribute you need to
	      specify both fg-color and	bg-color if you	want to	set  the  keep
	      attribute.

	      Unset  fg/bg  colors are inherited from highlight	color default.
	      If you don't set fg/bg for  the  highlight  color	 default  then
	      terminal's default fg/bg is used.

	      If  hi  is  run  without any arguments, all highlight colors are
	      removed and a baseline set of defaults is	then loaded (as	if  by
	      running include -b on the	built-in color/reset config).

	      -c     Do	 nothing at all	if the terminal	can't display fg-color
		     and/or bg-color with full precision (this can be used  to
		     set  up  tiered color schemes that	use the	best supported
		     colors automatically)

       ft [-b|-c|-f|-i]	filetype string...
	      Add a filetype association.  Filetypes  are  used	 to  determine
	      which  syntax  highlighter and local options to use when opening
	      files.

	      By default  string  is  interpreted  as  one  or	more  filename
	      extensions.

	      -b     Interpret string as a file	basename

	      -c     Interpret	string as a regex(7) pattern and match against
		     the contents of the first line of the file

	      -f     Interpret string as a regex(7) pattern and	match  against
		     the full (absolute) filename

	      -i     Interpret	string as a command interpreter	name and match
		     against the Unix shebang line (after  removing  any  path
		     prefix and/or version suffix)

	      Examples:

		     ft	c c h
		     ft	-b make	Makefile GNUmakefile
		     ft	-c xml '<\?xml'
		     ft	-f mail	'/tmpmsg-.*\.txt$'
		     ft	-i lua lua luajit

	      See also:

	      	The option command (below)
	      	The filetype option (below)
	      	The dte-syntax(5) man page

       option [-r] filetype option value...
	      Add automatic option for filetype	(as previously registered with
	      the  ft  command).  Automatic options are	set when files are are
	      opened.

	      -r     Interpret filetype	argument as a regex(7) pattern instead
		     of	a filetype and match against full filenames

       include [-bq] file
	      Read and execute commands	from file.

	      -b     Read built-in file	instead	of reading from	the filesystem

	      -q     Don't show	an error message if file doesn't exist

	      Note: "built-in files" are config	files bundled into the program
	      binary.  See the -B and -b flags in the dte(1) man page and  the
	      show include command for more information.

       errorfmt	[-i] compiler [regexp] [file|line|column|message|_]...
	      Register	a  regex(7)  pattern,  for  later use with the compile
	      command.

	      When the compile command is invoked  with	 a  specific  compiler
	      name, the	regexp pattern(s) previously registered	with that name
	      are used to parse	messages from it's program output.

	      The  regexp  pattern  should  contain  as	many capture groups as
	      there are	extra arguments. These	capture	 groups	 are  used  to
	      parse  the  file,	 line,	message,  etc. from the	output and, if
	      possible,	jump  to  the  corresponding  file  position.  To  use
	      parentheses in regexp but	ignore the capture, use	_ as the extra
	      argument.

	      Running  errorfmt	 multiple  times  with	the same compiler name
	      appends each regexp to a list. When running compile, the entries
	      in the specified list are	checked	for a match in the same	 order
	      they were	added.

	      If  only	1  argument  (i.e.  compiler)  is  given, all patterns
	      previously added for that	compiler name will be removed.

	      For a  basic  example  of	 usage,	 see  the  output  of  dte  -b
	      compiler/go.

	      -i     Ignore this error

       load-syntax filename|filetype
	      Load  a  dte-syntax(5)  file  into  the  editor. If the argument
	      contains a / character it's considered a filename.

	      Note: this command only loads a syntax file ready	for later use.
	      To actually apply	a syntax highlighter to	 the  current  buffer,
	      use  the	set  command  to  change  the  filetype	 of the	buffer
	      instead, e.g.  set filetype html.

   Editor Commands
       quit [-f|-p] [exitcode]
	      Quit the editor.

	      The exit status of the process is	set to exitcode, which can  be
	      in the range 0..125, or defaults to 0 if unspecified.

	      -f     Force quit, even if there are unsaved files

	      -p     Prompt for	confirmation if	there are unsaved files

       suspend
	      Suspend the editor (run fg in the	shell to resume).

       cd directory
	      Change  the  working  directory  and  update  $PWD  and $OLDPWD.
	      Running cd - changes to the previous directory ($OLDPWD).

       command [text]
	      Enter command mode. If text is given then	it is written  to  the
	      command  line  (see  the	default	^L key binding for why this is
	      useful).

       search [-Hr] [-n|-p|-w|pattern]
	      If no flags or just -r and no pattern given then dte changes  to
	      search mode where	you can	type a regular expression to search.

	      -H     Don't add pattern to search history

	      -n     Search next

	      -p     Search previous

	      -r     Start searching backwards

	      -w     Search word under cursor

       refresh
	      Trigger a	full redraw of the screen.

   Buffer Management Commands
       open [-g|-t] [-e	encoding] [filename]...
	      Open file. If filename is	omitted, a new file is opened.

	      -e encoding
		     Set  file	encoding  (see	iconv -l for list of supported
		     encodings)

	      -g     Perform glob(7) expansion on filename

	      -t     Mark buffer as  "temporary"  (always  closeable,  without
		     warnings for "unsaved changes")

       save [-fp] [-d|-u] [-b|-B] [-e encoding]	[filename]
	      Save current buffer.

	      -b     Write byte	order mark (BOM)

	      -B     Don't write byte order mark

	      -d     Save with DOS/CRLF	line-endings

	      -f     Force saving read-only file

	      -u     Save with Unix/LF line-endings

	      -p     Open a command prompt if there's no specified or existing
		     filename

	      -e encoding
		     Set  file	encoding  (see	iconv -l for list of supported
		     encodings)

	      See also:	newline	and utf8-bom global options

       close [-qw] [-f|-p]
	      Close file.

	      -f     Force close file, even if it has unsaved changes

	      -p     Prompt for	confirmation if	the file has unsaved changes

	      -q     Quit if closing the last open file

	      -w     Close parent window if closing its	last contained file

       next
	      Display next file.

       prev
	      Display previous file.

       view N|last
	      Display Nth or last open file.

       move-tab	N|left|right
	      Move current tab to position N or	1 position left	or right.

   Window Management Commands
       wsplit [-bghr] [-n|-t|filename...]
	      Split the	current	window.

	      filename arguments will be opened	in a  manner  similar  to  the
	      open  command.  If there are no filename arguments, the contents
	      of the new window	will be	an  additional	view  of  the  current
	      buffer.

	      -b     Add new window before current instead of after

	      -g     Perform glob(7) expansion on filename

	      -h     Split horizontally	instead	of vertically

	      -n     Create a new, empty buffer

	      -r     Split root	instead	of current window

	      -t     Create  a	new,  empty  buffer and	mark it	as "temporary"
		     (always  closeable,   without   warnings	for   "unsaved
		     changes")

       wclose [-f|-p]
	      Close window.

	      -f     Force close window, even if it contains unsaved files

	      -p     Prompt for	confirmation if	there are unsaved files	in the
		     window

       wnext
	      Next window.

       wprev
	      Previous window.

       wresize [-h|-v] [N|+N|--	-N]
	      If no parameter given, equalize window sizes in current frame.

	      -h     Resize horizontally

	      -v     Resize vertically

	      N	     Set size of current window	to N columns/rows

	      +N     Increase size of current window by	N columns/rows

	      -N     Decrease size of current window by	N columns/rows (use --
		     to	 prevent  the  minus  symbol being parsed as an	option
		     flag, e.g.	 wresize -- -5)

       wflip
	      Change from vertical layout to horizontal	and vice versa.

       wswap
	      Swap positions of	this and next frame.

   Movement Commands
       Movement	commands are used to move the cursor position.

       Several of these	commands also have -c and -l flags to  allow  creating
       character/line  selections.  These  2  flags  are  noted	in the command
       summaries below,	but are	only described once, as	follows:

       -c     Select characters

       -l     Select whole lines

       left [-c]
	      Move one column left.

       right [-c]
	      Move one column right.

       up [-c|-l]
	      Move one line up.

       down [-c|-l]
	      Move one line down.

       pgup [-c|-l]
	      Move one page up.

       pgdown [-c|-l]
	      Move one page down.

       blkup [-c|-l]
	      Move one block up.

	      Note: a  "block",	 in  this  context,  is	 somewhat  akin	 to  a
	      paragraph.  Blocks are delimited by one or more blank lines

       blkdown [-c|-l]
	      Move one block down.

       word-fwd	[-cs]
	      Move forward one word.

	      -s     Skip special characters

       word-bwd	[-cs]
	      Move backward one	word.

	      -s     Skip special characters

       bol [-c]	[-s|-t]
	      Move to beginning	of current line.

	      -s     Move  to beginning	of indented text or beginning of line,
		     depending on current cursor position

	      -t     Like -s, but with the additional behavior of moving  back
		     and forth between the two positions

       eol [-c]
	      Move to end of current line.

       bof [-c|-l]
	      Move to beginning	of file.

       eof [-c|-l]
	      Move to end of file.

       bolsf [-c|-l]
	      Incrementally  move  to  beginning  of  line,  then beginning of
	      screen, then beginning of	file.

       eolsf [-c|-l]
	      Incrementally move to end	of line, then end of screen, then  end
	      of file.

       scroll-up
	      Scroll  view  up	one  line.  Keeps cursor position unchanged if
	      possible.

       scroll-down
	      Scroll view down one line. Keeps cursor  position	 unchanged  if
	      possible.

       scroll-pgup
	      Scroll one page up. Cursor position relative to top of screen is
	      maintained. See also pgup.

       scroll-pgdown
	      Scroll  one page down. Cursor position relative to top of	screen
	      is maintained. See also pgdown.

       center-view
	      Center view to cursor.

       match-bracket
	      Move to the bracket character paired  with  the  one  under  the
	      cursor.	The  character	under  the  cursor  should  be	one of
	      {}[]()<>.

       line lineno[,colno]
	      Move the cursor to the  line  number  specified  by  lineno  and
	      (optionally) the column number specified by colno. The delimiter
	      between  the  two	 numbers  can either be	a comma	(,) or a colon
	      (:).

	      Examples:

		     line 19
		     line 20,15
		     line 20:15

       bookmark	[-r]
	      Save the current file/cursor location to a stack.

	      -r     Jump back to the previous location	(and pop  it  off  the
		     stack)

       tag [-r|tag]
	      Save the current file/cursor location to a stack and jump	to the
	      location	of  tag.  If  the  tag argument	is not given, the word
	      under the	cursor is used instead (unless -r is used).

	      The location for tag is determined by parsing a tags  file  from
	      the  current  directory, or any of its parent directories. These
	      files are	expected be encoded in ctags(1)	format.

	      -r     Jump back to the previous location	(and pop  it  off  the
		     stack)

	      Note:  the saving	of the cursor location described above is much
	      the same as running bookmark and tag -r is identical to bookmark
	      -r.

	      See also:	msg command.

       msg [-n|-p|number]
	      Display and/or navigate messages,	as generated  by  the  compile
	      and  tag	commands.  If  the activated message has an associated
	      file location, the file will be opened and the cursor  moved  to
	      the appropriate position.

	      If  no  -n  or  -p flag or number	argument is given, the current
	      message will be displayed.

	      -n     Next message

	      -p     Previous message

   Editing Commands
       cut
	      Cut current line or selection.

       copy [-bikp]
	      Copy current line	or selection.

	      -b     Copy to system clipboard

	      -i     Copy to internal copy buffer (this	is the default,	if  no
		     -bip flags	are used)

	      -k     Keep  selection  (by  default,  selections	are lost after
		     copying)

	      -p     Copy to system "primary selection"

	      Note  that  the  -b  and	-p  flags  depend  upon	 the  terminal
	      supporting "OSC 52" escape sequences. If the terminal lacks this
	      support,	these  flags will simply do nothing. OSC 52 sends data
	      over the wire, so	it can be used over  SSH  and  still  work  as
	      expected,	 unlike	 most  other  methods of copying to the	system
	      clipboard.

	      The -i, -b and -p	flags can be used together, to	allow  copying
	      to multiple targets in a single command. For example:

		     copy -ib

       paste [-m] [-a|-c]
	      Insert text previously copied by the copy	or cut commands.

	      If  the  text  to	 be  inserted  was  copied  from  a whole-line
	      selection	(e.g. down -l; copy) or	as a whole, single line	 (e.g.
	      unselect;	 copy)	the default behaviour is to insert the text at
	      the start	of the line below the cursor.

	      -a     Paste above the cursor (instead  of  below),  if  pasting
		     whole lines

	      -c     Always  paste  directly at	the cursor position, even when
		     pasting whole lines (instead of below/above the cursor)

	      -m     Move after	the pasted text

       undo
	      Undo latest change.

	      -m     Move to the change, without undoing it

       redo [choice]
	      Redo changes done	by the undo command.  If  there	 are  multiple
	      possibilities a message is displayed:

		     Redoing newest (2)	of 2 possible changes.

	      If  the  change  was  not	 the one you wanted, just run undo and
	      then, for	example, redo 1.

       clear
	      Clear current line.

	      -i     Do	not auto-indent	the line after clearing

       join
	      Join selection or	next line to current.

       new-line	[-a]
	      Insert empty line	below current line.

	      -a     Insert above current line,	instead	of below

       delete
	      Delete character after cursor (or	selection).

       erase
	      Delete character before cursor (or selection).

       delete-eol [-n]
	      Delete to	end of line.

	      -n     Delete newline if cursor is at end	of line

       erase-bol
	      Erase to beginning of line.

       delete-word [-s]
	      Delete word after	cursor.

	      -s     Be	more "aggressive"

       erase-word [-s]
	      Erase word before	cursor.

	      -s     Be	more "aggressive"

       delete-line
	      Delete current line.

       case [-l|-u]
	      Change text case.	The default is to change lower case  to	 upper
	      case and vice versa.

	      -l     Lower case

	      -u     Upper case

       insert [-k|-m] text
	      Insert text into the buffer.

	      -k     Insert  one  character  at	 a  time, as if	manually typed
		     (normally text is inserted	exactly	as specified, but this
		     option allows it to be affected by	special	input handling
		     like  auto-indents,  whitespace  trimming,	  line-by-line
		     undo, etc.)

	      -m     Move after	inserted text

       replace [-bcgi] pattern replacement
	      Replace	all  instances	of  text  matching  pattern  with  the
	      replacement text.

	      The pattern argument is a	POSIX extended regex(7).

	      The replacement argument is treated  like	 a  template  and  may
	      contain several, special substitutions:

	      	 Backslash sequences \1	through	\9 are replaced	by sub-strings
	      that were	"captured" (via	parentheses) in	the pattern.
	      	The special character &	is replaced by the  full  string  that
	      was matched by pattern.
	      	 Literal  \ and	& characters can be inserted in	replacement by
	      escaping them (as	\\ and \&).
	      	All other characters in	replacement represent themselves.

	      Note: extra care must be taken when using	double quotes for  the
	      pattern  argument,  since	double quoted arguments	have their own
	      (higher precedence) backslash sequences.

	      -b     Use basic instead of extended regex syntax

	      -c     Ask for confirmation before each replacement

	      -g     Replace all matches for each line (instead	 of  just  the
		     first)

	      -i     Ignore case

	      Examples:

		     replace 'Hello World' '& (Hallo Welt)'
		     replace "[	\t]+$" ''
		     replace -cg '([^ ]+) +([^ ]+)' '\2	\1'

       shift count
	      Shift  current  or  selected  lines by count indentation levels.
	      Count is usually -1 (decrease indent) or 1 (increase indent).

	      To specify a negative number, it's necessary  to	first  disable
	      option parsing with --, e.g. shift -- -1.

       wrap-paragraph [width]
	      Format  the  current selection or	paragraph under	the cursor. If
	      paragraph	width is not given then	the text-width option is used.

	      This command merges the selection	into one paragraph. To	format
	      multiple	paragraphs  use	 the  external fmt(1) program with the
	      filter command, e.g. filter fmt -w 60.

       select [-kl]
	      Enter selection mode. All	basic movement commands	while in  this
	      mode extend the selected area, until either the unselect command
	      is  used	(e.g.  by  pressing Esc) or some other operation (e.g.
	      delete, insert, etc.) clears the selection.

	      Note: A better way to create selections is to hold the Shift key
	      whilst moving the	cursor.	The select command exists mostly as  a
	      fallback,	for terminals with limited key binding support.

	      -k     Keep existing selections

	      -l     Select whole lines

       unselect
	      Cancel selection.

   External Commands
       exec [-pstmn] [-ioe action]... command [parameter]...
	      Execute  external	 command,  with	 custom	 actions  for standard
	      streams.	The -i,	-o and -e options  represent  standard	input,
	      output  and  error  respectively	and  each  one	can be given a
	      specific action, as described below.

	      The  following  action  arguments	 are  supported	 by  all  -ioe
	      options:

	      	null - redirect	to /dev/null
	      	tty - redirect to controlling terminal (default	action)

	      Actions for stdin	(-i):

	      	buffer - pipe selected text or whole buffer (to	command)
	      	line - pipe selected text or current line
	      	word - pipe selected text or current word
	      	command	- pipe command history
	      	search - pipe search history
	      	msg - pipe list	of numbered messages (see msg command)

	      Actions for stdout (-o):

	      	buffer - insert	output (from command) into buffer
	      	eval - execute output as dterc commands
	      	 msg  -	 run  msg  command with	numerical argument parsed from
	      first line of output
	      	open - run open	 command  with	each  line  of	output	as  an
	      argument
	      	tag - run tag command with first line of output	as an argument

	      Actions for stderr (-e):

	      	 errmsg	 -  if	command	 exits non-zero, display first line of
	      stderr output as an error	message

	      -i action
		     Specify standard input action

	      -o action
		     Specify standard output action

	      -e action
		     Specify standard error action

	      -p     Display "press any	key to continue" prompt

	      -s     Don't yield  terminal  control  to	 child	processes  and
		     transparently  convert  tty  actions to null (use this to
		     avoid screen flicker when command doesn't	need  terminal
		     access)

	      -t     Cancel the	effects	of -s (last one	wins)

	      -m     Move cursor after any inserted text

	      -n     Strip newline from	end of inserted	text

	      For  convenience,	there are several built-in aliases to simplify
	      common uses of exec:

		     alias filter 'exec	-s -i buffer -o	buffer -e errmsg'
		     alias pipe-from 'exec -s -o buffer	-e errmsg'
		     alias pipe-to 'exec -s -i buffer -e errmsg'
		     alias run 'exec'
		     alias eval	'exec -o eval'
		     alias exec-open 'exec -o open'
		     alias exec-tag 'exec -o tag'
		     alias exec-msg 'exec -o msg -i msg'

	      Examples:

		     filter sort -r
		     filter sh -c 'tr a-z A-Z |	sed s/foo/bar/'
		     pipe-to xsel -b
		     exec-open -s find . -type f -name *.h
		     exec-open -s git ls-files --modified
		     exec-open fzf -m --reverse
		     exec-tag -s echo main
		     exec-tag sh -c 'readtags -l | cut -f1 | sort | uniq | fzf --reverse'

	      Note that	command	is executed directly using execvp(3).  To  use
	      shell   features	 like	pipes  or  redirection,	 use  a	 shell
	      interpreter as the command (see second example above).

       compile [-1ps] errorfmt command [parameters]...
	      Run external command and collect output messages.	 This  can  be
	      used   to	  run  e.g.  compilers,	 build	systems,  code	search
	      utilities, etc. and then jump to a file/line position  for  each
	      message.

	      The  errorfmt  argument  corresponds  to a regex capture pattern
	      previously specified by  the  errorfmt  command.	After  command
	      exits  successfully,  parsed messages can	be navigated using the
	      msg command.

	      -1     Read error	messages from stdout instead of	stderr

	      -p     Display "Press any	key to continue" prompt

	      -s     Silent. Both stderr(3) and	stdout(3)  are	redirected  to
		     /dev/null

	      See also:	errorfmt and msg commands.

   Other Commands
       repeat count command [parameters]...
	      Run command count	times.

       toggle [-gv] option [values]...
	      Toggle  option.  If  list	of values is not given then the	option
	      must be either boolean or	enum.

	      -g     toggle global option instead of local

	      -v     display new value

	      If option	has both local and global values then local is toggled
	      unless -g	is used.

       show [-c] type [key]
	      Display current values for various configurable types.

	      The type argument	can be one of:

	      alias  Show command aliases

	      bind   Show key bindings

	      color  Show highlight colors

	      command
		     Show command history

	      env    Show environment variables

	      errorfmt
		     Show compiler error formats

	      ft     Show filetype associations

	      hi     Show highlight colors

	      include
		     Show built-in configs

	      macro  Show last recorded	macro

	      msg    Show messages

	      option Show option values	and automatic option entries

	      search Show search history

	      set    Show option values

	      setenv Show  environment	variables,  in	terms  of  the	setenv
		     command

	      wsplit Show window dimensions

	      The  key	argument is the	name of	the entry to look up (e.g. the
	      alias name). If this argument  is	 omitted,  the	full  list  of
	      entries of the specified type will be displayed in a new buffer.

	      Note:  the majority of type arguments correspond to a command of
	      the same name  and  some	type  arguments	 don't	take  any  key
	      argument.

	      -c     write   output   to  the  command	line  (for  most  type
		     arguments)	 or  to	 the  current  buffer  (when  type  is
		     errorfmt or include)

       macro action
	      Record and replay	command	macros.

	      The action argument can be one of:

	      record Begin recording

	      stop   Stop recording

	      toggle Toggle recording on/off

	      cancel Stop recording, without overwriting the previous macro

	      play   Replay the	previously recorded macro

	      Once a macro has been recorded, it can be	viewed in text form by
	      running show macro.

OPTIONS
       Options	can  be	 changed using the set command.	Enumerated options can
       also be toggled.	To see which options are enumerated, type "toggle " in
       command mode and	press the tab key. You can also	use the	option command
       to set default options for specific file	types.

   Global options
       case-sensitive-search [true]

	      false  Search is case-insensitive

	      true   Search is case-sensitive

	      auto   If	search string contains an uppercase letter  search  is
		     case-sensitive, otherwise it is case-insensitive

       display-special [false]
	      Display special characters.

       esc-timeout [100] 0...2000
	      When single escape is read from the terminal dte waits some time
	      before  treating	the  escape  as	a single keypress. The timeout
	      value is in milliseconds.

	      Too long timeout makes  escape  key  feel	 slow  and  too	 small
	      timeout  can cause escape	sequences of for example arrow keys to
	      be split and treated as multiple key presses.

       filesize-limit [250]
	      Refuse to	open any file with a size larger than this  value  (in
	      mebibytes).  Useful  to  prevent accidentally opening very large
	      files, which can take a long time	on some	systems.

       lock-files [true]
	      Keep a record of open files, so that a warning can be  shown  if
	      the same file is accidentally opened in multiple dte processes.

	      See also:	the FILES section in the dte(1)	man page.

       newline [unix]
	      Whether  to  use	LF  (unix) or CRLF (dos) line-endings in newly
	      created files.

	      Note: buffers opened from	existing files will have their newline
	      type detected automatically.

       optimize-true-color [true]
	      If set to	true,  this  option  will  cause  the  hi  command  to
	      automatically  replace 24-bit #RRGGBB colors with	palette	colors
	      16-255, but only if there's  an  exact  color  match  among  the
	      default, extended	palette	colors.

	      This  allows  defining  color  schemes in	#RRGGBB	notation while
	      still sending the	 shortest  possible  escape  sequence  to  the
	      terminal.

	      Note:  this optimization only works if the terminal has not been
	      configured with custom values for	colors	16-255.	 If  you  have
	      changed  these  extended	palette	 colors,  you  should set this
	      option to	false.

       select-cursor-char [true]
	      Whether to include the character under the cursor	in selections.

       scroll-margin [0]
	      Minimum number of	lines to keep visible before and after cursor.

       set-window-title	[false]
	      Set the window title to the filename of the current  buffer  (if
	      the terminal supports it).

       show-line-numbers [false]
	      Show line	numbers.

       statusline-left [" %f%s%m%s%r%s%M"]
	      Format string for	the left aligned part of status	line.

	      %f     Filename

	      %m     Prints * if file has been modified	since last save

	      %r     Prints  RO	 for  read-only	 buffers  or TMP for temporary
		     buffers

	      %y     Cursor row

	      %Y     Total rows	in file

	      %x     Cursor display column

	      %X     Cursor column as characters. If it	 differs  from	cursor
		     display column then both are shown	(e.g. 2-9)

	      %p     Position in percentage

	      %E     File encoding

	      %b     Prints BOM	if file	has a byte order mark

	      %M     Miscellaneous status information

	      %n     Line-ending (LF or	CRLF)

	      %N     Line-ending (only if CRLF)

	      %s     Separator	(a  single  space, unless the preceding	format
		     character expanded	to an empty string)

	      %S     Like %s, but 3 spaces instead of 1

	      %t     File type

	      %u     Hexadecimal Unicode value value of	character under	cursor

	      %o     Prints  OVR  or  INS  for	overwrite  mode	 on   or   off
		     respectively

	      %%     Literal %

       statusline-right	[" %y,%X %u %o %E%s%b%s%n %t %p	"]
	      Format string for	the right aligned part of status line.

       tab-bar [true]
	      Whether to show the tab-bar at the top of	each window.

       utf8-bom	[false]
	      Whether  to write	a byte order mark (BOM)	in newly created UTF-8
	      files.

	      Note: buffers opened from	existing UTF-8 files will  have	 their
	      BOM  (or lack thereof) preserved as it was, unless overridden by
	      the save command.

   Local options
       brace-indent [false]
	      Scan for { and } characters when calculating  indentation	 size.
	      Depends on the auto-indent option.

       filetype	[none]
	      Type  of	file. Value must be previously registered using	the ft
	      command.

       indent-regex [""]
	      If this regex(7) pattern matches the current line	when enter  is
	      pressed  and  auto-indent	is true	then indentation is increased.
	      Set to ""	to disable.

   Local and global options
       The global values for these options serve as  the  default  values  for
       local (per-file)	options.

       auto-indent [true]
	      Automatically    insert	indentation   when   pressing	enter.
	      Indentation is copied from previous non-empty line. If also  the
	      indent-regex   local   option   is   set	 then  indentation  is
	      automatically  increased	if  the	 regular  expression   matches
	      current line.

       detect-indent [""]
	      Comma-separated	list   of   indent   widths  (1-8)  to	detect
	      automatically when a file	is opened. Set to "" to	 disable.  Tab
	      indentation  is  detected	 if  the  value	is not "". Adjusts the
	      following	options	if indentation style is	detected: emulate-tab,
	      expand-tab, indent-width.

	      Example:

		     set detect-indent 2,3,4,8

       emulate-tab [false]
	      Make delete, erase and moving left and right inside  indentation
	      feel as if there were tabs instead of spaces.

       expand-tab [false]
	      Convert tab to spaces on insert.

       file-history [true]
	      Save and restore cursor positions	for previously opened files.

	      See also:	the FILES section in the dte(1)	man page.

       indent-width [8]
	      Size of indentation in spaces.

       overwrite [false]
	      If set to	true, typing will overwrite existing characters	within
	      current line instead of inserting	before them.

       syntax [true]
	      Use syntax highlighting.

       tab-width [8]
	      Width  of	 tab.  Recommended  value  is  8.  If  you  use	 other
	      indentation size than 8 you should use spaces to indent.

       text-width [72]
	      Preferred	width of text. Used as the default  argument  for  the
	      wrap-paragraph command.

       ws-error	[special]
	      Comma-separated  list  of	 flags	that describe which whitespace
	      errors should be highlighted. Set	to "" to disable.

	      auto-indent
		     If	the expand-tab option is enabled then this is the same
		     as	tab-after-indent,tab-indent. Otherwise it's  the  same
		     as	space-indent.

	      space-align
		     Highlight	spaces used for	alignment after	tab indents as
		     errors.

	      space-indent
		     Highlight space indents as	errors.	Note that  this	 still
		     allows  using  less  than	tab-width spaces at the	end of
		     indentation for alignment.

	      tab-after-indent
		     Highlight tabs used anywhere other	 than  indentation  as
		     errors.

	      tab-indent
		     Highlight	tabs in	indentation as errors. If you set this
		     you most likely want to set "tab-after-indent" too.

	      special
		     Display all characters that look like  regular  space  as
		     errors.   One  of	these  characters  is  no-break	 space
		     (U+00A0), which is	often accidentally typed  (AltGr+space
		     in	some keyboard layouts).

	      trailing
		     Highlight	trailing  whitespace  characters at the	end of
		     lines as errors.

SEE ALSO
       dte(1), dte-syntax(5)

AUTHORS
       Craig Barnes
       Timo Hirvonen

				 December 2022			      DTERC(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dterc&sektion=5&manpath=FreeBSD+Ports+15.0.quarterly>

home | help