Coder Social home page Coder Social logo

vifm / vifm Goto Github PK

View Code? Open in Web Editor NEW
2.7K 55.0 119.0 50.35 MB

Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.

Home Page: https://vifm.info

License: GNU General Public License v2.0

Shell 1.46% C 89.52% Perl 0.23% Makefile 2.68% CSS 0.14% M4 0.93% Roff 3.48% Python 0.05% Lua 0.81% Vim Script 0.71%
c curses ncurses file-manager file-management vi-like terminal-based cross-platform console-application gpl

vifm's Introduction

Vifm – Vim-like file manager

Vifm logo

      

Latest release is 0.13. This file last updated on 04 April 2023.

Brief Description

Vifm is a curses based Vim-like file manager extended with some useful ideas from mutt. If you use Vim, Vifm gives you complete keyboard control over your files without having to learn a new set of commands. It goes not just about Vim-like keybindings, but also about modes, options, registers, commands and other things you might already like in Vim.

Just like Vim, Vifm tries to adhere to the Unix philosophy. So instead of working solutions which are set in stone user is provided with a set of means for customization of Vifm to one's likings. Though builtin functionality should be enough for most of use cases.

Resources and Contacts

Usage Link
Website https://vifm.info/
Wiki https://wiki.vifm.info/
Q & A https://q2a.vifm.info/

Communication

Reason Channel
Bugs & Feature Requests GitHub, SourceForge or via email
Preferred place for asking usage questions Posting on the Q&A site
Read-only and very low traffic news mailing list vifm-announce

Other resources

Usage Where to find
Repositories GitHub and SourceForge
Vim Plugin Repository
Colorschemes (maintained) Repository and colorscheme-previews
Devicons/favicons [1], [2]
vifmimg (image preview) Repository (using überzug to display the images)
sixel image preview Repository (for Sixel-capable terminals)

Screenshots

Screenshot Screenshot

Getting Started

A good idea for quick start might be skimming over cheatsheet for the main mode (that is Normal mode), reading some sections on basic usage on the wiki and looking at sample configuration file (run :edit $MYVIFMC).

License

GNU General Public License, version 2 or later.

vifm's People

Contributors

alborzjafari avatar aleksejrs avatar cosminadrianpopescu avatar d-e-s-o avatar dacyberduck avatar dimonomid avatar dmlemos avatar haolian9 avatar iamkapuze avatar jonathandasilva avatar jubalh avatar ksteen avatar larryhynes avatar m7a avatar mahor1221 avatar maxigaz avatar mb720 avatar mckellygit avatar nobodyatandnothing avatar onovy avatar oo- avatar presfil avatar qadzek avatar qsmodo avatar rbong avatar tornaxo7 avatar vadimcurca avatar xaizek avatar zhipengxue97 avatar zsugabubus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vifm's Issues

Colours for different file extensions

Hi,

Are there any plans to enhance colour schemes so files can be coloured based on their extension (rather than just Directory, Link, Broken Link, Socket, Device, Executable and Fifo)? This would mean the directory list in vifm could be consistent with the output from ls -l. Currently, my ls -l looks much nicer than the file list in vifm.

If vifm was able to read the colour scheme directly from .dir_colors, that would be great!

Thanks,
Michael

crashes on enterint to directory shared from VirtualBox

Program received signal SIGSEGV, Segmentation fault.

