!
- это специальный символ в bash, и его следует экранировать. В противном случае используйте одинарные кавычки. Некоторые альтернативы:
vim -c 'r!date'
vim -c r\!date
vim +'r!date'
vim +r\!date
Обратите внимание, что все они оставят строку после даты. Если вы хотите запустить файл только одной строкой, эта строка является датой, вы можете использовать:
vim +.\!date
vim +'.!date'
Или, конечно, вариант -c
.
vim -c '.!date'
Чтобы добавить дату в конец файла:
vim +'$r!date' file
vim -c '$r!date' file
Чтобы добавить дополнительный символ новой строки перед датой, вы можете просто добавить пустое эхо bash:
vim +'$r! echo ; date' file
Более «родной» подход Vim может быть достигнут путем добавления дополнительной команды перед чтением для выполнения последовательности нормального режима «Перейти» (последняя строка, затем новая строка после курсора). В этом случае диапазон в команде чтения не является необходимым, поскольку курсор уже будет в правильной позиции:
vim +'normal Go' +'r!date' file