Zastanawiałem się, czy w Vimie było jakieś mapowanie klawiszy, które pozwoliło mi na wcięcie niektórych linii kodu (czy te linie zostały wybrane w trybie wizualnym, czy n linii powyżej / poniżej aktualnej pozycji kursora).
Więc w zasadzie coś, co przekształca następujące
def my_fun(x, y):
return x + y
do
#def my_fun(x, y):
# return x + y
Jestem w porządku z zastosowaniem jednej #
lub """
dla zakomentowanie odpowiednie linie. Idealnie, chciałbym również tego samego mapowania klawiszy, aby odkomentować linie, jeśli dane linie zostały skomentowane.
Odpowiedzi:
Krok 1: Przejdź do pierwszej kolumny pierwszego wiersza, który chcesz skomentować.
Krok 2: Naciśnij: Ctrl+ vi wybierz linie, które chcesz skomentować:
Krok 3: Shift -
I
#space(Wejdź w tryb wstawiania po lewej, wpisz znaki, aby wstawić. Wybór zniknie, ale wszystkie wiersze w nim zostaną zmodyfikowane po kroku 4.)Krok 4: Esc
źródło
Shift-I # <ESC>
nie działał (może robię to źle).w jedną stronę ręcznie
źródło
:10,12s/^#//
Możesz dodać następujące mapowanie do swojego .vimrc
Podświetl swój blok za pomocą:
#
aby skomentować twoje linie z pierwszej kolumny.-#
odkomentować w ten sam sposób.źródło
Podświetl swój blok za pomocą: ShiftV
Skomentuj wybrany blok za pomocą:
:norm i#
(małe litery i)Aby anulować komentarz, ponownie zaznacz blok i odkomentuj:
:norm ^x
:norm
Polecenie wykonuje czynność dla każdej wybranej linii. Komentowanie wstawi znak#
na początku każdej linii, a anulowanie komentarza spowoduje jego usunięcie#
.źródło
Shift+v
), a następnie używanie:norm i#
tylko zmienia pierwszą wybraną linię. To działa dla mnie, aby komentować wiersze od 389 do 391::389,391norm i #
Zwykle usuwam blok wizualny (
<C-V>
), a następnie szukam i zastępuję pierwszy znak:(Wejście w tryb poleceń z zaznaczonym blokiem wizualnym powoduje automatyczne umieszczenie „<,”> w wierszu poleceń). Następnie mogę anulować komentarz, usuwając ten sam blok wizualny i:
źródło
Istnieje kilka dobrych wtyczek, które pomagają w komentarzach / komentarzach. Na przykład komentator NERD .
źródło
Mam następujące wiersze w moim
.vimrc
:Skróty zachowują pozycję kursora i komentarze tak długo, jak się zaczynają
#
(po # jest spacja). Na przykład:Po komentowaniu:
Po niewygodnym:
źródło
s/^/#/
wyrażenia regularnego. Wolę, aby znak komentarza pojawiał się na początku wiersza ... ale co ważniejsze, „komentowanie komentarzy” jest naprawdę dość ważne. Odrzuciłbym równieżau BufEnter *.py
, ponieważ#
komentarze są na tyle ogólne, że polecenia mogą być domyślnie używane we wszystkich buforach.Szczerze mówiąc używam wtyczki Tcomment dla tego linku . Obsługuje prawie każdą składnię. Definiuje ładne ruchy, używając go z niektórymi dopasowaniami bloków tekstu specyficznymi dla Pythona, czyni go potężnym narzędziem.
źródło
NERDcommenter to doskonała wtyczka do komentowania, która automatycznie wykrywa wiele typów plików i powiązanych z nimi znaków komentarzy. Śmiesznie łatwy w instalacji za pomocą Pathogen .
Skomentuj za pomocą
<leader>cc
. Niezomowanie się z<leader>cu
. I przełączaj komentarze za pomocą<leader>c<space>
.(Domyślny
<leader>
klucz w vimie to\
)źródło
Istnieje wiele wtyczek komentarzy do vima - wiele z nich jest wielojęzycznych - nie tylko python. Jeśli używasz menedżera wtyczek, takiego jak Vundle, możesz je wyszukać (po zainstalowaniu Vundle), używając np .:
I pojawi się okno wyników. Alternatywnie możesz po prostu przeszukać skrypty vim w poszukiwaniu wtyczek komentarzy .
źródło
Nie wymaga żadnych wtyczek ani mapowań. Wypróbuj wbudowaną komendę „norm”, która dosłownie wykonuje wszystko, co chcesz w każdej wybranej linii.
Dodaj Komentarze
Usuń # komentarze
Lub jeśli twoje komentarze są wcięte, możesz to zrobić
:norm ^x
Zauważ, że są to zwykłe polecenia vima poprzedzone przez „: norm”, aby wykonać je w każdej linii.
Bardziej szczegółowa odpowiedź na użycie polecenia „norm” w jednej z odpowiedzi tutaj
Jaki jest szybki sposób komentowania / usuwania komentarzy w Vimie?
źródło
Bardzo minimalna lekka wtyczka : komentarz vim.
gccaby skomentować linię
gcgcdo komentarza. sprawdź stronę wtyczki, aby uzyskać więcej.
v+k/jzaznacz blok, a następnie gccskomentuj ten blok.
źródło
CtrlK do komentarza (tryb wizualny):
CtrlU za odkomentowanie (tryb wizualny):
źródło