format_entry_name (view=<optimized out>, pos=<optimized out>, buf_len=1026, buf=0x7fff8ea62de0 "\001") at ui.c:1819
1819            const char prefix[2] = { cfg.decorations[type][DECORATION_PREFIX] };
(gdb) bt
#0  format_entry_name (view=<optimized out>, pos=<optimized out>, buf_len=1026, buf=0x7fff8ea62de0 "\001") at ui.c:1819
#1  0x0000000000429946 in columns_format_line (cols=0x1780700, data=data@entry=0x7fff8ea63240, max_line_width=104) at column_view.c:277
#2  0x0000000000433efc in draw_dir_list (view=view@entry=0x693bc0 <lwin>) at filelist.c:1005
#3  0x0000000000435748 in load_dir_list (view=view@entry=0x693bc0 <lwin>, reload=reload@entry=0) at filelist.c:2629
#4  0x0000000000435847 in navigate_to (view=view@entry=0x693bc0 <lwin>, path=path@entry=0x1a68980 "Support/") at filelist.c:1995
#5  0x000000000044357b in handle_dir (view=view@entry=0x693bc0 <lwin>) at running.c:722
#6  0x00000000004443fd in run_file (dont_execute=<optimized out>, view=<optimized out>) at running.c:398
#7  run_selection (dont_execute=<optimized out>, view=<optimized out>) at running.c:319
#8  handle_file (view=0x693bc0 <lwin>, dont_execute=0, force_follow=<optimized out>) at running.c:130
#9  0x000000000041d144 in cmd_ctrl_m (key_info=..., keys_info=<optimized out>) at modes/normal.c:588
#10 0x000000000040c36a in execute_mapping_handler (info=0x1a59e08, keys_info=0x7fff8ea676f0, key_info=...) at engine/keys.c:1012
#11 run_cmd (key_info=..., keys_info=keys_info@entry=0x7fff8ea676f0, curr=curr@entry=0x1a59df0, keys=<optimized out>) at engine/keys.c:458
#12 0x000000000040c6d8 in execute_next_keys (curr=curr@entry=0x1a59df0, keys=keys@entry=0x688b24 <buf+4> L"", key_info=key_info@entry=0x7fff8ea67650, keys_info=keys_info@entry=0x7fff8ea676f0, 
    has_duplicate=<optimized out>, no_remap=no_remap@entry=0) at engine/keys.c:447
#13 0x000000000040ca65 in execute_keys_loop (keys=0x688b24 <buf+4> L"", keys@entry=0x688b20 <buf> L"\r", keys_info=keys_info@entry=0x7fff8ea676f0, root=0x1a59320, key_info=..., no_remap=no_remap@entry=0)
    at engine/keys.c:368
#14 0x000000000040cc05 in execute_keys_inner (keys=keys@entry=0x688b20 <buf> L"\r", keys_info=keys_info@entry=0x7fff8ea676f0, no_remap=no_remap@entry=0, prev_count=prev_count@entry=-1) at engine/keys.c:279
#15 0x000000000040cd0d in execute_keys_general (keys=keys@entry=0x688b20 <buf> L"\r", timed_out=timed_out@entry=0, mapped=mapped@entry=0, no_remap=no_remap@entry=0) at engine/keys.c:247
#16 0x000000000040cd85 in execute_keys_general_wrapper (keys=keys@entry=0x688b20 <buf> L"\r", timed_out=timed_out@entry=0, no_remap=no_remap@entry=0, mapped=0) at engine/keys.c:229
#17 0x000000000040cfe9 in execute_keys (keys=keys@entry=0x688b20 <buf> L"\r") at engine/keys.c:198
#18 0x000000000044008b in main_loop () at main_loop.c:225
#19 0x000000000040493f in main (argc=2, argv=0x7fff8ea6a8e8) at vifm.c:428
(gdb) print *entry
$1 = {name = 0x1843300 "..", size = 4096, uid = 0, gid = 0, mode = 16895, mtime = 1396252568, atime = 1396252568, ctime = 1396252568, date = " K          03/3", type = 959455281, selected = 0, search_match = 0, 
  list_num = 0}

Issues with viewcolumns option.

On Darwin:

Setting:

windo set viewcolumns="-{name}..,7{uname},7{gname},9{}"

will be ignored (no result at all), and:

set viewcolumns="-{name}..,7{uname},7{gname},9{}"

will cause an error in vifmrc 

Separation of files and directories when using :sort

Hey xaizek,

when I use :sort it sorts files and directories seperately right? So when sorting for 'time modified' http://cl.ly/image/0u3j1B0p203l either directories and files are sorted. But Directories always stay above files at the top of the pane.

