J'utilise vi
sur Ubuntu 12.10. Certains fichiers sont assez longs, donc lorsque je veux aller au milieu du fichier, je dois faire une page vers le bas ou faire défiler vers le bas.
Existe-t-il un raccourci VIM pour accéder à un numéro de ligne exact?
:150
vous amènera à la ligne 150 en vi
:1500
vous amènera à la ligne 1500 en vi
Selon les commentaires que vous voudrez peut-être essayer
15G
pour arriver à la ligne 150. ce qui fait moins de touches puis :15Enter si vous n'êtes pas sûr de la ligne sur laquelle vous vous trouvez, essayez
:set nu!
remarquez:
si vous voulez toujours voir la ligne, pensez à modifier votre profil vim. Le plus souvent
vi ~/.vimrc
et ajouter
:set nu!
et écrire et quitter
:wq
#or you could use :x
cela peut être fait en dehors de vi. Par exemple, si je veux supprimer la ligne 5000 dans un fichier texte, je pourrais utiliser un langage de script. Par exemple, en utilisant sed, ce serait le suivant
sed -i '5000d;' inputFile.txt
supprimer les lignes 10 à 20, il serait
sed -i '10,20d;' inputFile.txt
notez que -i modifiera le fichier en place. Sans le -i, cela deviendra stdout. Essayez-le. vous pouvez rediriger stdout vers un fichier
sed '5001,$d;' inputFile.txt >> appenedFile.txt
cela pourrait avoir beaucoup de choses ici pour vous. cela supprime la ligne 5001 à $. $ Étant la fin du fichier. >> s'ajoutera à un fichier. où as> crée un nouveau fichier.
si vous êtes curieux du nombre de lignes dans un fichier, vous pouvez taper wc -l inputFile.txt
certaines de ces informations peuvent sembler extrêmement triviales, mais si vous essayez de modifier un fichier de 50 000 lignes, l'ouverture et le déplacement peuvent prendre vi une minute. où si vous savez que vous voulez simplement supprimer la dernière ligne, vous pouvez utiliser sed et le faire en une fraction du temps.
sed peut également rechercher et remplacer à l'intérieur d'un fichier. Mais peut-être que awk, Perl ou python pourrait également être une solution viable.
mais dans l'ensemble, vous voudrez peut-être trouver un bon tutoriel sur vi. des milliers existent. Je consulterais google. Vous trouverez peut-être un VIM Cheatsheat.
Autres astuces vim: en mode commande
prenez quelques minutes et commencez à lire ce document. Il vous récompense à long terme pour l'efficacité de l'édition, en particulier du fichier de configuration.
À partir d'un terminal ouvert, dans un shell bash, modifiez simplement votre fichier en exécutant:
$ vi +N yourfile
Où N
est le numéro de ligne.
Pour visualiser (more
ou less
;):
$ less +N yourfile
$ more +N yourfile
Le signe +
signifie commande à exécuter au démarrage. Donc, si commande n'est qu'un nombre, alors vi
, less
et more
, y sautera comme numéro de ligne =.
Mais vous pouvez également utiliser /regex
pour trouver la première occurrence d'une chaîne ou d'une expression rationnelle spécifique:
$ less +/Error logfile
$ less -i +/error logfile # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...
Un autre conseil: puisque vous êtes nouveau sur vim, exécuter vimtutor
peut être très utile.