Estou usando vi
no Ubuntu 12.10. Alguns arquivos são muito longos, então quando eu quero ir para o meio do arquivo, tenho que descer a página ou rolar para baixo.
Existe um atalho VIM para ir para um número de linha exato?
Estou usando vi
no Ubuntu 12.10. Alguns arquivos são muito longos, então quando eu quero ir para o meio do arquivo, tenho que descer a página ou rolar para baixo.
Existe um atalho VIM para ir para um número de linha exato?
Respostas:
:150
irá levá-lo para a linha 150 em vi
:1500
irá levá-lo para a linha 1500 em vi
De acordo com os comentários que você pode tentar
150G
para chegar à linha 150. que tem menos toques de tecla do que :150Enter se você não tiver certeza de qual linha está tentando
:set nu!
observe o:
se você quiser ver sempre a linha, considere editar seu perfil do vim. Mais frequente
vi ~/.vimrc
e adicione
:set nu!
e escrever e sair
:wq
#or you could use :x
isso pode ser feito fora do vi. Por exemplo, se eu quiser excluir a linha 5000 em um arquivo de texto, posso usar uma linguagem de script. Por exemplo, usando sed seria o seguinte
sed -i '5000d;' inputFile.txt
para excluir a linha 10 a 20, seria
sed -i '10,20d;' inputFile.txt
observe que o -i editará o arquivo no local. Sem o -i, ele irá para o stdout. Tente. você pode redirecionar o stdout para um arquivo
sed '5001,$d;' inputFile.txt >> appenedFile.txt
isso pode ter muita coisa acontecendo aqui para você. isso exclui a linha 5001 para $. Com $ sendo o fim do arquivo. >> será anexado a um arquivo. onde as> cria um novo arquivo.
se você está curioso para quantas linhas existem em um arquivo você pode querer digitar wc -l inputFile.txt
parte disso pode parecer terrivelmente trivial, mas se você está tentando editar um arquivo com 50.000 linhas, pode levar um bom minuto para abrir e percorrer. onde se você sabe que quer apenas deletar a última linha, você pode usar o sed e fazer isso em uma fração do tempo.
O sed também pode pesquisar e substituir dentro de um arquivo. Mas talvez awk, perl ou python também possam ser uma solução viável.
mas no geral, você pode querer encontrar um bom tutorial sobre o vi. milhares existem. Eu consultaria o google. Talvez encontre um VIM Cheatsheat.
150G
faz o mesmo que :150
. Não é mais rápido, mas pode ser mais fácil de lembrar.
<CR>
em consideração.
Outras dicas do vim: no modo de comando
reserve alguns minutos e comece a ler este documento. Ele recompensa você a longo prazo pela eficiência na edição do arquivo de configuração, especialmente.
Em um terminal aberto, em um shell bash, simplesmente edite seu arquivo executando:
$ vi +N yourfile
Onde N
está o número da linha.
Para visualizar ( more
ou less
;):
$ less +N yourfile
$ more +N yourfile
O sinal +
significa que o comando deve ser executado no início . Portanto, se o comando for apenas um número, então vi
, less
e more
, saltará para isso como um número de linha .
Mas você também pode usar /regex
para encontrar a primeira ocorrência de uma string ou regex específica:
$ less +/Error logfile
$ less -i +/error logfile # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...
Outro conselho: como você é novo no vim, correr vimtutor
pode ser muito útil.