Is it possible to mix files and dirs when sorting? My problem is that I have folders with a lot of directories. When I cd into the folder I always have to scroll down to get to the last modified file, which is below the oldest modified directory, for example.

Best regards,
Daniel

--VIEW-- mode mappings / :explore command

Hi!

I really enjoy using ':view' and 'e' (explore file in the current pane). Since :view both opens and closes the view, I'd like to do that with 'e' too. Currently using 'q' to close it, because pressing 'e' again scrolls down.

Or having an ':explore' command, which opens and closes just like ':view'.

What do you think?

Best regards!

Trying to open files with spaces opens Explorer - Windows OS

When I try to open a file that has spaces in its file name (e.g. 'Class Schedule to Graduate.docx') vifm opens Windows File Explorer at '~\Documents'. File names with no spaces open the associated application ok.

My vifmrc has:

filetype * start, explorer
Windows OS 8
Version: 0.7.5
Git commit hash: 5e22e77aac83c7b2ad541110f2b6d09ff7e74c14
Compiled at: Oct 31 2013 22:50:57

Support of extended keys is on
Parsing of .desktop files is disabled
Without GTK+ library
Without magic library
Without X11 library
Without dynamic loading of X11 library
Without file program

:help without argument

In my .vimrc, I have

set vimhelp

I have vifm and vim-data installed in /usr/local (default install)
If I understand right, with the lastest version of vifm we do not need to put vifm.txt in ~/.vim/doc anymore.
So I've just removed this file.

Now :help without argument gives me an error : the message says there's no file vifm.txt
The line 2976 of commands.c:

snprintf(buf, sizeof(buf), "%s -c \"help vifm.txt\" -c only"

seems strange because I don't see any file named vifm.txt in vim-data
In case cmd_info == "", I would expect the command to be something like
vim vifm-app.txt.

Ncurses patch for Darwin hosts when using own Ncurses build. I've found it on net. It works for me

--- configure.orig  2012-02-19 10:54:57.000000000 -0200
+++ configure   2012-03-10 17:04:25.000000000 -0300
@@ -13062,13 +13062,13 @@
 fi


-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncursesw" >&5
-$as_echo_n "checking for initscr in -lncursesw... " >&6; }
-if ${ac_cv_lib_ncursesw_initscr+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncurses" >&5
+$as_echo_n "checking for initscr in -lncurses... " >&6; }
+if ${ac_cv_lib_ncurses_initscr+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lncursesw  $LIBS"
+LIBS="-lncurses  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */

@@ -13088,20 +13088,20 @@
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ncursesw_initscr=yes
+  ac_cv_lib_ncurses_initscr=yes
 else
-  ac_cv_lib_ncursesw_initscr=no
+  ac_cv_lib_ncurses_initscr=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncursesw_initscr" >&5
-$as_echo "$ac_cv_lib_ncursesw_initscr" >&6; }
-if test "x$ac_cv_lib_ncursesw_initscr" = xyes; then :
-  LIBS="$LIBS -lncursesw"
-   if test x$vifm_cv_curses = x/usr -a -d /usr/include/ncursesw; then
-       CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_initscr" >&5
+$as_echo "$ac_cv_lib_ncurses_initscr" >&6; }
+if test "x$ac_cv_lib_ncurses_initscr" = xyes; then :
+  LIBS="$LIBS -lncurses"
+   if test x$vifm_cv_curses = x/usr -a -d /usr/include/ncurses; then
+       CPPFLAGS="$CPPFLAGS -I/usr/include/ncurses"
    fi
    for ac_header in ncurses.h
 do :
@@ -13116,7 +13116,7 @@
 done

 else
-  as_fn_error $? "libncursesw not found" "$LINENO" 5
+  as_fn_error $? "libncurses not found" "$LINENO" 5
 fi

    #[ac_widec_possible=no

Support XDG Base Directory Specification

As per Freedesktop standard, support XDG Base Directory
Specification.

ATM it is possible to tweak configuration using $VIFM, $MYVIFMRC,
set trashdir=$HOME/.local/share/vifm/Trash and so on, but is "ugly".

