mirror of
https://github.com/m00natic/vlfi.git
synced 2025-11-14 13:55:33 +00:00
Compare commits
128 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a141091c8 | ||
|
|
8ab1c6a4f2 | ||
|
|
ae2237d7ea | ||
|
|
9b22b74f21 | ||
|
|
025399a644 | ||
|
|
bfcbfd33cb | ||
|
|
bc68eed5a2 | ||
|
|
17c66122d9 | ||
|
|
4c631bcbe5 | ||
|
|
e5457690fb | ||
|
|
d1b34dcefb | ||
|
|
737c1e9979 | ||
|
|
2d71996d9e | ||
|
|
0ecb40a5ee | ||
|
|
02a37c4192 | ||
|
|
7cb047407d | ||
|
|
34dfbd202d | ||
|
|
ce9441fc83 | ||
|
|
563d9ca423 | ||
|
|
298d8f59d9 | ||
|
|
8ed919209a | ||
|
|
c1aedbc307 | ||
|
|
a0b8d5f67a | ||
|
|
616d676330 | ||
|
|
b943008eca | ||
|
|
4589c25d96 | ||
|
|
3c2fb6b93e | ||
|
|
c827c3e186 | ||
|
|
36d2ed4d09 | ||
|
|
de1948ed36 | ||
|
|
ae775f88f9 | ||
|
|
1ac1eece40 | ||
|
|
bbda9abc7d | ||
|
|
67732485d8 | ||
|
|
3d652fe71d | ||
|
|
7bfe665524 | ||
|
|
ca13beac24 | ||
|
|
d2bd47c2b4 | ||
|
|
57eb4c270a | ||
|
|
28255a2aa2 | ||
|
|
fbe081417c | ||
|
|
fd9c258fc8 | ||
|
|
a63ea7a5d0 | ||
|
|
fbc3a37ce5 | ||
|
|
eaf85e5cff | ||
|
|
e4d886a3e3 | ||
|
|
b8cc34422e | ||
|
|
a5fec57e32 | ||
|
|
70719b0917 | ||
|
|
54927afb8f | ||
|
|
f14ef6ce9e | ||
|
|
1dcd12288b | ||
|
|
641ff4b961 | ||
|
|
681d3d94fc | ||
|
|
ba439de0f6 | ||
|
|
b34bd2e5fb | ||
|
|
1589cf9736 | ||
|
|
83eb8a586b | ||
|
|
e3be8d5d98 | ||
|
|
5aef3e1c27 | ||
|
|
ca8ba42ec4 | ||
|
|
a31be70613 | ||
|
|
538a9e6049 | ||
|
|
469900878d | ||
|
|
473536e050 | ||
|
|
74febeb183 | ||
|
|
fc689d5c88 | ||
|
|
3fb898e83a | ||
|
|
f1ade8106c | ||
|
|
e67895afc4 | ||
|
|
4cbefdeeca | ||
|
|
9fad430601 | ||
|
|
6ea7a2aa1e | ||
|
|
705f9ce0eb | ||
|
|
b52ca6c044 | ||
|
|
8637ce5ceb | ||
|
|
2f201c56d5 | ||
|
|
d5f2a36086 | ||
|
|
cedd0b4e82 | ||
|
|
c14c7f00ce | ||
|
|
f23262e826 | ||
|
|
8f6299c6c2 | ||
|
|
8787186619 | ||
|
|
24675d8741 | ||
|
|
e115e7e56a | ||
|
|
7985f0f453 | ||
|
|
a3c405fd37 | ||
|
|
56134a8281 | ||
|
|
2525ebf069 | ||
|
|
c4f87f9ec7 | ||
|
|
467154ad06 | ||
|
|
06108220e2 | ||
|
|
5405a30de4 | ||
|
|
f3132c0970 | ||
|
|
db3d2af04a | ||
|
|
995a7a0988 | ||
|
|
1948f3ea4e | ||
|
|
0ff2f3eb9b | ||
|
|
03f323337b | ||
|
|
9abee0425a | ||
|
|
80ca6b638b | ||
|
|
8a33dbfb89 | ||
|
|
e387ed5f09 | ||
|
|
c36db11b86 | ||
|
|
ab20671a93 | ||
|
|
ac382e90dc | ||
|
|
670561e811 | ||
|
|
88cf03caba | ||
|
|
8e65e13dd9 | ||
|
|
090cebc2ab | ||
|
|
748fd1406e | ||
|
|
42693f6938 | ||
|
|
b40bb60aa3 | ||
|
|
2a7625afe6 | ||
|
|
91fecb78c9 | ||
|
|
36411c3632 | ||
|
|
9e27aeb057 | ||
|
|
fb9aa670cc | ||
|
|
30e495901b | ||
|
|
375c96f89b | ||
|
|
c812288ab7 | ||
|
|
81e4fe19ac | ||
|
|
853386f82e | ||
|
|
0dd4ba87aa | ||
|
|
e693e8f24a | ||
|
|
c3051e6131 | ||
|
|
c0d143b632 | ||
|
|
e3087a8531 |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*.elc
|
||||
*~
|
||||
106
README.org
106
README.org
@@ -1,4 +1,104 @@
|
||||
* View Large File
|
||||
* View Large Files
|
||||
|
||||
An Emacs mode that allows viewing files in chunks. This is a fork
|
||||
that builds on the GNU ELPA vlf.el.
|
||||
An Emacs mode that allows viewing, editing and searching in large
|
||||
files in chunks. Batch size can be adjusted on the fly and bounds the
|
||||
memory that is to be used for operations on the file.
|
||||
|
||||
This is development version of the GNU ELPA [[http://elpa.gnu.org/packages/vlf][vlf.el]] package. Here's
|
||||
what it does in a nutshell:
|
||||
|
||||
- regular expression search on whole file (in constant memory
|
||||
determined by current batch size)
|
||||
- chunk editing (if size has changed, saving is done in constant
|
||||
memory determined by current batch size)
|
||||
- occur like indexing
|
||||
- options to jump to beginning, end or arbitrary file chunk
|
||||
- ability to jump/insert given number of batches at once
|
||||
- newly added content is acknowledged if file has changed size
|
||||
meanwhile
|
||||
- automatic scrolling of batches
|
||||
- VLF is added as an option when opening large files
|
||||
|
||||
GNU Emacs 23 and 24 are supported.
|
||||
|
||||
* Overview and tips
|
||||
|
||||
M-x vlf PATH-TO-FILE
|
||||
|
||||
** Unicode
|
||||
|
||||
Emacs' Unicode support is leveraged so you'll not see bare bytes but
|
||||
characters decoded as if file is normally opened. This holds for
|
||||
editing, search and indexing.
|
||||
|
||||
** 32-bit GNU Emacs
|
||||
|
||||
Regular Emacs integers are used, so if you use 32-bit Emacs without
|
||||
bignum support and have really huge file (with size beyond the maximum
|
||||
integer value), VLF will probably not quite work.
|
||||
|
||||
** Memory control
|
||||
|
||||
*vlf-batch-size* bounds the memory used for all operations.
|
||||
|
||||
** Special mode
|
||||
|
||||
VLF is derived from special-mode and keeps all its properties. For
|
||||
example you can directly press digits to enter prefix arguments.
|
||||
|
||||
** Change major mode
|
||||
|
||||
You can change major mode to whatever you like (for example
|
||||
hexl-mode). Saving will insert contents as intended. You can return
|
||||
to *vlf-mode* too.
|
||||
|
||||
* Detail usage
|
||||
|
||||
** Control batch size
|
||||
|
||||
*+* and *-* control current batch size by factors of 2.
|
||||
|
||||
You can also set by hand local variable *vlf-batch-size* and then
|
||||
refresh with *g*.
|
||||
|
||||
** Move around
|
||||
|
||||
*M-PgUp* and *M-PgDn* move chunk by chunk. With positive prefix
|
||||
argument they move prefix number of batches. With negative - append
|
||||
prefix number of batches.
|
||||
|
||||
*[* and *]* take you to the beginning and end of file respectively.
|
||||
|
||||
*j* jumps to given chunk. To see where you are in file and how many chunks
|
||||
there are (using the current batch size), look at the bracketed part
|
||||
of the buffer name, batch size is also there - at the end.
|
||||
|
||||
** Search whole file
|
||||
|
||||
*s* and *r* search forward and backward respectively over the whole
|
||||
file. This is done chunk by chunk so if you have really huge file -
|
||||
you'd better set somewhat bigger batch size beforehand.
|
||||
|
||||
** Occur over whole file
|
||||
|
||||
*o* builds index for given regular expression just like occur-mode.
|
||||
It does this chunk by chunk over the whole file. Note that even if
|
||||
you prematurely stop it with *C-g*, it will still show index of what's
|
||||
found so far.
|
||||
|
||||
** Jump to line
|
||||
|
||||
*l* jumps to given line in file. This is done by searching from the
|
||||
beginning, so again the bigger current batch size, the quicker. With
|
||||
negative argument, lines are counted from the end of file.
|
||||
|
||||
** Edit
|
||||
|
||||
*e* enters VLF in edit mode. If editing doesn't change size of
|
||||
the chunk, only this chunk is saved. Otherwise the remaining part of
|
||||
the file is adjusted chunk by chunk, so again you'd better have bigger
|
||||
current batch size. If chunk has been expanded the memory used is
|
||||
|
||||
#+BEGIN_EXAMPLE
|
||||
(batch size + difference to the original chunk size) x 2
|
||||
#+END_EXAMPLE
|
||||
|
||||
41
vlfi.el
Normal file
41
vlfi.el
Normal file
@@ -0,0 +1,41 @@
|
||||
;;; vlfi.el --- Obsolete - install vlf instead!
|
||||
|
||||
;; Copyright (C) 2006, 2012, 2013 Free Software Foundation, Inc.
|
||||
|
||||
;; Version: 0.9.1.1
|
||||
;; Keywords: large files, utilities
|
||||
;; Maintainer: Andrey Kotlarski <m00naticus@gmail.com>
|
||||
;; Authors: 2006 Mathias Dahl <mathias.dahl@gmail.com>
|
||||
;; 2012 Sam Steingold <sds@gnu.org>
|
||||
;; 2013 Andrey Kotlarski <m00naticus@gmail.com>
|
||||
;; URL: https://github.com/m00natic/vlfi
|
||||
|
||||
;; This file is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation; either version 2, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This file is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
;; Boston, MA 02111-1307, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This package used to provide the M-x vlfi command, which visited
|
||||
;; part of a large file without loading the entire file.
|
||||
;; However, it has been merged back to the vlf package,
|
||||
;; so use that instead.
|
||||
|
||||
;;; Code:
|
||||
|
||||
;;;###autoload
|
||||
(error
|
||||
"vlfi package has been merged with vlf: please install that instead")
|
||||
|
||||
;;; vlfi.el ends here
|
||||
Reference in New Issue
Block a user