Я использую vi
в Ubuntu 12.10. Некоторые файлы довольно длинные, поэтому, когда я хочу перейти в середину файла, мне приходится листать вниз или прокручивать вниз.
Есть ли ярлык VIM, чтобы перейти к точному номеру строки?
Я использую vi
в Ubuntu 12.10. Некоторые файлы довольно длинные, поэтому, когда я хочу перейти в середину файла, мне приходится листать вниз или прокручивать вниз.
Есть ли ярлык VIM, чтобы перейти к точному номеру строки?
: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.
Другие подсказки vim: в командном режиме
возьмите несколько минут и начните читать этот документ. Он вознаграждает вас в долгосрочной перспективе за эффективность редактирования особенно конфигурационного файла.
Из открытого терминала в оболочке 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...
Другой совет: поскольку вы новичок в vim, запуск vimtutor
может быть очень полезным.
Добавление к другим ответам -
line_number
G перемещает вас к line_number
.
G перемещает вас к последней строке.