1
=======================
2
lfm - Last File Manager
3
=======================
5
:Author: I�igo Serna, inigoserna AT telefonica DOT net
7
:Version: 0.91, June 30th. 2004
9
:License: \(C\) 2001-4, I�igo Serna
11
This software has been realised under the `GPL License`__,
12
see the COPYING_ file that comes with this package.
15
:Last update: Wed Jun 30 22:01:08 2004 CEST
18
.. contents:: Table of Contents
23
**Last File Manager** is a simple but powerful file manager for the
24
UNIX console. It has been developed with the ol' good `Midnight
25
Commander`__ as model.
27
From version 0.6 and up *lfm* package also contains **pyview**, a
28
text / hex file viewer to be used with or without **lfm**.
29
Read README.pyview_ for more info about it.
41
*Lfm* and *Pyview* are written in Python_ and need curses module.
42
It needs Python v2.0 or maybe higher, it won't work with v1.5.
43
Since version 0.90, *lfm* needs ncurses >= v5.x because of its
44
handling of terminal resizing.
46
All modern UNIX flavours (Linux, \*BSD, Solaris, etc) will run it without problems.
47
If they appear please notify me.
50
All over these years, I have tested on several platforms:
52
+--------------+-----------+----------------------+
53
| OS | PYTHON | Arch |
54
+==============+===========+======================+
55
| Linux 2.6.6 | 2.3.4 | Athlon |
56
+--------------+-----------+----------------------+
57
| Linux 2.4.18 | 2.2.1 | i686 |
58
+--------------+-----------+----------------------+
59
| Solaris 8 | 2.1 | UltraSparc-II [#]_ |
60
+--------------+-----------+----------------------+
63
.. [#] I needed to install ncurses and recompile python to use them.
64
It doesn't work with the curses library which comes with Solaris 8.
68
Also, take a look at TODO file to see bugs and *not-implemented-yet* (tm)
71
Type `lfm --help` or `pyview --help` for a complete list of options.
73
Program preferences are saved in `~/.lfmrc` file.
74
When the program starts the first time, it tries to discover the location
75
of some apps in your system to configure lfm automatically, but it's not
76
perfect, so you should take a look to the configuration (`General Menu [F9]
77
-> Edit Configuration [c]`) and change it according to your preferences.
80
Download & Installation
81
=======================
82
.. sidebar:: Files: all versions
85
+---------+------------------+------------+
86
| Version | File | Date |
87
+=========+==================+============+
88
| 0.91 | lfm-0.91.tar.gz_ | 2004/07/03 |
89
+---------+------------------+------------+
90
| 0.90 | Never released | |
91
+---------+------------------+------------+
92
| 0.9 | lfm-0.9.tar.gz_ | 2002/09/05 |
93
+---------+------------------+------------+
94
| 0.8 | lfm-0.8.tar.gz_ | 2002/03/04 |
95
+---------+------------------+------------+
96
| 0.7 | lfm-0.7.tar.gz_ | 2001/11/30 |
97
+---------+------------------+------------+
98
| 0.6 | Never released | |
99
+---------+------------------+------------+
100
| 0.5 | lfm-0.5.tar.gz_ | 2001/08/07 |
101
+---------+------------------+------------+
102
| 0.4 | lfm-0.4.tar.gz_ | 2001/07/19 |
103
+---------+------------------+------------+
105
Read about NEWS_ or ChangeLog_
108
'lfm' is very easy to install, just keep next steps:
113
`$ python setup.py build`
114
4. Install, as root::
115
`# python setup.py install`
119
To let 'lfm' to change to panel's current directory after quiting with
120
`q`, `Q` or `F10` keys, you must add next code to `/etc/bashrc` or to
125
/usr/bin/lfm "$*" # type here full path to lfm script
126
LFMPATHFILE=/tmp/lfm-$$.path
127
cd "`cat $LFMPATHFILE`"
131
If you don't use bash or csh shell, above lines must be different.
136
If you upgrade from version <= 0.9, please remove `~/.lfmrc` to regenerate
137
a valid configuration file.
142
Though most of keys are the same as in mc_, some differs.
143
Here you have the complete list:
148
- previous page, backspace, Ctrl-P
149
- next page, space, Ctrl-N
152
- cursor_left: upper dir
153
- cursor_right: enter dir / vfs
154
- g, G: go to directory
155
- Ctrl-S: go to file in current panel
156
- 0..9: go to bookmark #
157
- Ctrl-D: select bookmark # from menu
158
- b, B: set bookmark #
162
- .: toggle 1/2 panels
163
- ,, Ctrl-U: change panels position (left->right, right->left)
164
- =: show same directory in both panels
167
- insert: select item and go to next file
170
- \*: invert selection
172
+ **Files / Directories operations**
176
- v, V, F3: view file
177
- e, E, F4: edit file
178
- c, C, F5: copy file/dir/selection
179
- m, M, F6: move file/dir/selection
180
- r, R: easy way to rename file/dir/selection
182
- d, D, F8, del: delete file/dir/selection
183
- enter: execute file, enter dir / vfs or view 'specially' depending on the extension of the regular file. It is executed in a thread that can be stopped and captures output
184
- i, I: show file info
187
- #: show directories size
190
- @: do something on file. Output is not captured, it is also not executed in a thread
191
- Ctrl-O: open shell. Type 'exit' to return to lfm
193
- f, F, F2: file menu
194
- @: Do something on file(s)
196
- p: Change file permissions, owner, group
197
- g: Gzip/gunzip file(s)
198
- b: Bzip2/bunzip2 file(s)
199
- x: Uncompress .tar.gz, .tar.bz2, .tar.Z
200
- u: Uncompress .tar.gz, etc in other panel
201
- c: Compress directory to .tar.gz
202
- d: Compress directory to .tar.bz2
205
- #: show directories size
208
- f: show filesystems info
210
- c: edit configuration
211
- a: save configuration
212
- Ctrl-R: refresh screen
214
- q, Q, F10: exit changing to current path
218
+ Keys in *EntryLine* window:
221
- tab: change to next entry or button
223
- Ctrl-W: delete leftwards until /
225
- left, right, home, end, backspace, del, insert, ...
228
+ Keys in *SelectItem* window:
232
- previous page, backspace
235
- Ctrl-S: go to file/dir
237
- Ctrl-C, q, Q, ESC: quit
239
+ Keys in *Tree* panel:
240
- up, p, P: up within current depth, without going out from directory
241
- down, n, N: down within current depth, without going out from directory
242
- previous page, backspace, Ctrl-P: same as up but page-size scroll
243
- next page, space, Ctrl-N: same as down but page-size scroll
244
- home: first directory
245
- end: last directory
246
- left: go out from directory
247
- right: enter in directory
248
- enter: return changing to directory
249
- Ctrl-C, q, Q, F10, ESC: quit
254
You can navigate inside some special files (known as vfs files in lfm) just
255
*entering into* them (press *enter* or *cursor_right* when the cursor bar is
256
over one of these files). By now, supported types are `.tar.gz`,
257
`.tar.bz2` and `.zip` files.
259
The virtual directory name ('path_to_vfs_file#vfs/dir') is not propagated, so
260
tmpdir (`/tmp/@6421.2/dir`) is showed in the copy/move/... dialogs or when
261
view/edit/... a file, but this is just an estetic issue.
263
When returning from one of such vfs files, a question dialog is showed to
264
allow you regenerate the vfs file (i.e., it is recompressed, so it could be
265
slow in some machines) to update all modifications, but `lfm` checks if it can
266
first, to avoid waste of time. This behaviour (rebuild or not rebuild, ask it
267
or not) can be modified in the configuration file. By default the question is
268
showed but it's set to *don't regenerate vfs*.
269
In case of `panelize` vfs type (after find/grep), deleted / moved files
270
are not deleted / moved in real path.
275
Some years ago I began to write a program like this in C, but after
276
some weeks of coding I never finished it... I'm too lazy, yes.
277
Now, once I saw the light, I started writing `lfm` to learn python_.
282
Thanks are obviously due to the whole python community, specially to GvR
283
(of course! ;-) and all the people who answered my questions in c.l.p.
284
It's a great pleasure to code in a language like this.
286
Alexei Gilchrist, for his cfm program from which I took some ideas.
288
Midnight Commander developers, whose program was the guide.
290
[This documentation has generated with `reStructuredText`__]
293
.. _sources: lfm-0.91.tar.gz
294
.. _README.pyview: README.pyview.html
296
.. _ChangeLog: ChangeLog
298
.. _GPL: http://www.gnu.org/licenses/licenses.html#GPL
299
.. _mc: http://www.ibiblio.org/mc/
300
.. _python: http://www.python.org
301
.. _reST: http://docutils.sourceforge.net/rst.html
305
.. _lfm-0.91.tar.gz: lfm-0.91.tar.gz
306
.. _lfm-0.9.tar.gz: lfm-0.9.tar.gz
307
.. _lfm-0.8.tar.gz: lfm-0.8.tar.gz
308
.. _lfm-0.7.tar.gz: lfm-0.7.tar.gz
309
.. _lfm-0.5.tar.gz: lfm-0.5.tar.gz
310
.. _lfm-0.4.tar.gz: lfm-0.4.tar.gz