pytanie nie ma wskazówek, jak to zrobić za pomocą określonego edytora tekstów, dlatego prosimy o udzielenie odpowiedzi w zakresie reguł i wolności składni yaml.
Alexander Stohr,
Odpowiedzi:
2005
YAML obsługuje komentarze wbudowane, ale nie obsługuje komentarzy blokowych.
Różnice w składni są subtelne i rzadko pojawiają się w praktyce: JSON dopuszcza rozszerzone zestawy znaków, takie jak UTF-32, YAML wymaga spacji po separatorach, takich jak przecinek, znak równości i dwukropek, podczas gdy JSON nie, a niektóre niestandardowe implementacje JSON rozszerzają gramatykę na dołącz /* ... */komentarze Javascript . Obsługa takich przypadków na krawędziach może wymagać wstępnego przetworzenia JSON przed parsowaniem jako wbudowanego YAML.
# If you want to write
# a block-commented Haiku
# you'll need three pound signs
najmniejsze możliwe myślenie;). "Vim, I did a thing. do it here, and here and here and here and here..."
Conrad.Dean
4
Możesz także nacisnąć :i wpisać, s/^/#aby skomentować bieżący wybór.
hakunin
1
@ Conrad.Dean spróbuj nauczyć się myśleć w makrach . Chociaż praktycznie to samo w przypadku tego zadania, qqI#<esc>jqto @Q@Q@Q@Q@Q@Q(ponieważ szybciej nie można zwolnić klawisza Shift), jest to nawyk, który można rozszerzyć na znacznie bardziej złożone zadania. Zacznij od małego. Ćwicz często. Wkrótce stworzysz bardzo złożone makra idealnie, najpierw spróbuj. Jeśli wyczyścisz rejestr jako pierwszy qqq, możesz dołączyć @qprzed ostatnim, qaby uzyskać rekursję (ale tylko do końca pliku).
Bruno Bronosky,
@BrunoBronosky: zamiast tych wszystkich @q, możesz po prostu zrobić 6@qlub 10000@qjeśli chcesz.
Bod
2
@ Bodo możesz rzeczywiście. Większość poleceń vima akceptuje :h countmnożniki. Ale dla mnie wizualnie wszystko powyżej 6 lat i muszę to zrobić ręcznie, ponieważ nie mogę wiarygodnie zgadnąć. Wyjątkiem jest to, że wiem, że mam ponad 60 wierszy na moim terminalu, więc użyję tego do oszacowania bardzo dużych odtworzeń marco. Jako bonus proponuję wszystkim dowiedzieć się, :h gnktóre z nich ułatwiają .powtarzanie wyników wyszukiwania. Zobacz vimcasts.org/episodes/operating-on-search-matches-using-gn
Bruno Bronosky
29
Alternatywne podejście:
Gdyby
Twoja struktura YAML ma dobrze zdefiniowane pola do użycia przez Twoją aplikację
ORAZ możesz swobodnie dodawać dodatkowe pola, które nie zepsują Twojej aplikacji
następnie
na dowolnym poziomie możesz dodać nowe pole tekstowe bloku o nazwie „Opis” lub „Komentarz” lub „Notatki” lub cokolwiek innego
Przykład:
Zamiast
# This comment
# is too long
posługiwać się
Description: >
This comment
is too long
lub
Comment: >
This comment is also too long
and newlines survive from parsing!
Więcej zalet:
Jeśli komentarze stają się duże i złożone i mają powtarzający się wzorzec, możesz promować je z bloków zwykłego tekstu do obiektów
Twoja aplikacja może - w przyszłości - czytać lub aktualizować te komentarze
Myślę, że to odpowiedź świętego Graala na pytanie; szczególnie jeśli ktoś chce, aby te komentarze pojawiały się w JSON lub XML, jeśli chce się przekształcić z YAML w te dwa.
Mohd
7
Jednym ze sposobów blokowania komentowania w YAML jest użycie edytora tekstu, takiego jak Notepad ++, aby dodać znacznik # (komentarz) do wielu wierszy jednocześnie.
W Notepad ++ możesz to zrobić za pomocą opcji „Blokuj komentarz” prawym przyciskiem myszy dla zaznaczonego tekstu.
I FWIW, skrótem klawiszowym do tego (w np. ++) byłby ctrl-shift-Q (w systemie Windows. W przypadku innych platform zobacz menu edycji> komentuj / usuwaj komentarze).
charlie arehart
6
Jeśli używasz Eclipse z wtyczką yedit (edytor plików .yaml), możesz skomentować wiele wierszy poprzez:
Dla użytkowników Visual Studio Code (VSCode) skrót do komentowania wielu linii polega na zaznaczeniu linii, które chcesz skomentować, a następnie naciśnij:
ctrl + /
Ponowne naciśnięcie ctrl+ /może również służyć do wyłączania komentarzy dla jednego lub więcej wybranych wierszy.
Odpowiedzi:
YAML obsługuje komentarze wbudowane, ale nie obsługuje komentarzy blokowych.
Z Wikipedii :
Porównanie z JSON, również z Wikipedii :
źródło
Specyfikacja opisuje tylko jeden sposób znakowania komentarzy:
To wszystko. Brak komentarzy blokowych.
źródło
Nie próbujesz być mądry, ale jeśli używasz Sublime Text w swoim edytorze, kroki są następujące:
Wyobrażam sobie, że inne edytory również mają podobną funkcjonalność. Z którego korzystasz? Byłbym szczęśliwy, mogąc trochę kopać.
źródło
W Vimie możesz wykonać jedną z następujących czynności:
:%s/^/#
:10,15s/^/#
:10,.s/^/#
:10,$s/^/#
lub używając bloku wizualnego:
źródło
"Vim, I did a thing. do it here, and here and here and here and here..."
:
i wpisać,s/^/#
aby skomentować bieżący wybór.qqI#<esc>jq
to@Q@Q@Q@Q@Q@Q
(ponieważ szybciej nie można zwolnić klawisza Shift), jest to nawyk, który można rozszerzyć na znacznie bardziej złożone zadania. Zacznij od małego. Ćwicz często. Wkrótce stworzysz bardzo złożone makra idealnie, najpierw spróbuj. Jeśli wyczyścisz rejestr jako pierwszyqqq
, możesz dołączyć@q
przed ostatnim,q
aby uzyskać rekursję (ale tylko do końca pliku).@q
, możesz po prostu zrobić6@q
lub10000@q
jeśli chcesz.:h count
mnożniki. Ale dla mnie wizualnie wszystko powyżej 6 lat i muszę to zrobić ręcznie, ponieważ nie mogę wiarygodnie zgadnąć. Wyjątkiem jest to, że wiem, że mam ponad 60 wierszy na moim terminalu, więc użyję tego do oszacowania bardzo dużych odtworzeń marco. Jako bonus proponuję wszystkim dowiedzieć się,:h gn
które z nich ułatwiają.
powtarzanie wyników wyszukiwania. Zobacz vimcasts.org/episodes/operating-on-search-matches-using-gnAlternatywne podejście:
Gdyby
następnie
Przykład:
Zamiast
posługiwać się
lub
Więcej zalet:
źródło
Jednym ze sposobów blokowania komentowania w YAML jest użycie edytora tekstu, takiego jak Notepad ++, aby dodać znacznik # (komentarz) do wielu wierszy jednocześnie.
W Notepad ++ możesz to zrobić za pomocą opcji „Blokuj komentarz” prawym przyciskiem myszy dla zaznaczonego tekstu.
źródło
Jeśli używasz Eclipse z wtyczką yedit (edytor plików .yaml), możesz skomentować wiele wierszy poprzez:
Aby anulować komentarz, wykonaj te same kroki.
źródło
Dla użytkowników Ruby Mine w systemie Windows:
Otwórz plik w edytorze Wybierz blok i naciśnij Ctrl+ forward slash, wybierzesz blok zaczynający się od #.
Teraz, jeśli chcesz, aby cofnąć komentarzu komentowanym blok, połączenie naciśnij ten sam przycisk Ctrl+ forward slashponownie
źródło
Emacs ma komentarz-dwim (Rób co mam na myśli) - po prostu zaznacz blok i wykonaj:
Jest to przełącznik - użyj go do komentowania ORAZ odkomentowania bloków.
Jeśli nie masz zainstalowanego trybu yaml, musisz powiedzieć Emacsowi, aby użył znaku krzyżyka (#).
źródło
Dla użytkowników Visual Studio Code (VSCode) skrót do komentowania wielu linii polega na zaznaczeniu linii, które chcesz skomentować, a następnie naciśnij:
ctrl + /
Ponowne naciśnięcie ctrl+ /może również służyć do wyłączania komentarzy dla jednego lub więcej wybranych wierszy.
źródło
W przeglądarce Azure Devops (edytor yaml potoku)
Ctrl+ K+ CBlok komentarzy
Ctrl+ K+ UUncomment Block
Istnieje również opcja „Przełącz blokowanie komentarza”, ale to nie działało dla mnie.
Są też inne „dziwne” sposoby: kliknij prawym przyciskiem myszy, aby wyświetlić „Paletę poleceń” lub F1
Następnie wybierz opcję kursora.
Teraz to tylko kwestia #
a nawet mądrzejszy [ Ctrl+ k] + [ Ctrl+ c]
źródło