Когда дело доходит до кодирования при подавании заявление о приеме на работу я думаю, что это немного резко для увольнения кандидата на то, что не комментировался/располагался с отступом код, который он записал, кроме ситуации, где его явно попросили сделать это.
Я бы использовал что-то вроде следующего:
:%s/^\w+\s+//
Регулярное выражение будет соответствовать одному или нескольким символам "слова", начиная с начала строки, за которыми следует как минимум один пробельный символ. Он удалит слово и любые последующие пробелы. Если строка может содержать только одно слово - и вы все равно хотите, чтобы оно было удалено - вы можете использовать чередование, чтобы сопоставить либо пробел, либо конец строки.
:%s/^\w+(\s+|$)//
Первое слово (где слово определяется как без пробелов)
:%s/^\s*[^ ]* //g
Удалить шаблон:
:%s/< insert pattern here >//g
Загадочность здесь, в истинном стиле vi:
1Gq10dwjq100000@1
Рэнди исправил это в комментариях, чтобы работать над более чем 100000 строками:
ggqqdwj@qq@q
Для тех, кто начинает с Vim , это распадается на:
gg - Go to first line
qq - Record a macro into register 'q'
dwj@q - The macro:
dw - delete word at cursor
j - go down one line
@q - run the macro in register 'q'
q - Stop recording the macro
@q - Execute the macro in register 'q'
По сути, макрос является рекурсивным - он удаляет слово, перемещается вниз по строке, затем вызывает себя снова, повторяя для каждой строки до конца файла. Последний "@q" - это начальный (ручной) вызов, необходимый для отключения макроса в каждой строке.
: на помощь приходит нормальный:
:%norm dw
Он в основном воспроизводит аргументы, как если бы вы вводили их в обычном («без редактирования») режиме.
От: help:
: norm [al] [!] {commands}
Выполнять команды {команды} в нормальном режиме.
Это позволяет выполнять команды нормального режима, набранные на командная строка. {commands} выполняется так же, как и набрано.