Adding XDG support as default would be much better for clean separation
between configuration, cache and shared files, for backups and so on.

Opening pdf files with vifm problem

I am using a macbook with MAC OS X 10.7 and mac terminal program.
I successfully compiled newest version of vifm. Here is my configured options:

Version: 0.7.5-beta
Support of extended keys is on
Parsing of .desktop files is enabled
Without GTK+ library
Without magic library
Without X11 library
Without dynamic loading of X11 library
With file program
With -n option for cp and mv

Here is the pdf snippet in my .vifm/vifmrc file for the pdf opening option

filetype *.pdf acrobat %f& (where acrobat is symbolic link to /Applications/Adobe Acrobat X Pro/Adobe Acrobat Pro.app

when I press enter which I have enabled in vifmrc with set norunexec
vifm goes back to terminal shell but does not open any pdf file.
How should I set pdf files for mac os x so that when I press enter it will open with my
specified application.

Sincerely,

Jean-Marcel Belmont

segmentation fault when starting vifm in vertical split tmux pane

Hi xaizek,

I get "segmenation fault" on vertical split tmux panes, but only in the lower pane. It starts fine in the upper vertical and in horizontal panes. I have only used vifm in 1 tmux pane so far and it worked great. I was just testing. I am on iTerm2, tmux 1.8, Mac OSX 10.7 Lion

Bug

Program received signal SIGSEGV, Segmentation fault. 0xb64b3020 in strcmp () from /usr/lib/libc.so.6

(gdb) bt
#0 0xb64b3020 in strcmp () from /usr/lib/libc.so.6
#1 0x000432a8 in save_history (line=0xd0188 "quit", hist=0xb0c78, num=0xa7c2c <cf g+16468>, len=0xa7c00 <cfg+16424>) at commands.c:721
#2 0x000434d8 in save_command_history (command=0xd0188 "quit") at commands.c:764
#3 0x00028d58 in save_command (keys_info=0xbeffc3e4, cmd=0xd0188 "quit") at modes /cmdline.c:939
#4 0x000289d4 in cmd_ctrl_m (key_info=..., keys_info=0xbeffc3e4) at modes/cmdline .c:865
#5 0x00016c20 in run_cmd (key_info=..., keys_info=0xbeffc3e4, curr=0x17bba0, keys =0xa154c <buf+4> L"") at engine/keys.c:451
#6 0x00016b84 in execute_next_keys (curr=0x17bba0, keys=0xa154c <buf+4> L"", key_ info=0xbeffc38c, keys_info=0xbeffc3e4, has_duplicate=0, no_remap=0) at engine\342\ 206\222
#7 0x0001676c in execute_keys_loop (keys=0xa154c <buf+4> L"", keys_info=0xbeffc3e 4, root=0x178d60, key_info=..., no_remap=0) at engine/keys.c:359
#8 0x000162e4 in execute_keys_inner (keys=0xa1548 <buf> L"\r", keys_info=0xbeffc 3e4, no_remap=0, prev_count=-1) at engine/keys.c:270
#9 0x0001607c in execute_keys_general (keys=0xa1548 <buf> L"\r", timed_out=0, ma pped=0, no_remap=0) at engine/keys.c:238
#10 0x00015fec in execute_keys_general_wrapper (keys=0xa1548 <buf> L"\r", timed_o ut=0, mapped=0, no_remap=0) at engine/keys.c:220
#11 0x00015efc in execute_keys (keys=0xa1548 <buf> L"\r") at engine/keys.c:189
#12 0x0006466c in main_loop () at main_loop.c:237
#13 0x00077e7c in main (argc=1, argv=0xbefff5f4) at vifm.c:440

Progress bar for copying/moving files

Hi xaizek,

is there a demand to add a progress bar to the command line?

When I copy or move 1 big file and it says "Copying files 1/1" in the command line. I never really know how long it still needs to finish.

Perhaps other user would find a progress bar useful as well.

Best regards,
Daniel

":help" command shows character encoding issue in OSX

:help displays the following in iterm2, terminal in OSX.

screen shot 2014-08-05 at 9 50 30 pm

Is this not meant to be used in this manner? If not I think it would be similar to the way vim help files work if it could be viewed like this, and therefore appropriate to have displayed properly.

Version: 0.7.7
Git commit hash:
Compiled at: Aug  5 2014 21:04:58

Support of extended keys is on
Parsing of .desktop files is enabled
Without GTK+ library
Without magic library
Without X11 library
Without dynamic loading of X11 library
With file program
With -n option for cp and mv
Without remote command execution

"Press return ..." message appearing terminal/iterm on mac osx

Hi xaizek,

when I open a file through vifm in my terminal, e.g. with my editor (vim) or another application (via followlinks) and I close the file / or go back to vifm, it gives me the "Press return ..." in my terminal window. I use iterm2, but its the same in the terminal. It just looks like this....

~vifm                                                                                                                                 
Press return ...

In the changelog 0.7.3a to 0.7.4 there is,

  • Fixed "Press return..." message appearing always on OSX.

Was is about this issue? I am running the newest version.

Best regards,
Daniel

crash on entering to directory

Program received signal SIGINT, Interrupt.
0x00007f3c8a4b5340 in __poll_nocancel () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007f3c8a4b5340 in __poll_nocancel () from /usr/lib/libc.so.6
#1  0x00007f3c8d16e4fd in _nc_timed_wait () from /usr/lib/libncursesw.so.5
#2  0x00007f3c8d14903e in _nc_wgetch () from /usr/lib/libncursesw.so.5
#3  0x00007f3c8d162f5b in wget_wch () from /usr/lib/libncursesw.so.5
#4  0x000000000043fef5 in read_char (timeout=700, c=0x7fffa4d194ec, win=0x21e3c50) at main_loop.c:95
#5  main_loop () at main_loop.c:171
#6  0x000000000040493f in main (argc=3, argv=0x7fffa4d1c668) at vifm.c:428
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
format_entry_name (view=<optimized out>, pos=<optimized out>, buf_len=1026, buf=0x7fffa4d14b60 "\001") at ui.c:1819
1819            const char prefix[2] = { cfg.decorations[type][DECORATION_PREFIX] };
(gdb) bt
#0  format_entry_name (view=<optimized out>, pos=<optimized out>, buf_len=1026, buf=0x7fffa4d14b60 "\001") at ui.c:1819
#1  0x0000000000429946 in columns_format_line (cols=0x1f0e3f0, data=data@entry=0x7fffa4d14fc0, max_line_width=104) at column_view.c:277
#2  0x0000000000433efc in draw_dir_list (view=view@entry=0x690680 <rwin>) at filelist.c:1005
#3  0x0000000000435748 in load_dir_list (view=view@entry=0x690680 <rwin>, reload=reload@entry=0) at filelist.c:2629
#4  0x0000000000435847 in navigate_to (view=view@entry=0x690680 <rwin>, path=path@entry=0x1fd1070 "..") at filelist.c:1995
#5  0x000000000044357b in handle_dir (view=view@entry=0x690680 <rwin>) at running.c:722
#6  0x00000000004443fd in run_file (dont_execute=<optimized out>, view=<optimized out>) at running.c:398
#7  run_selection (dont_execute=<optimized out>, view=<optimized out>) at running.c:319
#8  handle_file (view=0x690680 <rwin>, dont_execute=0, force_follow=<optimized out>) at running.c:130
#9  0x000000000041d144 in cmd_ctrl_m (key_info=..., keys_info=<optimized out>) at modes/normal.c:588
#10 0x000000000040c36a in execute_mapping_handler (info=0x21e7c38, keys_info=0x7fffa4d19470, key_info=...) at engine/keys.c:1012
#11 run_cmd (key_info=..., keys_info=keys_info@entry=0x7fffa4d19470, curr=curr@entry=0x21e7c20, keys=<optimized out>) at engine/keys.c:458
#12 0x000000000040c6d8 in execute_next_keys (curr=curr@entry=0x21e7c20, keys=keys@entry=0x688b24 <buf+4> L"", key_info=key_info@entry=0x7fffa4d193d0, keys_info=keys_info@entry=0x7fffa4d19470, 
    has_duplicate=<optimized out>, no_remap=no_remap@entry=0) at engine/keys.c:447
