Jakich funkcji Vima używasz? [Zamknięte]


13

Prawie cały dzień programuję w Vimie i jestem pewien, że wielu z was też. Z jakich funkcji korzystasz w codziennym programowaniu? Jednym z nich jest gv , który pozwoli ci ponownie wybrać poprzednio zaznaczony tekst. Świetnie nadaje się do ponownego gry!


1
Dla celów historycznych oto link do oryginalnego pytania SO: stackoverflow.com/questions/95072/…
Jax

Zwróć uwagę na mój komentarz poniżej, a nawet nie będziesz musiał pisać gv. :)
Nathan Long

Odpowiedzi:


9

:% s / x / y / g

To polecenie zastępuje wszystkie wystąpienia xw bieżącym pliku na y . Zasadniczo jest to tylko wyszukiwanie i zamiana, ale używam go tak często, ponieważ nauczyłem się go w pracy, że stał się bezcenny.

Również / search string

następnie n, aby poruszać się po wszystkich instancjach ciągu wyszukiwania w pliku. Idealne do łatwiejszych ręcznych poprawek, zwłaszcza jeśli nie możesz zastosować reguły do ​​całego pliku.


Właściwie pracuję nad przekształceniem dużej części naszej bazy kodu w pracy i robię to całkowicie za pomocą wyrażeń regularnych vim (jak dotąd). Działa naprawdę dobrze!
Frew Schmidt,

Dodaj „c” na końcu, aby polecenie było interaktywne. np .:% s / x / y / gc
sml

1
Zauważ, że %to gdzie dokonać podstawienia - %oznacza „bieżący plik”. Jeśli wizualnie podświetlisz niektóre linie i typ :s, możesz dokonać podstawienia tylko w tym zaznaczeniu.
Nathan Long

7

== robi ładne automatyczne wcięcie na bieżącej linii.

Zwykle jednak używam =ruchu, jak =Gwcięcie do końca pliku lub =i}wcięcie w bieżącym zestawie nawiasów klamrowych.


2
Pamiętaj także o >> i <<, które mogą ręcznie (od) wcięcia.
Frew Schmidt,

@Frew - tak. Ponadto, jeśli dodasz vmap <Tab> >gvi vmap <S-Tab> <gvdo swojego .vimrc, możesz wciąć i cofnąć wciskając odpowiednio Tab i Shift-Tab, ORAZ nastąpi powrót do trybu selekcji wizualnej, abyś mógł dalej wcinać lub cofać wcięcie.
Nathan Long

6

=% do automatycznego wcięcia wszystkiego w bloku kodu.


Oooch! To dla mnie nowe!
Frew Schmidt,

Działa to, jeśli kursor znajduje się na początku {. Jeśli jesteś w bloku, możesz to zrobić =i{, ponieważ „wcięcie w nawiasach klamrowych”.
Nathan Long

5

Użyj *w trybie poleceń, aby wyszukać słowo pod kursorem.


1
I nie zapomnij, że to siostrzane polecenie #, które robi to samo, ale idzie do tyłu zamiast do przodu!
Frew Schmidt,

5

:!Poleceń - bezcenne dla lsing i „sudo tee” trick.

Poproszono mnie o wyjaśnienie sztuczki na tee. Zasadniczo umożliwia zapisanie pliku tekstowego z uprawnieniami administratora, nawet jeśli nie uruchomiłeś VIM jako root:

:w !sudo tee %

Możesz tu wyjaśnić sztuczkę „sudo tee” :-) Lubię też: sortować po podświetleniu definicji zmiennych i tym podobnych.
Frew Schmidt

Możesz naprawdę zmienić Vima w świetny edytor „skryptowy”, używając:! i niektóre skrypty powłoki / Python / Perl / inne.
Jonas,

Właściwie mam alternatywę dla !ls, która uruchamia a vnew, wyjście r!lsdo nowego bufora i zmniejszenie go w poziomie. Nie przejmuję się zapamiętywaniem wszystkich plików w katalogu z ponad trzema;)
new123456 16.11.11

4
.

