LINUX.ORG.RU

Велосипед: передать редактору путь к файлу

 ,


0

1

В некотором известном каталоге есть несколько файлов со случайными именами, нужно открыть в vim последний отредактированный файл.

cd /path && ls -t | head -1 | xargs vim

Перед запуском vim выдает:

Vim: Предупреждение: Ввод происходит не с терминала

корректно редактирует и сохраняет файл, но после завершения вешает эмулятор терминала.
При этом less нормально открывает и закрывает файл и оставляет после себя рабочий терминал.
Буду благодарен за идеи, как по другому запустить такой файл.


нужно открыть в vim последний отредактированный файл

Просто нажать `0 в vim.

d_a ★★★★★
()
Ответ на: комментарий от carabo

ls не годится для скриптов, если не затруднит?

заменяет символы, find надежнее: есть -exec(dir) ; / + , eсть -print0 (гнутое расширение), нo в данном случае для 1 файла, не сильно хуже будет // но $() в аргументах нужно окавычивать

anonymous
()
Ответ на: комментарий от anonymous

Нате вам нелюбителю ls без вызова вашей замены ls->printf+sort+cut, только чистый как слеза bash:

#!/bin/bash

old_ifs=$IFS
IFS=
set -- *
IFS=$old_ifs
declare -i i

for ((i=0; i<${#*}; i++)); do
        [[ -z "$n" || "$n" -ot "${!i}" ]] && n=${!i}
done

[ -n "$n" ] && vim "$n"
Домашнее задание, почему не обошлось без bash-измов.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.