Używam vi
na Ubuntu 12.10. Niektóre pliki są dość długie, więc kiedy chcę przejść do środka pliku, muszę przewinąć stronę w dół lub przewinąć w dół.
Czy istnieje skrót do VIM, aby przejść do dokładnego numeru linii?
Używam vi
na Ubuntu 12.10. Niektóre pliki są dość długie, więc kiedy chcę przejść do środka pliku, muszę przewinąć stronę w dół lub przewinąć w dół.
Czy istnieje skrót do VIM, aby przejść do dokładnego numeru linii?
Odpowiedzi:
:150
przeniesie Cię do linii 150 w vi
:1500
przeniesie Cię do linii 1500 w vi
Zgodnie z komentarzami, które możesz chcieć spróbować
150G
aby dostać się do linii 150. co oznacza mniej naciśnięć klawiszy, to :150Enter jeśli nie jesteś pewien, na której linii się znajdujesz, spróbuj
:set nu!
zwróć uwagę na:
jeśli chcesz zawsze widzieć linię, rozważ edycję swojego profilu vima. Najczęściej
vi ~/.vimrc
i dodaj
:set nu!
pisać i kończyć
:wq
#or you could use :x
można to zrobić poza vi. Na przykład, jeśli chcę usunąć wiersz 5000 w pliku tekstowym, mógłbym użyć języka skryptowego. Na przykład przy użyciu seda wyglądałoby to następująco
sed -i '5000d;' inputFile.txt
byłoby to usunięcie linii od 10 do 20
sed -i '10,20d;' inputFile.txt
zauważ, że -i będzie edytować plik w miejscu. Bez opcji -i nastąpi wyjście na standardowe wyjście. Spróbuj. możesz przekierować standardowe wyjście do pliku
sed '5001,$d;' inputFile.txt >> appenedFile.txt
może się tu dużo dziać. spowoduje to usunięcie linii 5001 do $. Z $ będącym końcem pliku. >> zostanie dołączony do pliku. gdzie as> tworzy nowy plik.
jeśli jesteś ciekawy, ile linii znajduje się w pliku, możesz chcieć wpisać wc -l inputFile.txt
niektóre z nich mogą wydawać się okropnie trywialne, ale jeśli próbujesz edytować plik zawierający 50 000 linii, otwarcie i przeglądanie go może zająć vi słodką minutę. gdzie jeśli wiesz, że chcesz tylko usunąć ostatnią linię, możesz użyć seda i zrobić to w ułamku czasu.
sed może również wyszukiwać i zamieniać w pliku. Ale być może awk, perl lub python również mogą być dobrym rozwiązaniem.
ale ogólnie rzecz biorąc, możesz chcieć znaleźć dobry tutorial na vi. istnieją tysiące. Skonsultowałbym się z Google. Być może znajdź sobie VIM Cheatsheat.
150G
działa tak samo jak :150
. Nie jest szybsze, ale może być łatwiejsze do zapamiętania.
<CR>
pod uwagę.
Inne wskazówki VIM: w trybie poleceń
poświęć kilka minut i zacznij czytać ten dokument. Na dłuższą metę wynagradza Cię za efektywność edycji, zwłaszcza pliku konfiguracyjnego.
Z otwartego terminala, w powłoce bash, po prostu edytuj plik, uruchamiając:
$ vi +N yourfile
Gdzie N
jest numer linii.
Do przeglądania ( more
lub less
;):
$ less +N yourfile
$ more +N yourfile
Znak +
oznacza polecenie uruchomienia przy starcie . Więc jeśli komenda jest tylko numer, a następnie vi
, less
i more
, będzie to jak skacze do linii numer .
Ale możesz również użyć /regex
do znalezienia pierwszego wystąpienia określonego ciągu lub wyrażenia regularnego:
$ less +/Error logfile
$ less -i +/error logfile # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...
Kolejna rada: skoro nie masz doświadczenia z vimem, bieganie vimtutor
może być bardzo pomocne.