Vi & Vim

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


2
Jak wcięcia jako spacje zamiast tabulacji?
Koduję niektóre szablony HTML w plikach JADE. Chcę automatycznie wciskać kod spacjami zamiast tabulacji. Próbowałem shiftwidth=2, tabstop=2ale bez względu na wszystko, nadal wcięcia używają tabulatorów zamiast spacji, co powoduje, że kompilacja JADE generuje błędy. Jak mogę automatycznie wciąć duże sekcje kodu za pomocą spacji zamiast tabulatorów?

5
Najłatwiejszym sposobem przełączania gałęzi git
W tej chwili używam zbiegów do zarządzania prawie wszystkim związanymi z git, ale nie mogę znaleźć dobrego przepływu pracy, aby szybko wizualizować i przełączać się między dostępnymi gałęziami. Mogę zrobić :Git checkout <branch-name>, problem polega na tym, że automatycznie uzupełnia zarówno nazwy plików, jak i gałęzie, i wolałbym listę gałęzi.

2
Czy w autocmd jest sposób na zdarzenia AND?
Chciałbym wyzwolić autocmd na dwóch zdarzeniach, ale nie w sposób, w jaki jest to zwykle robione, tj. Jeśli którekolwiek z tych zdarzeń miało miejsce, uruchom wyzwalacz autocmd. Chcę go uruchomić, jeśli wystąpią oba zdarzenia. Na przykład: Zwykły sposób to zrobić autocmd BufWrite,BufRead *.c *.py *.h :call StripTrailingWhitespaces() Ten kod wywoła …
21 autocmd 

2
W jaki sposób można dołączyć do schowka rejestrację w vimie?
Wiem już, że możesz skopiować coś do rejestru za pomocą: (plus polecenie szarpnięcia, usunięcia itp.) "a Rozumiem również, że możesz dołączyć do rejestru, używając: "A Ponadto rozumiem, jak skopiować coś do rejestru schowka, używając: "+ Co mam wpisać, aby dołączyć do rejestru schowka? Moja wersja vima: VIM - Vi IMproved …

5
Usuń do prawego końca bieżącego bloku wewnętrznego
Powiedzmy, że mam taki kod ( |reprezentuje pozycję kursora ): func1(x|, func2(), y); Chciałbym dostać: func1(x|); Czy istnieje sposób na usunięcie kodu z pozycji kursora do pozycji poprzedzającej prawy koniec bieżącego bloku wewnętrznego ? Wiem, że mogę iść z tym, dt).ale zastanawiam się, czy istnieje sposób, aby połączyć to z …

4
Cofnij <CR> w trybie wstawiania
Czasami w trybie wstawiania &lt;CR&gt;trafiam przez pomyłkę i muszę kilkakrotnie uderzyć w backspace (zależy od wcięcia), aby wrócić tam, gdzie byłem. na przykład &lt;div&gt; &lt;p&gt; This is some text []&lt;/p&gt; &lt;/div&gt; Kursor jest []i uderzyłem &lt;CR&gt;: &lt;div&gt; &lt;p&gt; This is some text []&lt;/p&gt; &lt;/div&gt; Teraz muszę dwukrotnie nacisnąć klawisz Backspace, …


2
Jak mogę ponownie zdefiniować mapowanie klawiszy wtyczek?
Zainstalowałem wtyczkę, która nie zapewnia mechanizmu wyłączania definiowanych mapowań klawiszy. Chcę przedefiniować jedno z mapowań ( &lt;leader&gt;cc) zdefiniowanych przez wtyczkę dla własnego celu, próbowałem umieścić w moim wierszu następujący wiersz .vimrc: noremap &lt;leader&gt;cc echo "my purpose" Ale to nie działa, &lt;leader&gt;ccnadal wykonuje polecenie wtyczki. Jak mogę zdefiniować moje mapowanie, aby …



8
Czy istnieje najlepsza praktyka składania pliku vimrc
Niedawno zdałem sobie sprawę, że moje vimrcma teraz ponad 400 linii (które IMO to za dużo, postaram się to zmniejszyć) i aby ułatwić nawigację, czytanie i edycję, postanowiłem zbadać koncepcję składania w vimie (która Nie znałem) . Próbowałem ustawić metodę składania na, indentale nie podobał mi się wynik (był to …
21 vimrc  folding 

5
GitHub dla .vimrc i wtyczek
Wiem, że wiele osób przechowuje swoje .vimrc na GitHub, aby ułatwić sobie rozpoczęcie pracy na nowych komputerach, co ma dla mnie pełny sens. Dołączanie wtyczek jest jednak problematyczne, ponieważ wtyczki, których używam, są już repozytoriami git. Jak stworzyć repozytorium, które będzie śledzić zarówno ich .vimrc, jak i wszelkie wtyczki, które …

2
Uruchom skrypt bash z vima
Używam vima do tworzenia skryptów bash. Chodzi o to, że czasami nie chcę tworzyć nowego pliku, uczynić go wykonywalnym, wykonać go, a następnie usunąć. Mam na myśli skrypty, które zostaną użyte tylko raz. Na przykład otwieram vima i wpisuję to: #!/bin/bash ll | while read line do echo $line done …


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.