VIM: как перейти на точную линию на Ubuntu - PullRequest
77 голосов
/ 17 июня 2011

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

Есть ли ярлык VIM для перехода к точному номеру строки?

Ответы [ 5 ]

129 голосов
/ 17 июня 2011
:150

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

:1500

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

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

1 5 0 G

, чтобы добраться до линии 150. что меньше нажатий клавиш, чем : 1 5 0 Введите , если вы не уверены, на какой линии вы находитесь, попробуйте

 :set nu!

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

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

vi ~/.vimrc

и добавьте

:set nu! 

и напишите и выйдите из системы

:wq
#or you could use :x

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

sed -i '5000d;' inputFile.txt

будет

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

, заметьте, что -i отредактирует файл на месте.Без -i это пойдет в стандартный вывод.Попытайся.Вы можете перенаправить стандартный вывод в файл

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

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

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

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

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

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

13 голосов
/ 01 июля 2011

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

  • H переходит в верхнюю часть экрана
  • M переходит в середину экрана
  • L переходит в нижнюю часть экрана
  • г г идет на первую строку
  • G идет к последней строке
7 голосов
/ 17 июня 2011

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

5 голосов
/ 06 ноября 2012

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

$ less +N yourfile

Где N - номер строки для просмотра или

$ vi +N yourfile

для редактирования.Знак + означает команду , запускаемую при запуске .Вы также можете использовать /regex, чтобы найти первый случай в противостоянии yourfile

$ less -i +/error logfile
$ vi +/open.*myfile myprog...
3 голосов
/ 24 июня 2011

Еще один совет: поскольку вы новичок в vim, запуск vimtutor может быть очень полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...