Vi & Vim

Pytania i odpowiedzi dla osób korzystających z rodzin edytorów tekstu vi i Vim

2
Jak mogę otworzyć plik z innej gałęzi git?
Chciałbym otworzyć plik z innej gałęzi w bieżącym repozytorium git. Widziałem to SO pytanie , ale sugestie dotyczące połączenia go z Vimem są kłopotliwe (ręcznie potokuj do Vima, otwórz standardowe wejście, ustaw typ pliku itp.). Czy istnieje prostszy sposób, który zachowuje wyróżnianie składni, ustawienia rodzaju pliku itp.? Jeśli to pomaga: …
35 git 

5
Jak zapisać plik w katalogu, który jeszcze nie istnieje?
Załóżmy, że uruchomię Vima, aby edytować nowy plik w katalogu, który nie został jeszcze utworzony: vim nonExisitingDirectory/newFile.txt Vim chętnie pokaże mi pusty bufor i mogę zacząć pisać mój nowy plik. Ale gdy chcę zapisać plik na dysku, pojawia się ten błąd: E212: Can't Open file for writing. Zakładam, że dzieje …
35 save  autocmd 

10
Jak skomentować zestaw linii wybranych w trybie wizualnym?
Jak skomentować wiele wybranych linii w trybie wizualnym? Jak sprawić, by był specyficzny dla języka? Na przykład, jeśli wybrane zostaną pierwsze 4 linie: def foo(a,b): for each in (a,b): print each return a+b print "2" Działanie polecenia / makra powinno spowodować (w pythonie): #def foo(a,b): # for each in (a,b): …

5
Jak zrobić funkcję vimscript z opcjonalnymi argumentami?
Chcę utworzyć funkcję z opcjonalnymi argumentami. W Pythonie zrobiłbym coś takiego: def functionName(arg1,arg2=false,arg3=false): if arg2: #Do stuff with arguments else: #Do stuff without arguments Próbowałem to zrobić function FunctionName(arg1,arg2=false,arg3=false), ale po prostu wyświetla mi się błąd, mówiąc niepoprawny argument. Jak mam to zrobić w vimscript?
35 vimscript 

2
Co robi: ustaw tło = ciemne?
Nie umieściłem color xxxw moim .vimrc. Widzę to, kiedy po raz pierwszy otwieram .vimrc. :colordaje mi defaulttutaj. Potem piszę :color darcula. I to się zmienia. :colordaje mi darculatutaj (naturalnie). Potem piszę :set background=dark. I to się zmienia. :colordaje mi defaulttutaj (zadziwiająco). Moje pytanie brzmi: co dokładnie robi :set background=dark? Próbowałem …





6
Czy mogę usunąć całą linię, z wyjątkiem podziału linii?
Dość powszechną operacją dla mnie w vimie, ponieważ jestem kompulsywno-obsesyjny i lubię utrzymywać moje pliki wolne od białych znaków, jest usuwanie zawartości całej linii, ale nie samej linii (tj. Nie łamanie linii). Czy istnieje wbudowany sposób, aby to zrobić? Być może d<movement command>operacja? Jak dotąd najlepsze, jakie mam (na linii, …

6
Stosowanie ustawień tylko do drzewa katalogów
W mojej pracy używamy standardu ts2; moje osobiste preferencje to 4, z czego korzystam w swoich projektach hobbystycznych, a ten inny odziedziczony przez nas projekt ma konwencję ts=8. Są też inne ustawienia, które chcę ustawić na podstawie projektu (na przykład składanie). Oparcie tych ustawień na typie pliku lub automatyczne wykrywanie …
33 vimrc  filesystem 

2
Czy mogę zobaczyć historię naciśnięć klawiszy w trybie normalnym?
Wiem, że Vim przechowuje historię dla byłych poleceń, wyszukiwań, lokalizacji skoków, zmian i ewentualnie innych. Po showcmdustawieniu Vim pokazuje również, jakie klawisze zostały wprowadzone do tej pory dla polecenia trybu normalnego, dopóki polecenie to nie zostanie wykonane. Czasami, gdy jestem w trybie normalnym, mylę się i występują działania. Mogę cofnąć …

3
Czy mogę używać czcionek o stałej szerokości w Vimie lub gVimie?
Czy jest jakiś sposób na użycie czcionki innej niż monospace w jednym vimlub gvim? Próbowałem zmienić czcionkę dla gVim za pomocą: :set guifont=Dejavu\ Serif\ 12 Ale to daje mi raczej brzydkie wyniki: Otrzymuję te same wyniki, jeśli korzystam z menu (Edycja -> Wybierz czcionkę) :help guifont mówi: Note that the …
32 terminal  gvim  font 

3
Jak uzyskać inteligentne automatyczne uzupełnianie w C ++
Niektóre edytory (takie jak Visual Studio w systemie Windows) wykonują autouzupełnianie w C ++, które rozumieją C ++. Na przykład biorąc pod uwagę: #include <vector> int main(void) { std::vector<int> v; v.i W studiu wizualnym automatyczne uzupełnianie zna jedyną metodę, std::vector<int>która zaczyna się od „i” insert. Czy możliwe jest uzyskanie tego …

3
Jak „chomp” ciąg znaków w Vimie?
Załóżmy, że uruchamiasz następujący fragment vimscript: let @z = system("date") Spowoduje to umieszczenie wersji rejestru bieżącej daty w rejestrze Z, ale ciąg zakończy się nową linią, której nie chcę. Czy istnieje wbudowany sposób (podobny do Perla chomp), aby pozbyć się nowych linii ciągu?
32 vimscript 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.