#13 0x000000000040ca65 in execute_keys_loop (keys=0x688b24 <buf+4> L"", keys@entry=0x688b20 <buf> L"\r", keys_info=keys_info@entry=0x7fffa4d19470, root=0x21e7150, key_info=..., no_remap=no_remap@entry=0)
    at engine/keys.c:368
#14 0x000000000040cc05 in execute_keys_inner (keys=keys@entry=0x688b20 <buf> L"\r", keys_info=keys_info@entry=0x7fffa4d19470, no_remap=no_remap@entry=0, prev_count=prev_count@entry=-1) at engine/keys.c:279
#15 0x000000000040cd0d in execute_keys_general (keys=keys@entry=0x688b20 <buf> L"\r", timed_out=timed_out@entry=0, mapped=mapped@entry=0, no_remap=no_remap@entry=0) at engine/keys.c:247
#16 0x000000000040cd85 in execute_keys_general_wrapper (keys=keys@entry=0x688b20 <buf> L"\r", timed_out=timed_out@entry=0, no_remap=no_remap@entry=0, mapped=0) at engine/keys.c:229
#17 0x000000000040cfe9 in execute_keys (keys=keys@entry=0x688b20 <buf> L"\r") at engine/keys.c:198
#18 0x000000000044008b in main_loop () at main_loop.c:225
#19 0x000000000040493f in main (argc=3, argv=0x7fffa4d1c668) at vifm.c:428


