Vi & Vim

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


6
Jak dodać linię na końcu pliku tylko wtedy, gdy jeszcze go nie ma?
Chciałbym edytować plik w miejscu, dodając wiersz, tylko jeśli jeszcze nie istnieje, aby mój skrypt był kuloodporny. Normalnie zrobiłbym coś takiego: cat >> ~/.bashrc <<EOF export PATH=~/.composer/vendor/bin:\$PATH EOF Można to również zrobić za pomocą ansible ( line+ insertafter=EOF+ regexp), ale to inna historia. W vi / ex mogłem zrobić coś …

1
Aby drukować z wyróżnionymi wynikami wyszukiwania
Kiedy szukamy wzoru w vimie, dopasowania są zwykle podświetlone. Jednak po wydrukowaniu podświetlenia znikają. Próbowałem zarówno :hardcopy > my_file.pdfi :TOhtml. Żaden z nich nie zachowuje podświetlenia. Czy istnieje sposób, w jaki mogę wydrukować dokument z dopasowanymi wzorami podświetlonymi do pliku pdf? Używam GVim 7.4 na maszynie Win 7.

1
Klawiatura numeryczna nie działa z vi i Putty?
Kiedy edytuję plik vimprzez SSH, spróbuję użyć klawiatury numerycznej na klawiaturze, aby wprowadzić długie cyfry (np. Adresy IP). Vimwydaje się, że to nie bardzo lubi. Używam PuTTY dla Windows do SSH na komputerze z systemem Debian. Naciśnięcie powoduje 123przejście do mnie niezależnie od tego, czy jestem w trybie wstawiania, czy …
10 terminal  putty 


1
Zapobiegaj odświeżaniu ekranu do momentu zakończenia funkcji
Mam funkcję, która dużo przesuwa i wyprowadza tekst do bieżącego bufora vima, a kiedy go uruchamiam, widzenie wszystkiego, co dzieje się z oślepiającą prędkością, jest nieco niepokojące. Jak mogę zamrozić ekran, dopóki funkcja nie zostanie wykonana? Oto funkcja, o której mowa: function! MakeChoices() :let save_view = winsaveview() let start = …
10 vimscript 

3
Jak policzyć słowa w części pliku, nie pozostawiając vima?
Mam plik pełen tekstu (np. Markdown lub LaTeX). Chciałbym policzyć liczbę słów w części tego pliku. Wiem, że mogę zrobić, :! wc -w %aby uruchomić wc -w na bieżącym buforze. I wiem, że mogę wciągnąć interesującą sekcję do rejestru nazwanego. Zgaduję, że istnieje sposób wysłania nazwanego rejestru do systemu operacyjnego …

4
Wyświetl bieżącą nazwę pliku do edycji w wierszu polecenia
Jak mogę wyświetlić ścieżkę do bieżącego pliku w wierszu poleceń, aby wpisać podobną nazwę pliku? Nie chcę skrótu, który zostałby zastąpiony bieżącą nazwą pliku, chcę edytować nazwę pliku wraz ze ścieżką do katalogu. Na przykład chcę :editplik o podobnej nazwie lub w podobnym katalogu, np vim src/submodule/frontend/frobnicate2.c a teraz chcę …

1
NERDTree Jak otworzyć plik i automatycznie zamknąć bufor eksploratora
Podczas korzystania z wtyczki NERDTree domyślnym zachowaniem jest otwieranie nowego pliku i utrzymywanie bufora NERDTree otwartego. Chcę zachować to domyślne zachowanie, ale także przesłonić je, kiedy chcę, aby bufor NERDTree został zamknięty po otwarciu pliku. Wiem, że mogę użyć let NERDTreeQuitOnOpen=1do automatycznego zamknięcia bufora NERDTree po otwarciu nowego pliku, ale …

2
Kontekstowe mapowanie lub skrót trybu wstawiania
Planuję zaimplementować mapowania narzędzi dla mojej wtyczki LaTeX, aby uprościć pisanie matematyki. Na przykład chcę utworzyć skróty podobne do `a : \alpha `b : \beta -> : \to => : \Rightarrow I podobne. Chcę, aby niektóre z mapowań były dostępne tylko w środowiskach matematycznych, a nie na zewnątrz. Wiem, że …


1
Wykonaj zawartość bufora jako vimscript
Mam nofilebufor, który zawiera vimscript i chcę go uruchomić. Jednak :so % nie będzie działać, ponieważ wymaga zapisanego pliku, a nie bufora. Czy jest domyślnie polecenie vim? Jeśli nie, to czy można stworzyć funkcję, która robi te same rzeczy?

1
Czy można utworzyć niestandardowe polecenia „set” w moim pliku rc i wywoływać je z modeliny?
Niedawno zadałem pytanie, w którym dowiedziałem się, że nie można przekazywać niczego oprócz parametrów do :setmodeli in vim. Rozumiem obawy związane z bezpieczeństwem, ale zastanawiam się, czy nie ma innego rozwiązania. Ostatnie pytanie na SO o ustawienie dużych partii parametrów zgodne ze standardem kodowania mnie do myślenia, że byłoby możliwe …

4
Jak osiągnąć wybór różnej długości tekstów w różnych wierszach?
zakładam, że mam następujące teksty: aaa-dd-e: „aaa”, bb-x: „bb”, c-9: „c” Chcę dokonać wyboru jak poniżej: aaa-dd-e:„aaa”, bb-x:„bb”, c-9:„c” Próbowałem użyć cv do utworzenia bloku wizualnego, ale po utworzeniu zaznaczenia w pierwszej kolumnie i naciśnięciu „f:” (chciałem rozszerzyć zaznaczenie do znaku dwukropka w każdej linii jak wyżej), otrzymuję: aaa-dd-e: „aaa”,: …

5
Jak otworzyć wiele plików pasujących do wyrażenia wieloznacznego?
Chcę edytować kilka plików pasujących do wyrażenia glob. Na przykład, aby edytować wszystkie pliki konfiguracyjne git w katalogach potomnych, mogę to zrobić w powłoce: vim */.git/config W :wierszu poleceń Vima spodziewałem :find */.git/configsię zrobić coś podobnego (tj. Otworzyć wszystkie pliki pasujące do wyrażenia glob), ale zamiast tego narzeka E77: Too …

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.