6 Вопрос: Как удалить выделенный текст в редакторе VI

вопрос создан в Wed, Jun 20, 2018 12:00 AM

Я использую putty и редактор vi. Если я выделю 5 строк с помощью мыши и хочу удалить эти строки, как я могу это сделать?

Кроме того, как я могу выделить строки с помощью клавиатуры, как я могу в Windows, где я нажимаю shift и перемещаю стрелки, чтобы выделить текст? Как я могу сделать это в vi?

    
96
  1. У меня есть список распечатанного человека, но я не смог найти, как удалить выделенный текст
    2010-06-25 01: 15: 12Z
  2. x Удалить символ справа от курсора X Удалить символ слева от курсора D Удалить до конца строки dd Удалить текущую строку: d Удалить текущую строку из lagmonster.org/docs/vi.html надеюсь, что это немного поможет
    2010-06-25 01: 21: 19Z
  3. Вопросы по VIM для суперпользователя? LOL!
    2010-06-25 01: 33: 26Z
  4. @ Pascal: хм, да, вы правы. Красиво отформатированный ответ, кстати. О, и его /ее вопрос был не о VIM, а о VI. ;)
    2010-06-25 02: 12: 00Z
6 ответов                              6                         
  

Я использую putty и редактор vi, если выделю 5 строк мышью и хочу удалить эти строки, как я могу это сделать

Забудь о мышке. Чтобы удалить 5 строк, либо:

  • Перейдите к первой строке и введите d5d ( dd удаляет одну строку, d5d удаляет 5 строк) ~ или ~
  • Введите Shift-v , чтобы войти в режим выбора линии , затем переместите курсор вниз, используя j (да, используйте h , j , k и l для перемещения влево , вниз , вверх , вправо соответственно, это намного эффективнее, чем при использовании стрелок), и введите d , чтобы удалить выделение.
  

Кроме того, как я могу выбрать строки на клавиатуре, как в Windows, нажмите и сдвиньте стрелки, чтобы выделить текст. как я могу сделать это в vi

Как я уже сказал, либо используйте Shift-v , чтобы войти в режим выделения, либо v , чтобы войти в режим выбора символов, либо Ctrl-v , чтобы войти в режим выбора блоков. Затем перейдите с помощью h , j , k и l .

Я предлагаю провести некоторое время с VIM Tutor (запустите vimtutor), чтобы познакомиться с VIM очень дидактическим способом.

Смотрите также

174
2018-12-15 00: 29: 17Z
  1. На самом деле, vim имеет отличную поддержку мыши, если ваш терминал поддерживает это. Например, используя демон gpm в консоли или запуская xterm или konsole в графической среде, вы можете указать vim set mouse=a (или добавить его в свой .vimrc), и мышь можно использовать для выбора, выбора и т.д., для выбора или изменения размера. DIV>
    2010-06-25 01: 34: 55Z
  2. @ Ben Вы правы, я вообще не пользуюсь мышью, но это не значит, что VIM не может справиться с этим (при определенных обстоятельствах). Я на самом деле удалял эту неточную часть из моего ответа, пока вы печатали.
    2010-06-25 01: 36: 56Z
  3. Кроме того, очень трудно сказать, когда ваш V является заглавным или нет ... Я бы предложил сказать [Shift] + [V] для выбора в линейном режиме.
    2010-06-25 01: 40: 41Z
  4. @ Бен Хорошее предложение, его действительно трудно было прочитать. Спасибо.
    2010-06-25 01: 46: 53Z
  5. @ FredericoPantuzza Это вопрос движения руки в этот момент - цель состоит в том, чтобы всегда держать пальцы на клавишах домашней строки. Необходимость поднять правую руку и сдвинуть ее к клавишам со стрелками, чтобы использовать их, со временем накапливается.
    2017-09-06 15: 27: 18Z

Сделай это по-ви.

Чтобы удалить 5 строк, нажмите: 5dd (5 удалить)

Чтобы выбрать (скопировать их в буфер обмена), введите: 10yy

Это немного сложно понять, но очень удобно учиться при использовании этих удаленных терминалов

Будьте в курсе кривых обучения для некоторых редакторов:

http://unix.rulez.org/~calver/pictures/curves.jpg р>     

55
2010-06-25 02: 00: 40Z
  1. + 1 только для изучения кривых.
    2010-06-25 02: 13: 31Z
  2. Мне нравятся кривые обучения
    2013-10-07 13: 41: 54Z
  3. учебная спираль lol emacs
    2014-02-04 03: 07: 18Z

Если вы хотите удалить, используя номера строк, вы можете использовать

:startingline, last line d

Пример: р>

:7,20 d

В этом примере будут удалены строки с 7 по 20. .

    
21
2016-06-20 08: 48: 39Z
  1. Это работает как шарм. Спасибо огромное!
    2019-05-23 07: 55: 15Z

Подсветка с помощью мыши выделяет только символы на терминале. VI на самом деле не получает эту информацию, поэтому вы должны выделить по-другому.

Нажмите «v», чтобы войти в режим выбора, и используйте клавиши со стрелками для его перемещения. Чтобы удалить, нажмите x. Чтобы выбрать строки одновременно, нажмите shift + v. Чтобы выбрать блоки, попробуйте Ctrl + V. Это хорошо, скажем, для вставки множества строк комментариев перед вашим кодом:).

Я в порядке с VI, но мне потребовалось некоторое время, чтобы улучшить. Мои коллеги по работе рекомендовали мне этот шпаргалку . Я держу распечатку на стене в те странные моменты, когда что-то забываю.

Счастливого взлома!

    
10
2010-06-25 01: 24: 36Z

При использовании терминала, такого как Putty, обычно щелчки и выборы мыши не передаются в удаленную систему. Итак, vi не знает, что вы только что выбрали текст. (Есть исключения из этого, но в целом действия мыши не передаются.)

Чтобы удалить несколько строк в vi, используйте что-то вроде 5dd для удаления 5 строк.

Если вы не используете Vim , я бы настоятельно рекомендовал это сделать. Вы можете использовать визуальный наборлекция, где вы нажимаете V для запуска визуального блока, перемещаете курсор на другой конец и нажимаете d для удаления (или любую другую команду редактирования, например y для копирования).

    
6
2010-06-25 01: 25: 12Z
  1. Из любопытства, как вы отформатировали эти ключи?
    2010-06-25 01: 34: 07Z
  2. @ Джастин Л .: Используйте <kbd>a</kbd>.
    2010-06-25 01: 53: 09Z
  3. Спасибо! : D Есть ли где-нибудь еще где-то спрятанные?
    2010-06-25 05: 57: 45Z
  4. Putty способна передавать команды мыши; первое предложение может быть устаревшим.
    2013-09-18 05: 18: 29Z

Если вы хотите удалить все строки в файле из текущего номера строки, используйте dG, он удалит все строки (shift g) со средним концом файла

    
3
2016-04-28 08: 10: 13Z
источник размещен Вот