Удалите первое слово каждой строки

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

26
задан Peter Mortensen 23 June 2012 в 00:30
поделиться

5 ответов

Я бы использовал что-то вроде следующего:

:%s/^\w+\s+//

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

:%s/^\w+(\s+|$)//
20
ответ дан 28 November 2019 в 06:13
поделиться

Первое слово (где слово определяется как без пробелов)

:%s/^\s*[^ ]* //g

Удалить шаблон:

:%s/< insert pattern here >//g
3
ответ дан 28 November 2019 в 06:13
поделиться

Что насчет этого?
:%! cut -s -d '' -f2-

4
ответ дан 28 November 2019 в 06:13
поделиться

Загадочность здесь, в истинном стиле 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" - это начальный (ручной) вызов, необходимый для отключения макроса в каждой строке.

26
ответ дан 28 November 2019 в 06:13
поделиться

: на помощь приходит нормальный:

:%norm dw

Он в основном воспроизводит аргументы, как если бы вы вводили их в обычном («без редактирования») режиме.

От: help:

: norm [al] [!] {commands}

Выполнять команды {команды} в нормальном режиме.

Это позволяет выполнять команды нормального режима, набранные на командная строка. {commands} выполняется так же, как и набрано.

31
ответ дан 28 November 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: