Eksperci @vim. Czy to naprawdę jest specyficzne dla Ubuntu / bash / Linux (zgodnie z tagami OP)? Nie używam dużo Vima, ale do moich zastosowań nie zauważyłem najmniejszej różnicy między Ubuntu / CentOS / Suse / Windows.
Alexander Malakhov
Odpowiedzi:
143
: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.
Z otwartego terminala, w powłoce bash, po prostu edytuj plik, uruchamiając:
$ vi +N yourfile
Gdzie Njest numer linii.
Do przeglądania ( morelub 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, lessi more, będzie to jak skacze do linii numer .
Ale możesz również użyć /regexdo 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...
Odpowiedzi:
przeniesie Cię do linii 150 w vi
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
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.
źródło
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ń
źródło
poświęć kilka minut i zacznij czytać ten dokument. Na dłuższą metę wynagradza Cię za efektywność edycji, zwłaszcza pliku konfiguracyjnego.
źródło
Z otwartego terminala, w powłoce bash, po prostu edytuj plik, uruchamiając:
Gdzie
N
jest numer linii.Do przeglądania (
more
lubless
;):Znak
+
oznacza polecenie uruchomienia przy starcie . Więc jeśli komenda jest tylko numer, a następnievi
,less
imore
, 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...
źródło
Kolejna rada: skoro nie masz doświadczenia z vimem, bieganie
vimtutor
może być bardzo pomocne.źródło