2011-02-04 3 views
2

Я использую эту команду ниже, чтобы удалить первый столбец документа:Пытается удалить первый столбец документа.

%s/^[^\t]*\zs\t[^\t]*\ze//g 

, но он говорит, команда не найдена. Есть идеи?

+0

ли вы начать командную строку ввод с ударом двоеточия? Вы не используете 'S' вместо' s'? – Benoit

+0

Добавьте несколько строк текста, над которыми вы работаете. –

+0

Возможный дубликат [Можете ли вы удалить столбец текста в Vim/Vi/gVim?] (Http://stackoverflow.com/questions/1028413/can-you-delete-a-column-of-text-in-vim -vi-gvim) – dogbane

ответ

0

Если я вас правильно понял, то это должно сделать работу:

:%s/^[^\t]// 

Команда удаляет все ведущие символы, которые не табулятор.

В качестве альтернативы, если вы редактируете табулятором значений, разделенных документа и хотите удалить все «столбцы» до первого табулятора, то это должно сделать это для вас:

%s/^[^\t]*\t// 
12

Вот самый быстрый способ удалить первый столбец:

  1. Пресс гг, чтобы перейти к первому символу в документе.
  2. Хит Ctrl + V для входа в режим визуальных блоков.
  3. Hit G (то есть сдвиг-G), чтобы перейти к концу документа
  4. Hit х удалить первый столбец.
+0

har, я отправил это на SU (см. Перекрестный столбец) .. но потом удалил его, потому что неясно, если первый char уже делает первый столбец. :) – akira

+0

Кажется, что он удаляет столбец с первым символом, не обязательно первый столбец. Например, если вы хотите удалить столбец пробелов, это не сработает. – rcreswick

3

Мне нравится решение выбора блока @Peter, но если вы хотите использовать замену вам нужна эта команда:

:%s/^.// 

Давайте проанализируем, почему это работает:

  • :%s Exec замена на весь документ
  • /^./ выберите первый символ после начала строки
  • / и замените его на ... ничего.
0

Следующая команда работает для меня:

:%s/^\w*// 
Смежные вопросы