Для чего-то немного более необычного, чем ответ на да или не в каждый файл, Вы могли использовать iselect
для интерактивного находящегося в ncurses выбора. например.
iselect -a -m < list.txt | xargs -d '\n' -r echo rm
или позволить выбор файлов в текущем dir:
find . -maxdepth 1 -type f | iselect -a -m | xargs -d '\n' -r echo rm
Это отобразит полный экран (полный терминал) находящийся в ncurses список, где файлы могут быть выбраны и невыбранными по желанию путем нажатия SPACE. нажмите ENTER для принятия выборов (выбранные записи будут распечатаны на stdout), или q
выходить (ничто распечатанное к stdout).пресса h
для справки.
Отметьте echo rm
- я записал это как этот для тестирования. измените его на просто rm
после того как Вы уверены, что понимаете то, что это делает.
Также отметьте это xargs
используется здесь с \n
как входной разделитель. Это не будет работать, если какие-либо из имен файлов будут иметь символы перевода строки в них. В этом отношении, iselect
не будет работать правильно ни один - это ожидает один объект на строку - u nfortunately, iselect
не имеет опции для завершенного пустым указателем ввода или вывода.
iselect
упаковывается для debian, вероятно, человечность и другие дистрибутивы также. домашняя страница по http://www.ossp.org/pkg/tool/iselect/
Вот обходное решение, характерное для энергии (т.е. это не работает на less
например):
Команды (:foo
команда энергии, другие - оболочка):
mkdir /tmp/vimundo
:set undodir=/tmp/vimundo undofile
# note: `set undofile` has to be done for each tab and is saved only
# when the file itself is saved.
:mks /tmp/sess.vim
:wqa
Можно поместить undodir
и undofile
директивы в Вашем vimrc для будущего, таким образом, Вы не должны повторяться. Я еще не сделал этого, так чтобы повторно прикрепить мою сессию энергии и сохранить историю отмены:
vim -S /tmp/sess.vim +set\ undodir=/tmp/vimundo\ undofile
screen
это работает также на, скажем,git log
(меньше канала). – Lekensteyn 11.10.2013, 23:52