Skip to content

jubalh/vifm

 
 

Repository files navigation

Vifm - vi[m] like file manager
2001 - 2015

Updated: 28 March, 2015
Version: 0.7.8

Brief Description

    Vifm is a two panel ncurses based vi[m] like file manager. If you use vi,
    vifm gives you complete keyboard control over your files without having
    to learn a new set of commands. It goes not just about vi[m] like
    keybindings, but also about modes, options, registers, commands and other
    things you might already like in vi[m].

    Just like vi vifm tries to adhere to the Unix philosophy. So instead of
    working solutions user is provided with a set of means for customization
    of vifm. Though builtin functionality should be enough for most of use
    cases.

Contacts

    Website: http://vifm.info/
    Wiki: http://wiki.vifm.info/
    Read-only news mailing list: vifm-announce@lists.sourceforge.net
    Email for bugs, suggestions and comments on vifm: xaizek@openmailbox.org

    Subscribe to the mailing list at:
    https://lists.sourceforge.net/lists/listinfo/vifm-announce

    Repositories:
    SorceForge: http://sourceforge.net/projects/vifm/
    GitHub: https://github.com/vifm/vifm

    Vim plugin repositories:
    GitHub: https://github.com/vifm/vifm.vim

Package content

    .
    |
    |-- data/ - documentation, sample vifmrc, icons
    |  |
    |  |-- colors/ - sample color schemes
    |  |-- graphics/ - icons
    |  `-- vim/ - plugin for Vim
    |
    |-- patches/ - patches for software vifm depends on
    |
    |-- pkgs/ - package build-scripts
    |
    |-- src/ - the source code of vifm
    |  |
    |  |-- cfg/ - code related to configuration
    |  |  |
    |  |  |-- config.c - reads scripts and manages configuration
    |  |  |-- hist.c - convenient history list abstraction
    |  |  `-- info.c - read and write vifminfo
    |  |
    |  |-- compat/ - implementation of features that are missing on some OSes
    |  |  |
    |  |  |-- getopt.c - part of glibc to have getopt_long() everywhere
    |  |  |-- getopt1.c - getopt.c public interface implementation.
    |  |  |-- os.c - very thin abstraction layer over basic OS facilities
    |  |  `-- wcwidth.c - wcwidth() and wcswidth() implementation for Windows
    |  |
    |  |-- engine/ - the core of vi[m]-like functionality
    |  |  |
    |  |  |-- private/ - private headers of the engine
    |  |  |-- abbrevs.c - implementation of abbreviations
    |  |  |-- cmds.c - command line parsing core
    |  |  |-- completion.c - provides means to fill and get completion list
    |  |  |-- functions.c - provides support for builtin functions
    |  |  |-- keys.c - analyzes users input
    |  |  |-- mode.c - generic mode related routines
    |  |  |-- options.c - :set command
    |  |  |-- parsing.c - parses expressions
    |  |  |-- var.c - all needed to work with variables
    |  |  `-- variables.c - handles :let and :unlet commands
    |  |
    |  |-- io/ - file system operations implementation
    |  |  |
    |  |  |-- private/ - internal part of i/o
    |  |  |  |
    |  |  |  |-- ioeta.c - internal part of i/o estimations
    |  |  |  |-- ionotif.c - internal part of i/o notifications
    |  |  |  `-- traverser.c - file system traversing routine
    |  |  |
    |  |  |-- ioeta.c - i/o estimations management
    |  |  |-- iop.c - implementation of i/o primitive
    |  |  `-- ior.c - implementation of recursive i/o operations
    |  |
    |  |-- menus/ - implementation of all menus
    |  |  |
    |  |  |-- apropos_menu.c - handles :apropos menu
    |  |  |-- bookmarks_menu.c - handles :marks menu
    |  |  |-- cabbrevs_menu.c - handles :cabbrev and :cnoreabbrev menus
    |  |  |-- colorscheme_menu.c - handles :colorscheme menu
    |  |  |-- commands_menu.c - handles :command menu
    |  |  |-- dirhistory_menu.c - handles :history menu
    |  |  |-- dirstack_menu.c - handles :dirs menu
    |  |  |-- filetypes_menu.c - handles :file menu
    |  |  |-- find_menu.c - handles :file menu
    |  |  |-- grep_menu.c - hanldes :grep menu
    |  |  |-- history_menu.c - handles :history command menus except directory
    |  |  |                    history
    |  |  |-- jobs_menu.c - handles :jobs menu
    |  |  |-- locate_menu.c - handles :locale menu
    |  |  |-- trash_menu.c - handles :lstrash menu
    |  |  |-- trashes_menu.c - handles :trashes menu
    |  |  |-- map_menu.c - handles :map menu
    |  |  |-- menus.c - handles all kinds of menus
    |  |  |-- registers_menu.c - handles :registers menu
    |  |  |-- undolist_menu.c - handles :undolist menu
    |  |  |-- users_menu.c - handles menus created by %m or %M macros
    |  |  |-- vifm_menu.c - handles :vifm (or :version) menu
    |  |  `-- volumes_menu.c - handles :volumes menu on MS Windows systems
    |  |
    |  |-- modes/ - implementation of all modes
    |  |  |
    |  |  |-- dialogs/ - dialog modes
    |  |  |  |
    |  |  |  |-- attr_dialog_nix.c - file permissions dialog for *nix systems
    |  |  |  |-- attr_dialog_win.c - file properties dialog for MS Windows
    |  |  |  |                       systems
    |  |  |  |-- change_dialog.c - change dialog
    |  |  |  |-- msg_dialog.c - information/error/prompt messages
    |  |  |  `-- sort_dialog.c - dialog to choose sort type
    |  |  |
    |  |  |-- cmdline.c - command line mode
    |  |  |-- file_info.c - Control+G
    |  |  |-- menu.c - handles commands in menus
    |  |  |-- modes.c - general code (e.g. before and after key pressed) for
    |  |  |             modes
    |  |  |-- normal.c - normal mode commands
    |  |  |-- view.c - view mode commands
    |  |  `-- visual.c - implementation of visual mode commands
    |  |
    |  |-- ui/ - most of ui related code
    |  |  |
    |  |  |-- private/ - internal headers of ui
    |  |  |-- cancellation.c - managing operation cancellation
    |  |  |-- statusbar.c - managing status bar
    |  |  |-- statusline.c - status line formatting
    |  |  `-- ui.c - ui initialization and other ui related functions
    |  |
    |  |-- utils/ - miscellaneous utility functions
    |  |  |
    |  |  |-- env.c - environment variables related functions
    |  |  |-- fs.c - functions to deal with file system objects
    |  |  |-- file_streams.c - file stream reading related functions
    |  |  |-- filemon.c - file monitoring "object"
    |  |  |-- filter.c - small abstraction over filter driven by a regexp
    |  |  |-- int_stack.c - int stack "object"
    |  |  |-- log.c - primitive logging
    |  |  |-- mntent.c - compatibility file for FreeBSD-like systems
    |  |  |-- path.c - various functions to work with paths
    |  |  |-- str.c - various string functions
    |  |  |-- string_array.c - functions to work with arrays of strings
    |  |  |-- tree.c - cache for ga command results
    |  |  |-- utf8.c - functions to handle utf8 strings
    |  |  |-- utils.c - various utilities
    |  |  |-- utils_nix.c - various utilities for *nix systems
    |  |  `-- utils_win.c - various utilities for MS Windows
    |  |
    |  |-- args.c - command-line arguments parsing and processing
    |  |-- background.c - runs commands in background
    |  |-- bookmarks.c - stores information about bookmarked directories
    |  |-- bracket_notation.c - list of bracket notation entries
    |  |-- color_manager.c - manager of curses color pairs
    |  |-- color_scheme.c - color schemes
    |  |-- column_view.c - column formatting unit
    |  |-- commands.c - handles command line commands
    |  |-- commands_completion.c - handles command line completion
    |  |-- desktop.c - code that parses *.desktop files on *nix systems
    |  |-- escape.c - escape sequences related stuff
    |  |-- event_loop.c - event dispatching loop
    |  |-- dir_stack.c - for :pushd and :popd commands
    |  |-- file_magic.c - determines programs associated with file using its
    |  |                  mime-type
    |  |-- filelist.c - fill/update list of files
    |  |-- filename_modifiers.c - expands filename modifiers
    |  |-- fileops.c - delete/copy/put selected file(s)
    |  |-- filetype.c - stores filetype information from vifmrc
    |  |-- fileview.c - display/redraw/manage file view
    |  |-- filtering.c - managing file filters
    |  |-- fuse.c - provides support of FUSE filesystems
    |  |-- globals.c - provides support of globals
    |  |-- ipc.c - handles communication across instances of vifm
    |  |-- macros.c - code of macros expansion
    |  |-- ops.c - most of operations performed on file system
    |  |-- opt_handlers.c - initialization of options and option change handlers
    |  |-- quickview.c - implementation of quick view
    |  |-- registers.c - implementation of registers
    |  |-- running.c - code of handing file and commands running
    |  |-- path_env.c - parses and modifies PATH environment variables
    |  |-- search.c - code for / and ? commands of normal mode
    |  |-- signals.c - handlers for different signals
    |  |-- sort.c - sort function
    |  |-- status.c - definition of global status structure
    |  |-- tags.c - tags for :h completion
    |  |-- term_title.c - implementation of support of terminal title changing
    |  |-- trash.c - code that handles list of files in trash
    |  |-- types.c - internal file type detection and conversions
    |  |-- undo.c - stores and handles the undo list
    |  |-- version.c - git hash and other version information
    |  |-- viewcolumns_parser.c - contains code for parsing 'viewcolumns' option
    |  |-- vifm.c - contains main initialization/termination code
    |  |-- vifmrc-converter.c - converter for vifmrc, vifminfo and colorscheme
    |  |                        files
    |  |-- vim.c - contains Vim integration functionality
    |  `-- win_helper.c - needed for temporary rights evaluation on Windows
    |
    |-- tests/ - unit tests
    |
    |-- AUTHORS - list of code contributors
    |-- BUGS - some of known issues
    |-- ChangeLog - list of changes
    |-- FAQ - some common questions
    |-- INSTALL - building instructions
    |-- NEWS - like the ChangeLog, but in more human-readable format
    |-- README - this file
    |-- THANKS - thanks to people that help to improve vifm
    `-- TODO - what still needs to be implemented

About

Vifm is an ncurses based file manager with vi like key bindings, which also borrows some useful ideas from mutt.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 90.6%
  • Roff 5.7%
  • Shell 1.9%
  • Vim Script 1.1%
  • Perl 0.5%
  • Makefile 0.1%
  • C++ 0.1%