Vim Повторить точечный ( "." ) Командный буфер?

Мне очень нравится поведение YankRing, которое позволяет мне просматривать последние несколько вещей, которые я y anked или d eleted или c повешен без разговора.

Однако такая дополнительная функция полностью отсутствует для команды . repeat, чаще всего, когда я печатаю то, что я действительно хочу повторить, а затем случайно перезаписываю это редактирование, нажимая x, чтобы очистить что-то.

Часто можно получить некоторое время, пока визуально-режим дергает то, что я только что напечатал, но это не идеально.

Очень легко запомнить последние несколько команд.

Вопрос в том, насколько возможно извлечь из Vim представление последней команды, содержащейся в любых хранилищах, что будет делать . до того, как она сдуется?

Если это так, как я боюсь, единственный способ - подключить плагин к каждой отдельной команде, которая может что-то редактировать, и использовать ее таким образом, чтобы хранить наш собственный повторитель. Это действительно нецелесообразно, потому что я уже представляю, сколько других плагинов будет разбито. Но я все равно действительно хочу эту функцию, если это возможно.

Ответ 1

К сожалению, нет способа получить и воспроизвести команду за командой .. Единственным обходным решением является постоянный режим макросъемки и использование макрорежима в качестве замены команды ..

Эта тактика используется RepeatLast plugin, которая может предложить то, что вы хотите.

Ответ 2

Выполнение ключевых слов и/или ctrl-a в режиме вставки должно отвечать вашим потребностям.

Более янкиноподобное решение должно быть возможным, но, как вы говорите, возможно, слишком навязчивым. Вы сами посмотрели на vim.org, прежде чем просить других сделать это за вас?