Długo mieszam użycie emacs
i vi
( vim
). Każdy z nich ma swoją przewagę. Analizuję dane wyjściowe błędu z procesu takiego jak kompilacja i uzyskuję numer wiersza i kolumny, ale mogę użyć tylko emacs
do bezpośredniego przejścia do wiersza i kolumny:
emacs +15:25 myfile.xml
z vi
mam tylko numer linii (zgodnie ze stroną podręcznika)
vi +15 myfile.xml
Istnieje opcja przejścia kursora pozycji na wzorzec ( vi +/pattern myfile.xml
), którego nigdy nie dostałem do pracy. Ale to by mi nie pomogło, ponieważ wzorzec nie zawsze jest pierwszym wystąpieniem w pliku.
Jak mogę rozpocząć, vi
aby przejść do kolumny 25 w wierszu 15 mojego pliku? Czy mogę zrobić coś z -c
opcją?
quickfix
system, który działa kompilator od wewnątrz vim, analizuje wyjście błędu, zapełnia się lista błędów (nawigować:cp
,:cn
,:cl
polecenia) i ustawia kursor na pierwszej?:15
go, przejdzie do wiersza 15 .. Mam nadzieję, że to ci pomożeOdpowiedzi:
Możesz użyć:
źródło
15G
przejść do linii 15 i25|
do kolumny 25. A Christa pokazuje, jak to zrobić z linii poleceń.Za pomocą wtyczki linii pliku możesz po prostu dołączyć linię i kolumnę do nazwy pliku, zarówno podczas wywoływania Vima, jak i wewnątrz za pomocą poleceń takich jak
:edit
:źródło
vim myfile.xml +15
dla wiersza bez wtyczki, ale o ile wiem, nie kolumnydla zabawy jest taka,
-c 'normal 14j24l'
która umieści cię w linii 15 znak 25źródło
Nie wiem o tej
-c
opcji, ale powinieneś być w stanie zrobić:(pamiętaj, aby zacytować z powodu nawiasu
()
)źródło
cursor()
używa indeksu bajtów dla kolumny, ale zwykle jest to liczba znaków.Warto zauważyć:
Uruchom podane polecenie ex przy uruchomieniu. Dla vi dozwolona jest tylko jedna opcja -c ; Vim akceptuje do 10. Starsza forma tej opcji
+command
, jest nadal obsługiwana.+command
Ma ten sam pojedynczyex command
ograniczenia przy stosowaniuvi
.+/pattern
Jest również ograniczona do jednego polecenia zvi
.(pochodzi z vima i byłego edytora )
źródło
Możesz dodać następujący kod do swojego vimrc. Kiedy wrócisz do pliku, vim automatycznie wróci do starej pozycji:
źródło