(gdb) print cfg.decorations
$2 = {"\000", "\000/", "\000", "\000", "\000", "\000", "\000", "\000", "\000"}
(gdb) print type
$3 = 540423482
(gdb) print *entry
$6 = {name = 0x1fd1070 "..", size = 4096, uid = 0, gid = 0, mode = 16895, mtime = 1396252568, atime = 1396252568, ctime = 1396252568, date = "        03/31 09", type = 540423482, selected = 0, search_match = 0, 
  list_num = 0}
(gdb) print entry->type
$4 = 540423482

Merge all folders feature

When pasting multiple (sub)folders you have to enter 'm' multiple times during the file transfer to merge all folders.

Feature request:
When pasting multiple (sub)folders, have an option, preferably before the file transfer begins, to merge all folders and subfolders without being asked again.

Uh. More stuff from me. Segmentation faults on FreeBSD right after start.

λ ⇒ gdb vifm vifm.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols found)...
Core was generated by `vifm'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libncursesw.so.8...(no debugging symbols found)...done.
Loaded symbols for /lib/libncursesw.so.8
Reading symbols from /usr/lib/libmagic.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libmagic.so.4
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /lib/libz.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.6
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x0000000800fc18de in free () from /lib/libc.so.7
[New Thread 801807400 (LWP 100192/vifm)]
(gdb) bt
#0  0x0000000800fc18de in free () from /lib/libc.so.7
#1  0x00000000004354a1 in catopt ()
#2  0x00000000004351e4 in flags2opts ()
#3  0x0000000000435106 in statfs_to_mntent ()
#4  0x000000000043509b in getmntent ()
#5  0x000000000043957b in is_on_slow_fs ()
#6  0x000000000045185f in check_if_filelists_have_changed ()
#7  0x00000000004605cc in read_char ()
#8  0x00000000004600f5 in main_loop ()
#9  0x00000000004725f3 in main ()
(gdb)

mirror current split pane to the other one

Hey xaizek,

Lets say I have a vsplit view of 2 different directories. Id like the currently selected pane on the other side too, without needing to cd/browse into it.

Or is this already possible?

Thanks and Best regards,
Daniel

Using Ctrl-I for browsing forward in history

Hi,

The documentation says that:

Ctrl-I: if ’cpoptions’ contains "t" flag, "tab" and "c-i" switch active pane just
like "space" does, otherwise it goes forward through directory history of the current view.

Is there a specific reason for using Ctrl-I as well along with "tab" for switching the active pane?

I'd like to have Ctrl-I only do forward history browsing, just like Ctrl-O does only backwards browsing. I believe "tab" and "space" would be enough, and they also seem to be more intuitive options for switching active pane.

What do you think? Does anyone need Ctrl-I with cpoptions containing t value?

Thanks,
Robi

viewcolumns for right pane

Hi,

Is it possible to set the viewcolumns option in vifmrc for both panes? It only sets the viewcolumns for the left pane.

Thanks,
Michael

Crash on start on OSX 10.7 if slowfs is defined

if slowfs is defined in vifmrc the program crashes:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00000000000008b9
statfs_to_mntent [inlined] () at vifm/src/utils/mntent.c:107
107               tmp = flags2opts (mntbuf->f_flags);
(gdb) backtrace
#0  statfs_to_mntent [inlined] () at vifm/src/utils/mntent.c:107
#1  0x0000000100022757 in getmntent (fp=0x1) at mntent.c:96
#2  0x0000000100025114 in is_on_slow_fs (full_path=0x10007cf90 "vifm") at utils.c:302
#3  0x0000000100032475 in get_line_color [inlined] () at vifm/src/filelist.c:473
#4  0x0000000100032475 in column_line_print (data=0x7fff5fbfe9f0, column_id=1606411600, buf=0x7fff5fbfe550 "??_?", offset=140734799799632) at filelist.c:96
#5  0x0000000100027e1a in columns_format_line (cols=0x1, data=0x7fff5fbfe9d0, max_line_width=140734799799711) at column_view.c:283
#6  0x0000000100032e43 in draw_dir_list (view=0x10007cf80) at filelist.c:903
#7  0x000000010003431c in load_dir_list () at filelist.c:2435
#8  0x000000010004998e in reload_lists [inlined] () at vifm/src/ui.c:1260
#9  0x000000010004998e in update_views [inlined] () at vifm/src/ui.c:1232
#10 0x000000010004998e in update_screen (update_kind=1606413024) at ui.c:96
#11 0x000000010004bb44 in main (argc=1606417216, argv=0x7fff5fbffb40) at vifm.c:437

Marks not getting deleted

When I use :delm or dd in the bookmarks menu to delete a mark, it reappears next time I restart vifm.

Global proposal (RUS)

Sorry other ctrl-russian users. Use translate.google.com (this make lang better than my english :)

Предлагаю глобальное переосмысливание идеи файлового менеджера vifm.

Логика:
Любые изменения в vifm производимые над файлами не применяются, а записываются в список операций.

  1. Можно переключатся на этот список и удалять операции как строки в виме.
  2. Операции можно отменять через 'u'
  3. Можно применить их до выхода с vifm используя ":w", ":x"

"Плюшки":
Умное комбинирование. например dd над файлом /file1 и pp в директории /tmp/ превращается из

dd /file1
cd /tmp
p

в

move /file1 to /tmp/

Давайте обсуждать :)

Cancel operation with ctrl-C

I have just executed :find on my home folder (which is quite large) and cannot stop the command to change to correct directory and run the :find from there.

It should be possible to stop long-lasting filesystem commands.

Thanks.

stdscr() function not found on cygwin

Running cygwin 64 bits with all possible curses librairies installed.

stdscr check in configure file prevents from compiling in cygwin.

After commenting it out, configure & make worked fine.

Vifm seems to be running as expected.

Any specific steps I need to take to verify if my compiled version is stable ?

Default trash directory created even if 'trashdir' set

Default ~/.vifm/Trash directory is created every time, even if it is
deleted and trashdir option set to point to another location in the
.vifmrc file (e.g. set trashdir=$HOME/foo/bar).

Deleted files are properly moved to $HOME/foo/bar.

Is this intended behavior?

viewcolumns: ext column and dotted files

With viewcolumns the extension of the file .vimrc is vimrc.
I would expect the extension of such a dotted file to be nothing.
I would also find more natural that directories always have no extension.

option to set "show hidden/dotfiles" by default

Hi xaizek,

would it be possible to implement an option to set the "showing hidden/dotfiles" by default. I
often forget to type "za" and it occasionally lead myself to overlook hidden files and their deletion.

Best regards,
Daniel

OOM when executing vifm from Chromium.

First off, no idea if this is just on my box or if it's a global issue, but it certainly affects me. VIFM and Chromium are both directly off the Arch official repos, VIFM version 0.7.8.

How to invoke it it:-

  1. xdg-mime default vifm.desktop inode/directory
  2. sleep 20s; killall -9 vifm (Prevent the murder of your machine, kill vifm automatically)
  3. Download a file on Chrome
  4. Click the arrow, select "Show in folder"
  5. 100% memory usage.

Running vifm.desktop from other locations (Like j4-dmenu-desktop) opens vifm in a terminal window as normal without any sort of issue. I would give you more information, but, I'm too stupid to know what information to give.

Here's the $HOME/.vifm/log though:-

14.10.30 02:54 ===== Started vifm =====
14.10.30 02:54 at ui.c:1162 (update_geometry)
               Load stage: 0
               ws.ws_row = 0; ws.ws_col = 0
14.10.30 02:54 at modes/modes.c:89 (init_modes)
               Entered into this function
14.10.30 02:54 at signals.c:153 (setup_signals)
               Entered into this function
14.10.30 02:54 at trash.c:184 (create_trash_dir)
               Entered into this function
14.10.30 02:54 at trash.c:199 (try_create_trash_dir)
               Entered into this function
14.10.30 02:54 at ui.c:1162 (update_geometry)
               Load stage: 2
               ws.ws_row = 24943; ws.ws_col = 29540

Looks like it may or may not be trying to render an insanely large window (24943x29540), but, I have no idea.

EDIT:- After thinking about it, it's probably not a memory leak, but, to the extent of my knowledge I can't edit my title. Oh well.

Problem with rulerformat and right align

I use:

set rulerformat="%=%l-%S [%L]"

In /usr/bin when the cursor in on the first line, I see right aligned

1-2133 [2133]

which seems good
But when the cursor is on the last line, I have

2133-2133 [21

(truncated)

Is there a mistake in my rulerformat string ? Or is it a bug ?
I also noticed that the %= seems useless : with or without it, the message is right aligned.

segfault after vifm --no-configs

After vifm --no-configs, launching vifm without any options gives me segfault.

To be able to start vifm again I had to comment the line set noautochpos in my vifmrc file. Then uncommenting the same line did not produce the segfault again.

Don't forget about vifm!

Hi.
I really like vifm, but its last release lacks some features and has some bugs. I've tried to contact author, but he didn't respond me. So I want to try continue his work. I've already made some changes and I think that vifm 0.6 is ready.
If your are interested in further development of vifm, would like to see my changes, test them or whatever go to my fork (https://github.com/xaizek/vifm). See ChangeLog for details.

renaming multiple selected files doesnt work anymore

This is what I did in earlier versions:

Select multiple files and do :rename on the selection. It then put me into vim where it lists the filenames for editing. After editing and save/quit :wq the filenames were updated and visible in vifm.

This doesnt seem to work in the newest commits. After :wq I get the message 0 files renamed in the statusline.

I checked out some older commits and in 7044d0a for example this was working fine.

Best regards
Daniel

filetype commands dont work anymore

On the latest commit 645336f my filetype commands dont work anymore.

For opening pdf files on OSX I had this in my vifmrc, along other filetypes.

filetype *.pdf
      \ open -a Preview %f &

Now it tries to open every file in my text editor.

Regards,
Daniel

Fails to load on machine with 1GiB RAM

vifm: color_manager.c:47: colmgr_init: Assertion `(color_pair_map != ((void *)0) || avail_pairs == 0) && "Not enough memory."' failed.
zsh: abort vifm

I have at least 500MiB RSS free memory on this machine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.