GNU ELPA - xeft


Deft feat. Xapian
xeft-3.3.tar (.sig), 2024-Apr-24, 100 KiB
Yuan Fu <>
Atom feed
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use package-install or list-packages.

Full description


Type M-x xeft RET, and you should see the Xeft buffer. Type in your
search phrase in the first line and the results will show up as you
type. Press C-n and C-p to go through each file. You can preview a
file by pressing SPC when the point is on a file, or click the file
with the mouse. Press RET to open the file in the same window.

Type C-c C-g to force a refresh. When point is on the search
phrase, press RET to create a file with the search phrase as
the filename and title.

Note that:

1. Xeft only looks for first-level files in ‘xeft-directory’. Files
   in sub-directories are not searched unless ‘xeft-recursive’ is

2. Xeft creates a new file by using the search phrase as the
   filename and title. If you want otherwise, redefine
   ‘xeft-create-note’ or ‘xeft-filename-fn’.

3. Xeft saves the current window configuration before switching to
   Xeft buffer. When Xeft buffer is killed, Xeft restores the saved
   window configuration.

On search queries:

Since Xeft uses Xapian, it supports the query syntax Xapian

AND, NOT, OR, XOR and parenthesizes

+word1 -word2      which matches documents that contains word1 but not

word1 NEAR word2   which matches documents in where word1 is near

word1 ADJ word2    which matches documents in where word1 is near word2
                   and word1 comes before word2

"word1 word2"      which matches exactly “word1 word2”

Xeft deviates from Xapian in one aspect: consecutive phrases have
implied “AND” between them. So "word1 word2 word3" is actually seen
as "word1 AND word2 AND word3". See ‘xeft--tighten-search-phrase’
for how exactly is it done.

See for Xapian’s official
documentation on query syntax.

Further customization:

You can customize the following faces

- `xeft-selection'
- `xeft-inline-highlight'
- `xeft-preview-highlight'
- `xeft-excerpt-title'
- `xeft-excerpt-body'

Functions you can customize to alter Xeft’s behavior:

- `xeft-filename-fn': How does Xeft create new files from search

- `xeft-file-filter': Which files does Xeft include/exclude from

- `xeft-directory-filter': When `xeft-recursive' is t, which
  sub-directories does Xeft include/exclude from indexing.

- `xeft-title-function': How does Xeft find the title of a file.

- `xeft-file-list-function': If `xeft-file-filter' and
  `xeft-directory-filter' are not flexible enough, this function
  gives you ultimate control over which files to index.

Old versions

xeft-3.2.tar.lz2023-Jan-1417.2 KiB