В старые времена, когда я использовал классический ASP, я использовал структуру «ГДЕ 1 = 2» для получения определений столбцов таблицы, а не ее содержимого. В настоящее время существуют более эффективные способы получения определений столбцов с использованием структуры сопоставления объектных отношений.
Я предполагаю, что книга, которую вы читаете, немного устарела, или контекст этого запроса неуместен.
Control-V используется для выбора блока. Это позволит вам выбирать элементы в том же столбце символов.
Похоже, вы хотите удалить кавычки вокруг чисел. Для этого
:%s/"\([0-9]*\)"/\1/g
Вот список шаблонов, которые вы можете делать с vim .
Есть еще одна (своего рода уродливая) форма, которая ограничивает до 4 замен в строке.
:%s/^\( *\)"\([ 0-9]*\)"\([ 0-9]*\)"\([ 0-9]*\)"/\1\2\3\4/g
] И, если у вас есть sed
под рукой, вы также можете попробовать их из оболочки.
head -4 filename.txt | sed 's/pattern/replacement/g'
, который попробует вашу команду в первых 4 строках файла.
См. редактирование столбца в vim . Он описывает вставку столбца, но в основном он должен работать таким же образом для удаления.
Вы также можете создать макрос (q), который удаляет кавычки, а затем переходит к следующей строке. Затем вы можете запускать его несколько раз, указав vi, сколько раз его выполнять. Итак, если вы сохраните макрос, чтобы сказать букву m, вы можете запустить 100 @ mи он удалит кавычки для 100 строк. Для получения дополнительной информации о макросах:
используйте команды визуального блока:
Подробнее см. : h visual-mode
Остальные решения хороши. Вы также можете попробовать ...
: 1, $ s / ^ "\ (\ w \ + \)" / \ 1 / gc
Для получения дополнительной справки по регулярным выражениям Vim также см. http: // vim .wikia.com / wiki / Search_patterns .
Хотя этот случай было довольно просто исправить с помощью регулярного выражения, если вы хотите сделать что-то более сложное, я также рекомендую записать макрос, например Bryan Ward. Также макросы мне проще, чем запоминать, какие символы нужно экранировать в регулярных выражениях vim. А макросы хороши тем, что вы можете видеть, что ваши изменения происходят немедленно, и работать над преобразованием строки меньшими битами за раз.
Так что в вашем случае вы бы нажали qw, чтобы начать запись макроса в регистр w (вы можете конечно используйте любую букву, которую хотите). Обычно я начинаю свои макросы с символа ^, чтобы перейти к началу строки, чтобы макрос не зависел от положения курсора. Затем вы можете сделать f «перейти к первому», x, чтобы удалить его, f «перейти к следующему» и x, чтобы удалить это тоже. Затем q, чтобы закончить запись.