Мне часто нужно создавать копии файлов в разных местах (и я хочу избежать чрезмерного набора текста). (Потом отредактирую)
В основном команды такие:
cp very/long/path/to/file/my-file_with-long.name very/long/path/to/file/my-file_with-long-another.name
vim very/long/path/to/file/my-file_with-long-another.name
cp even/longer/path/to/other/location/with_another-file_and-stupid.name even/longer/path/to/other/location/with_another-file_and-stupid-copy.name
vim even/longer/path/to/other/location/with_another-file_and-stupid-copy.name
Я действительно хочу избежать изменения рабочего каталога с помощью cd
и вводя один и тот же путь дважды. В основном я могу добавить команду в bashrc
лайк mydup
, поэтому он создаст новый файл и вернет его имя, поэтому я могу использовать:
vim $(mydup very/long/path/to/file/my-file_with-long.name -another)
vim $(mydup even/longer/path/to/other/location/with_another-file_and-stupid.name -copy)
Но, может быть, я изобрету велосипед и есть способ сделать то же самое попроще?
cp /very/long/file/path{,.bak}
vim !$
или
cpvi() {
name=$1
cp "${name}" "${name}.bak"
$EDITOR "${name}.bak"
}
cpvi /very/long/file/path
Вы можете скопировать файл на место, не меняя каталоги. Например.
cp very-long-file-name very-long-file-name.copy
vim very-long-file-name.copy
В этом случае bash-Completion и tab
ключ твой друг. Я делаю это постоянно и никогда не пишу слишком много.