xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit b7b6d08e5e7cef2b5a383d3c1bcab40e59d84bb3

Fix :open not being highlighted inside mappings
Author: xaizek
Author date (UTC): 2026-03-04 19:07
Committer name: xaizek
Committer date (UTC): 2026-03-04 19:07
Parent(s): 5766b4dfa55a56e4ee7b9546f89c24d92b74d368
Signing key: 99DC5E4DB05F6BE2
Tree: 42c286d0f82ea67d4bdba8427e51cd30d89a34a8
File Lines added Lines deleted
data/vim/syntax/vifm.vim 2 2
tests/test-data/syntax-highlight/syntax.vifm 3 0
File data/vim/syntax/vifm.vim changed (mode: 100644) (index a1433b583..5621b109f)
1 1 " vifm syntax file " vifm syntax file
2 2 " Maintainer: xaizek <xaizek@posteo.net> " Maintainer: xaizek <xaizek@posteo.net>
3 " Last Change: December 20, 2025
3 " Last Change: March 4, 2026
4 4 " Inspired By: Vim syntax file by Dr. Charles E. Campbell, Jr. " Inspired By: Vim syntax file by Dr. Charles E. Campbell, Jr.
5 5
6 6 if exists('b:current_syntax') if exists('b:current_syntax')
 
... ... syntax keyword vifmCommandCN contained
32 32 \ di[splay] dirs e[dit] el[se] empty en[dif] exi[t] file fin[d] fini[sh] \ di[splay] dirs e[dit] el[se] empty en[dif] exi[t] file fin[d] fini[sh]
33 33 \ go[to] gr[ep] h[elp] hideui histnext his[tory] histprev keepsel jobs \ go[to] gr[ep] h[elp] hideui histnext his[tory] histprev keepsel jobs
34 34 \ locate ls lstrash marks media mes[sages] mkdir m[ove] noh[lsearch] \ locate ls lstrash marks media mes[sages] mkdir m[ove] noh[lsearch]
35 \ on[ly] plugin plugins popd pushd pu[t] pw[d] qa[ll] q[uit] redr[aw]
35 \ on[ly] o[pen] plugin plugins popd pushd pu[t] pw[d] qa[ll] q[uit] redr[aw]
36 36 \ rege[dit] reg[isters] regular rename restart restore rlink screen sh[ell] \ rege[dit] reg[isters] regular rename restart restore rlink screen sh[ell]
37 37 \ siblnext siblprev sor[t] sp[lit] st[op] s[ubstitute] tabc[lose] tabm[ove] \ siblnext siblprev sor[t] sp[lit] st[op] s[ubstitute] tabc[lose] tabm[ove]
38 38 \ tabname tabnew tabn[ext] tabo[nly] tabp[revious] touch tr trashes tree \ tabname tabnew tabn[ext] tabo[nly] tabp[revious] touch tr trashes tree
File tests/test-data/syntax-highlight/syntax.vifm changed (mode: 100644) (index c4f8be768..17bedb394)
... ... nnoremap az : if expand('%c') == expand('%f')
9 9 \ | endif \ | endif
10 10 \ | normal j<cr> \ | normal j<cr>
11 11
12 " "open" should be highlighted as a :command
13 nnoremap az :open
14
12 15 " both occurrences of "<cr>" should be highlighted as angle bracket notation " both occurrences of "<cr>" should be highlighted as angle bracket notation
13 16 nnoremap bb :marks<cr><cr> nnoremap bb :marks<cr><cr>
14 17
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master