Как вырезать текстовый файл с помощью Vim

Тоже случалось со мной. Но я нашел решение, я просто устанавливаю "openjdk-7-jdk", в то время как "openjdk-7-jre" уже установлен с помощью "Software Manager".

Я запускаю PhpStorm-2016.1 build PS-145.1616.3 в linuxmint-17.3 под кодовым названием "Rosa".

3
13.03.2017, 17:36
3 ответа

Есть много способов сделать это, вот некоторые из них:

  1. :% s / \%> 56c.//g
  2. :% s / \% 57c. * //
  3. :% s / \ v ^. {56} \ zs. * //
  4. :% нормальный 57 | D (здесь предполагается virtualedit = all или virtualedit = onemore )
  5. Shift-g 57 | Ctrl-v 1 Shift-g Конец x (здесь предполагается virtualedit = all )

Изменить: Добавление соответствующих срыгиваний из руководства по запросу:

  • Для 1. и 2 . (: h / \% c ):

    \% 23c Соответствует определенному столбцу.
    \% <23c Соответствует перед определенным столбцом.
    \%> 23c Соответствует определенному столбцу.
    Эти три могут использоваться для сопоставления определенных столбцов в буфере или строке. «23» может быть любым номером столбца. Первый столбец равен 1. Фактически, столбец - это номер байта (поэтому это не совсем верно для многобайтовых символов).

  • Для 3. (: h \ zs ):

    \ zs Соответствует любой позиции и устанавливает начало совпадения там : следующий символ - это первый символ всего совпадения.

  • Для 4.(: h | , : h D , : h: normal , : h:% , : h 'virtualedit '):

    | Для отображения столбца [count] в текущей строке. исключительное движение. Ceci n'est pas une pipe

    ["x] D Удалите символы под курсором до конца line и [count] -1 строка [в регистр x]; синоним "d $".

    : norm [al] [!] {commands} Выполнить команды в обычном режиме {команды }. Это позволяет выполнять команды в обычном режиме, набранные в командной строке. {Commands} выполняются так же, как и .

    % равно 1, $ (весь файл)

    'virtualedit' Список этих слов, разделенных запятыми:
    block Разрешить виртуальное редактирование в режиме визуального блока.
    insert Разрешить виртуальное редактирование в режиме вставки.
    all Разрешить виртуальное редактирование во всех режимах.
    onemore Разрешить перемещение курсора сразу за конец строки

    Виртуальное редактирование означает, что курсор может быть расположен там, где нет фактического символа. Это может быть на полпути к табуляции или за концом строки. Usefu l для выбора прямоугольника в визуальном режиме и редактирования таблицы.

  • Для 5. (: h G , : h CTRL-V , : h , : hx ) :

    G Перейти к строке [число], последняя строка по умолчанию, на первом непустом символе , строчно.

    [count] CTRL-V Запускать визуальный режим поблочно.

    $ или В конец строки.

    ["x] x Удалить [count] символов под и после курсора [в регистр x] (не линейно ). То же, что и "dl".

4
27.01.2020, 21:11

Предполагая, что под «положением» вы подразумеваете «столбец», можно использовать регулярное выражение

:%s/^\v(.{56}).*/\1/

, которое говорит, что с начала строки ^ больше похоже на Perl ( \ v , magic) соответствует чему угодно . 56 раз сохранение этого материала (скобок), . * для соответствия остальной части строки; замените строку на \ 1 или на то, что сохранено скобками.

Вы также можете более или менее просто вызвать awk , если фильтры по какой-то причине не являются незаконными:

:%!awk '{print $1}'
4
27.01.2020, 21:11

В vim, чтобы {напечатать $ 1} для всего, кроме заголовка, попробуйте:

:2,$s/ .*// 
0
27.01.2020, 21:11

Теги

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