Допустим, у меня есть файл с именем file.txt. Это имя файла, который я хочу редактировать с помощью vi. Я хочу сделать что-то вроде этого, чтобы я мог редактировать файл:
cat file.txt | vi
Однако это не работает. Как это можно сделать?
Чтобы уточнить вещи:
Вот содержимое файла file.txt:
textfile
Поэтому я хочу как-то отправить содержимое файла file.txt в vi, чтобы произошло то же самое, что и при наборе текста vi textfile
.
Содержимое файла file.txt может измениться. Я хочу, чтобы vi редактировал любой файл, указанный в file.txt.
vi file.txt
. Есть ли что-то более продвинутое, что вы пытаетесь сделать?xclip
и затем использоватьxclip -o
для доступа к буферу обмена на оболочке в x11. на всякий случай, если вам нужно заменитьpbpaste
...Ответы:
Вы можете попробовать это:
или, чтобы избежать использования кошки,
вы говорите vi (m) просто куча произвольных вещей. если вы хотите, чтобы vi (m) делал что-то вроде «эй, откройте этот файл», вы должны передать ему те же команды, которые вы использовали бы в vi (m), например. что - то вроде
:e foo.txt
. но это просто сложнее, чем делать то, что я предложил.источник
vi $(cat file.txt)
По крайней мере для vim (не уверен насчет vi), вы можете сделать
'-' говорит vim читать со стандартного ввода.
источник