Подтвердить что ты не робот

VIM: как перейти к точной строке на Ubuntu

Я использую vi в Ubuntu 12.10. Некоторые файлы довольно длинные, поэтому, когда я хочу перейти в середину файла, мне приходится листать вниз или прокручивать вниз.

Есть ли ярлык VIM, чтобы перейти к точному номеру строки?

4b9b3361

Ответ 1

:150

приведет вас к строке 150 в vi

:1500

приведет вас к строке 1500 в vi

В соответствии с комментариями вы можете попробовать

1 5 0 G

чтобы перейти к строке 150. что меньше : 1 5 0 Enter если вы не уверены, какую строку вы используете, попробуйте

 :set nu!

Обратите внимание:

если вы хотите всегда видеть, что линия рассматривает редактирование вашего профиля vim. Чаще всего

vi ~/.vimrc

и добавьте

:set nu! 

и напишите и закройте

:wq
#or you could use :x

это можно сделать за пределами vi. Например, если я хочу удалить строку 5000 в текстовом файле, я мог бы использовать язык сценариев. Например, с помощью sed это будет следующий

sed -i '5000d;' inputFile.txt

для удаления строки с 10 по 20 это будет

sed -i '10,20d;' inputFile.txt

Обратите внимание: -i будет редактировать файл на месте. Без -i это будет достигнуто. Попробуй. вы можете перенаправить stdout в файл

sed '5001,$d;' inputFile.txt >> appenedFile.txt

у вас может быть много чего для вас. это удаляет строку 5001 в $. С $будет конец файла. → будет добавлен в файл. где as > создает новый файл.

если вам интересно, сколько строк находится в файле, вы можете ввести wc -l inputFile.txt

некоторые из них могут показаться ужасно тривиальными, но если вы пытаетесь отредактировать файл с 50 000 строк, может потребоваться минута vi, чтобы открыть и пройти. где, если вы знаете, что хотите просто удалить последнюю строку, вы можете использовать sed и сделать это за долю времени.

sed также может искать и заменять внутри файла. Но возможно, awk, perl или python также могут быть жизнеспособным решением.

но в целом вы можете найти хороший учебник по vi. существуют тысячи. Я бы посоветовал Google. Возможно, найди себе VIM Cheatsheat.

Ответ 2

Другие подсказки vim: в командном режиме

  • H отображается в верхней части экрана.
  • M переходит в середину экрана.
  • L идет в нижней части экрана.
  • g g переходит в первую строку
  • g переходит в последнюю строку

Ответ 3

возьмите несколько минут и начните читать этот документ. Он вознаграждает вас в долгосрочной перспективе за эффективность редактирования особенно конфигурационного файла.

Ответ 4

Из открытого терминала в оболочке bash просто отредактируйте файл, выполнив:

$ vi +N yourfile

Где N - номер строки.

Для просмотра (more или less;):

$ less +N yourfile
$ more +N yourfile

Знак + означает команду для запуска при запуске. Таким образом, если команда является только числом, то vi, less и more перейдут к этому как номеру строки.

Но вы также можете использовать /regex для поиска первого вхождения конкретной строки или регулярного выражения:

$ less +/Error logfile
$ less -i +/error logfile      # -i Causes less searches to ignore case
$ vi +/open.*myfile myprog...

Ответ 5

Другой совет: поскольку вы новичок в vim, запуск vimtutor может быть очень полезным.

Ответ 6

Добавление к другим ответам -

line_number G перемещает вас к line_number.
G перемещает вас к последней строке.