2009-10-17 10 views
33

Jedną z funkcji, której często używam w Vimie, jest m arka i skok do znacznika (') ... Ale działają tylko w pliku.Vim: tworzenie znaczników między plikami?

Czy istnieje sposób na utworzenie znaku, który działa między plikami? Na przykład, aby utworzyć znak a w linii 42 z foo.py, a następnie przejść do tego znaku podczas edycji bar.py?

+4

a (semi) -polite sugestia dla tych, którzy chcą zamknąć vim pytania - po prostu dodaj je do swojej listy ignorowanych! – Peter

+0

Dzięki Peter. Byłoby miło zobaczyć, jaki był powód bliskiego głosowania ... –

+0

to było "należy na superuser.com" – Peter

Odpowiedz

59

Tak. Użyj wielkich liter dla znaku.

http://vim.wikia.com/wiki/Using_marks

towarowe mogą rozciągać się w poprzek plików. Aby użyć takich znaków, należy użyć rejestrów dużych liter, tj. A-Z. Małe rejestry są używane tylko w plikach i nie obejmują plików. To znaczy, jeśli chcesz ustawić znak w pliku foo.c w rejestrze "a", a następnie przejść do innego pliku i nacisnąć "a, kursor nie przeskoczy z powrotem do poprzedniej lokalizacji. Jeśli chcesz znaku, który przeniesie Cię do innego pliku, będziesz musiał użyć rejestru wielkich liter. Na przykład użyj mA zamiast ma.

+0

Awesome, thanks :) –

+0

oh klawiszy, które zapisałbym, gdybym wiedział o tym lata temu! – Jonah

+0

Przysięgam, to jest tak, że za każdym razem, gdy wymyślam tę dziwną rzecz, którą chcę zrobić, zawsze mam taką myśl "hm, zastanawiam się, czy vim to robi ..." i na pewno –

8

Skorzystaj ze znaków A-Z, są one dostępne w różnych plikach.

+1

Dzięki :) Mam nadzieję, że nie poczujecie się urażeni, jeśli dam odpowiedź na nie ... On wydaje się potrzebować rep a * trochę * więcej;) –

+1

znaczniki i rejestry są różne, rejestr A nie jest tym samym, co znak A ... w rzeczywistości nie ma rejestru "A", szarpiąc się, aby zarejestrować A będzie dołączać szarpany tekst do rejestracji " zamiast tego. –

+0

@ sharat87: masz rację, przeformułowałem moją odpowiedź ... – CMS

Powiązane problemy