<< Keyboard shortcuts | Pages | FAQ >>

List and descriptions of functions in pmwiki-mode

This page lists and describes the functions in pmwiki-mode. In Emacs, type C-h f and then the function's name to get help for that function. Actually, most of the contents was semi-automatically generated by simply extracting the documentation from within Emacs, see extracting documentation.

Description of interactive commands

Below is a list of the interactive commands in pmwiki-mode, i.e. the commands that you can execute using a keyboard shortcut or by typing M-x and the command name.


Goto the previous WikiWord or free link.


Goto the next WikiWord or free link.


Goto (open) the page pointed to by the PmWiki-link at point.

pmwiki-open (NAME)

Open a page specified by NAME from the current wiki engine, or open page specified by a URI.


Save the current buffer to the wiki.

pmwiki-save-as (NAME)

Save current buffer to a specific page on a wiki. This also changes pmwiki-page-uri, so future saves also goes to this page. The argument NAME can be either a name (= <group>.<page>) or an URI. An URI must begin with 'http'.

pmwiki-browse (BUF)

Open the buffer BUF in a browser. If BUF is not given, the current buffer is used.


Generate "site-map" with all groups and pages. The function uses `pmwiki-search'.

pmwiki-search (TEXT LINK BASE-URI ...)

Search the wiki site of the current buffer for TEXT.

Optionally, LINK specifies the 'current' page and BASE-URI the site address. See `http-get' for more information on the other arguments.


Reload the current page from the wiki engine.

pmwiki-delete (NAME)

Delete page from the current wiki engine, specified by NAME which can be empty (current buffer), a page name or a URI.

pmwiki-rename (NEW-NAME)

Save current buffer under a new name and delete the original page.


Open page NAME from the LyX wiki (or a page specified by an URI).

Ex: 'Main.WikiSandbox' will open the page

Note when NAME is an URI, the page doesn't have to belong to the LyX wiki.


Save buffer to a certain <group>.<page> (=NAME) at the LyX wiki.


Browse the PmWiki WikiWikiWeb. Ex: 'Main.WikiSandbox' will open a page from

Description of variables

The variables in pmwiki-mode.el are listed below. To describe a variable, type C-h v and the name of the variable.

Indicates if XEmacs (t) or Emacs (nil) is used
Indicates if Emacs (t) or XEmacs (nil) is used
Pattern of a valid group name (for PmWiki)
Pattern that defines a WikiWord in a PmWiki-page.
Pattern of a valid page name (for PmWiki)
Pattern matching 'http:' (case insensitive) at the beginning of a string.
This pattern is used on `pmwiki-page-uri' to extract various parts. The parts matches "<baseURI>/<group>/<page>?". where 1 - <baseURI>, 2 - <group> and 3 - <page>. The parts of the pattern are derived from `pmwiki-groupname-pattern' and `pmwiki-pagetitle-pattern'.
This alternative pattern is used on `pmwiki-page-uri' to extract various parts. The parts matches "<baseURI>?pagename=<group>/<page>?". where 1 - <baseURI>, 2 - <group> and 3 - <page>. The parts of the pattern are derived from `pmwiki-groupname-pattern' and `pmwiki-pagetitle-pattern'.
Pattern that defines an appended #-target to a page.
The pattern used for finding WikiWords.
Pattern for PmWiki style tags.
URI to sandbox at
Default URI used by some interactive functions
Default URI used by `pmwiki-open-uri'.
Base URI of the Lyx Wiki site.
URI for the home page of the Lyx Wiki site.
The URI of the page corresponding to the current buffer, thus defining the base URI of the wiki engine as well as group and page name.
Specifies the function used to save a PmWiki-buffer.
Fill column width for `pmwiki-mode'.

Extracting documentation

The source lisp for Emacs is self-documenting in the sense that both variables and functions allow you to attach a documentation string. This documentation string for a function can be extracted by evaluating (type M-: to evaluate an expression):

	(insert (documentation 'pmwiki-prev))

and similarly for a variable:

	(insert (documentation-property 'pmwiki-link-pattern 'variable-documentation))

See [(approve links) edit diff] [] for more details.

Note: A special markup is used within these strings, e.g. `' is used to quote symbols (functions or variables), so maybe it'd be a good idea to automatically replace e.g. `pmwiki-prev' with [[#pmwiki-prev pmwiki-prev]].