Потенциально 2 вопроса в одном. Я хотел бы знать, как сослаться на регистр в режиме Ex.
Например, я редактирую файл, и я хочу сохранить файл с меткой времени (или просто установить метку даты действительно) добавленный к нему.
Я знаю, что могу установить регистр на значение оболочки, управляет выходным использованием:
:let @a = system("date +\"%Y-%m-%d\"")
Там кто-либо должен разыменовать этот регистр и вставить его значение в команду Ex? Что-то как:
:w testfile.<value of "a register>
Копирование к системному буферу обмена и вставке было бы хорошо, но выполнение его большим количеством generic/programitic способа к построению на других командах в будущем будет хорошо.
Есть два подхода к этому, но, вероятно, ни один из них не совсем то, что вам нужно.
Используйте
, чтобы вставить содержимое в текущую командную строку. См. : help c_CTRL-R
для получения дополнительной информации.
Используйте exe
, чтобы разрешить вставку переменных в выражение. См. : help: exe
и : help 41.3
.
: exe 'w testfile.' . @a
Предполагая, что регистр «a», вы можете ввести:
, который будет вводить значение регистра a inline в этой точке. Это также можно использовать в режиме вставки.