Как я могу открыть vim и автоматически записать дату в файл? - PullRequest
0 голосов
/ 05 июля 2018

Если я запустлю это в vim :r !date, он будет читать из команды date

Как мне запустить это в опции -c для vim?

Я пытался vim -c ":r !date" myfile.txt, но я получаю

`bash: !date": event not found`

Я пытался vim -c "r !date" myfile.txt, но я получаю

`bash: !date": event not found`

Я пытался vim -c ":r date" myfile.txt, но я получаю

Error detected while processing command line:
E484: Can't open file date

1 Ответ

0 голосов
/ 05 июля 2018

! - это специальный символ в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...