aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2016-11-09 13:49:07 +0200
committerEfraim Flashner <efraim@flashner.co.il>2016-11-09 20:56:36 +0200
commit65dccb3a86c110fab922f9106afcf2686b60b96e (patch)
tree3e6ef33f98ff0f1c8f6aa0b8bad135f951d1630b
parent0b34b58688ac0d9bc0e2700acf82269e67ccdfa3 (diff)
downloadguix-65dccb3a86c110fab922f9106afcf2686b60b96e.tar.gz
guix-65dccb3a86c110fab922f9106afcf2686b60b96e.zip
gnu: Add vifm.
* gnu/packages/vim.scm (vifm): New variable.
-rw-r--r--gnu/packages/vim.scm60
1 files changed, 60 insertions, 0 deletions
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 172d6105bb..1cc895e561 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -31,6 +31,7 @@
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -147,3 +148,62 @@ configuration files.")
("ruby" ,ruby)
("tcl" ,tcl)
,@(package-inputs vim)))))
+
+(define-public vifm
+ (package
+ (name "vifm")
+ (version "0.8.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/vifm/vifm/vifm-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "07r15kq7kjl3a41sd11ncpsii866xxps4f90zh3lv8jqcrv6silb"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'patch-source-shebangs 'patch-test-shebangs
+ (lambda _
+ (substitute* (find-files "tests" "\\.c$")
+ (("/bin/sh") (which "sh")))
+ #t)))))
+ (native-inputs
+ `(("groff" ,groff) ; for the documentation
+ ("perl" ,perl)))
+ (inputs
+ `(("libx11" ,libx11)
+ ("ncurses" ,ncurses)))
+ (home-page "http://vifm.info/")
+ (synopsis "Flexible vi-like file manager using ncurses")
+ (description "Vifm is a file manager providing a @command{vi}-like usage
+experience. It has similar keybindings and modes (e.g. normal, command line,
+visual). The interface uses ncurses, thus vifm can be used in text-only
+environments. It supports a wide range of features, some of which are known
+from the @command{vi}-editor:
+@enumerate
+@item utf8 support
+@item user mappings (almost like in @code{vi})
+@item ranges in command
+@item line commands
+@item user defined commands (with support for ranges)
+@item registers
+@item operation undoing/redoing
+@item fuse file systems support
+@item trash
+@item multiple files renaming
+@item support of filename modifiers
+@item colorschemes support
+@item file name color according to file type
+@item path specific colorscheme customization
+@item bookmarks
+@item operation backgrounding
+@item customizable file viewers
+@item handy @code{less}-like preview mode
+@item filtering out and searching for files using regular expressions
+@item one or two panes view
+@end enumerate
+With the package comes a plugin to use vifm as a vim file selector.")
+ (license license:gpl2+)))