Как удалить выделенный текст в редакторе VI - PullRequest
96 голосов
/ 25 июня 2010

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

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

Ответы [ 6 ]

175 голосов
/ 25 июня 2010

Я использую 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 очень дидактическим способом.

Смотри также

56 голосов
/ 25 июня 2010

Сделайте это способом vi.

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

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

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

Помните о кривых обучения для некоторых редакторов:

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

24 голосов
/ 20 июня 2016

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

:startingline, last line d

пример:

:7,20 d

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

10 голосов
/ 25 июня 2010

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

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

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

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

6 голосов
/ 25 июня 2010

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

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

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

3 голосов
/ 24 декабря 2012

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

...