| ч30. normal (Командный режим) | Содержание | ч32. Базовые регулярные выражения | После того как мы разобрали [ execute ], и [ normal! ] теперь мы можем поговорить об общей идиоме Vimscript более подробно. Выполните следующую команду: :execute "normal! gg/foo\<cr>dd" Эта команда переместит курсор в начало файла, выполнит поиск первого вхождения foo и удалит строку, которая её содержит. Ранее мы пытались использовать [ normal! ] с командой поиска, но не смогли ввести [ ввод ], необходимый для выполнения поиска. Объединение [ normal! ] с [ execute ] устраняет эту проблему. [ execute ] позволяет создавать команды программно, поэтому вы можете использовать обычные строковые escape-последовательности Vim для генерации необходимых вам непечатаемых символов. Попробуйте выполнить следующую команду: :execute "normal! mqA;\<esc>`q" Что это делает? Давайте разберем его на части: Это выглядит немного пугающе, но на самом деле довольно полезно: Vim ставит точку с запятой в конце текущей строки, ос