Вопрос

Потенциально 2 вопроса в одном.Я хотел бы знать, как ссылаться на регистр в режиме Ex.

Например, я редактирую файл и хочу сохранить файл с добавленной к нему меткой времени (или просто датой).

Я знаю, что могу установить register в значение вывода команд оболочки, используя:

:let @a = system("date +\"%Y-%m-%d\"")

Есть ли способ разыменовать этот регистр и вставить его значение в команду Ex?Что - то вроде:

:w testfile.<value of "a register>

Копирование в системный буфер обмена и вставка были бы хороши, но было бы неплохо сделать это более общим / программным способом для использования в других командах в будущем.

Это было полезно?

Решение

Есть два подхода к этому, но, вероятно, ни один из них не является именно тем, что вы хотите.

  1. Использование <CTRL-R>a чтобы вставить содержимое в текущую командную строку.Видишь :help c_CTRL-R для получения дополнительной информации.

  2. Использование exe чтобы разрешить вставку переменных в выражение.Видишь :help :exe и :help 41.3.

    :exe 'w testfile.' . @a
    

Другие советы

Предполагая зарегистрировать "a", вы можете ввести:

<CTRL-R>a который введет значение register a inline в этот момент.Это также можно использовать в режиме вставки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top