Uderzenie w. Klawisz powtarza poprzednie polecenie. Świetnie nadaje się, powiedzmy, do edycji .inilub mniej więcej.


jest to zaskakująco potężne, ale potrzeba trochę czasu, aby naprawdę dobrze sobie z tym poradzić.
aaron


2

Zawsze używam gq do ponownego łamania wierszy w wiadomościach e-mail, plikach tekstowych itp. Naprawdę przydatne, gdy odpowiadam na e-mail (używam sosny) i edytuję wiele poprzednich odpowiedzi.


Oooh, całkowicie o tym zapomniałem!
Frew Schmidt,

Dlaczego, och, dlaczego, popularniejsze klienty poczty e-mail nie obsługują podobnych funkcji?
erichui

Ostatnio używam gw zamiast gq, ponieważ utrzymuje pozycję kursora
SergioAraujo

2

Od czego zacząć ... Oto rzeczy, które pamiętam, których użyłem w ciągu ostatnich 5 minut.

  • Drzewo NERD - eksploracja plików. Sprawia, że ​​VIM bardziej przypomina IDE.
    • Jedną wielką rzeczą jest dla mnie możliwość przejścia do cdkatalogu, a następnie przejścia do wiersza poleceń powłoki poprzez moje odwzorowania powłoki (poniżej).
  • ci za opróżnianie wszystkiego, co utknęło pomiędzy.
  • :! do uruchamiania standardowych aplikacji.
    • Mam mapowania do uruchomienia zachęty powłoki, klienta mysql, plików dziennika apache itp.
    • Integracja z Subversion jest zawsze miła. Szybkie diffs, stats itp.
  • :abbr do powtarzania pisania dużych bloków.
  • Zakładki Czy muszę powiedzieć więcej?
  • Rozdzielanie plików, zawsze dobre. :Sexjest zawsze miły.
  • :set paste! aby powstrzymać się od posiadania amoku z automatycznym wcięciem.

Używam wszystkich z wyjątkiem abbr. Zwykle robię dużo więcej makr niż skrótów.
Frew Schmidt,


1

Podczas pisania lub przeglądania kodu C / Tcl / Perl intensywnie używam następujących poleceń:

skopiuj i wklej kod

CTRL-fi CTRL-bdo przewijania stron do przodu i do tyłu przy przechodzeniu
%blok po bloku
^ goto początek linii
$ goto ostatni koniec linii

zacznij wybierać kod za pomocą polecenia v(tryb wizualny) i dowolnego z powyższych klawiszy przejścia
ydo kopiowania w
pcelu wklejenia

s aby usunąć znak i przejść do trybu wstawiania, aby wpisać nowy tekst.

Przejścia na poziomie kodu (wymaga dyscypliny stylu kodowania)

]]do uruchomienia następnej funkcji
[[do uruchomienia poprzedniej funkcji

CTRL-] aby przejść do definicji zmiennej / funkcji / makra, jeśli tagi są dostępne.

Szukaj

* => szukane słowo (lub tekst wybrany za pomocą v) w kierunku do przodu
# => szukane słowo (lub tekst wybrany za pomocą v) w kierunku do tyłu
n => wykonaj poprzednie polecenie wyszukiwania w kierunku do przodu
N => wykonaj poprzednie polecenie wyszukiwania w kierunku do tyłu

Wszystkie powyższe polecenia mogą być poprzedzone liczbą, która wskazuje, ile razy należy je wykonać. Uświadomienie sobie mocy tego dodatkowego wymiaru przychodzi powoli, gdy coraz więcej się używa vima i rzuca wyzwanie poprawie.


Ach,]] i [[są dla mnie nowe. To super!
Frew Schmidt


0

Jestem byłym użytkownikiem programu TextPad i nauczyłem się wielu kluczy akceleratora tego programu. Jedną z pierwszych rzeczy, które zrobiłem w Vimie, było nauczenie się funkcji mapy w celu zachowania spójności (wyszukiwanie F5, zamiana F8 itp.). Stworzyłem swój osobisty schemat kolorów i pożyczyłem wiele z plików vimrc innych osób. Viva Vim! Konfigurowalny w dowolnym stopniu.

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.