Я использую viUbuntu 12.10. Некоторые файлы довольно длинные, поэтому, когда я хочу перейти к середине файла, мне нужно пролистать страницу или прокрутить вниз.
Есть ли ярлык VIM для перехода к точному номеру строки?
@vim эксперты. Это действительно специфично для Ubuntu- / bash- / Linux (согласно тегам OP)? Я не часто использую vim, но для своих целей я не заметил ни малейшей разницы между Ubuntu / CentOS / Suse / Windows.
Александр Малахов
Ответы:
143
:150
приведет вас к строке 150 в vi
:1500
приведет вас к строке 1500 в vi
Согласно комментариям, вы можете попробовать
150G
чтобы добраться до строки 150. это меньше нажатий клавиш, тогда,
:150Enter
если вы не уверены, на какой строке вы находитесь, попробуйте
: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. Попытайся. вы можете перенаправить stdout в файл
sed '5001,$d;' inputFile.txt >> appenedFile.txt
здесь может быть много чего происходит для вас. это удаляет строку 5001 до $. Где $ - конец файла. >> добавит в файл. где as> создает новый файл.
если вам интересно, сколько строк в файле, вы можете ввести wc -l inputFile.txt
некоторые из них могут показаться ужасно тривиальными, но если вы пытаетесь редактировать файл с 50 000 строками, vi может потребоваться приятная минута для открытия и перемещения. где, если вы знаете, что просто хотите удалить последнюю строку, вы можете использовать sed и сделать это за небольшую часть времени.
sed также может выполнять поиск и замену внутри файла. Но, возможно, awk, perl или python также могут быть жизнеспособным решением.
но в целом вы можете захотеть найти хороший учебник по vi. существуют тысячи. Я бы посоветовался с гуглом. Возможно, найдёте себе чит-чит 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's searches to ignore case
$ vi +/open.*myfile myprog...
Ответы:
приведет вас к строке 150 в vi
приведет вас к строке 1500 в vi
Согласно комментариям, вы можете попробовать
150G
чтобы добраться до строки 150. это меньше нажатий клавиш, тогда, :150Enter если вы не уверены, на какой строке вы находитесь, попробуйте
:set nu!
обратите внимание на:
Если вы хотите всегда видеть строку, подумайте о редактировании своего профиля vim. Чаще всего
и добавить
: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. Попытайся. вы можете перенаправить stdout в файл
sed '5001,$d;' inputFile.txt >> appenedFile.txt
здесь может быть много чего происходит для вас. это удаляет строку 5001 до $. Где $ - конец файла. >> добавит в файл. где as> создает новый файл.
если вам интересно, сколько строк в файле, вы можете ввести
wc -l inputFile.txt
некоторые из них могут показаться ужасно тривиальными, но если вы пытаетесь редактировать файл с 50 000 строками, vi может потребоваться приятная минута для открытия и перемещения. где, если вы знаете, что просто хотите удалить последнюю строку, вы можете использовать sed и сделать это за небольшую часть времени.
sed также может выполнять поиск и замену внутри файла. Но, возможно, awk, perl или python также могут быть жизнеспособным решением.
но в целом вы можете захотеть найти хороший учебник по vi. существуют тысячи. Я бы посоветовался с гуглом. Возможно, найдёте себе чит-чит VIM.
источник
150G
делает то же, что и:150
. Это не быстрее, но легче запомнить.<CR>
учесть.Другие советы по vim: в командном режиме
источник
уделите несколько минут и начните читать этот документ. В конечном итоге он вознаграждает вас за эффективность редактирования, особенно файла конфигурации.
источник
В открытом терминале в оболочке bash просто отредактируйте файл, запустив:
Где
N
номер строки.Для просмотра (
more
илиless
;):Знак
+
означает команду для запуска при запуске . Так что, если команда является только число, тоvi
,less
иmore
, будет подскакивает к этому , как номер строки .Но вы также можете использовать
/regex
для поиска первого появления определенной строки или регулярного выражения:$ less +/Error logfile $ less -i +/error logfile # -i Causes less's searches to ignore case $ vi +/open.*myfile myprog...
источник
Еще один совет: поскольку вы новичок в vim, запуск
vimtutor
может быть очень полезным.источник