Co to jest „<Esc> Kv” w bash


13

Kiedy jestem w bash i prasy Esc, Shift+ K, Vbash wystrzeliwuje się $EDITORz podobnym do pliku /tmp/bash-fc-186566385.

Dlaczego tak jest i jaki jest jego cel?

Prawdopodobnie muszę wspomnieć, że uruchamiam bash set -o vi.

Odpowiedzi:


10

To pozwala skonstruować polecenie z pełną edycją Vi. Jeśli wpiszesz kilka poleceń i zapisz wyjście, :wqpolecenia zostaną uruchomione.

WYJAŚNIENIE: pozwala skonstruować polecenie w dowolnym edytorze, który masz ustawiony, $EDITORa kiedy zapiszesz i wyjdziesz z niego, zawartość zostanie uruchomiona. (Wyjaśniono, że to nie tylko Vi!)

TAKŻE, jak zauważył RealSkeptic , kombinacja shift+ Knie jest wymagana do uruchomienia edytora. Wystarczy esc, Vbędzie.


Pamiętaj, że kilka klawiatur ma oznaczony klawisz v. Wciśnięcie klawisza (lub lepszych klawiszy), aby uzyskać, Kjest zwykle oznaczone jako <kbd>Shift</kbd>+<kbd>K</kbd>i naciśnięcie klawisza, aby uzyskać (małe litery) vjako<kbd>V</kbd>
Anthon

Nie, ale Twoja edycja posta PO miała nieprawidłowe.
Anthon

2
Czy tryb edytora nie jest dostępny po prostu przez Escape-V? Wydaje się, że „shift-K” to po prostu voodoo.
RealSkeptic

@RealSkeptic masz rację, dobre informacje uzupełniające
forquare

3
Również Ctrl-x + e (jeśli nie jesteś w trybie vi)
Iacchus

12

Nie potrzebujesz Shift+ k. Używanie Esc+ vbędzie działać, ponieważ set -o vizezwalasz na edycję wiersza poleceń powłoki za pomocą wbudowanego edytora vi przy użyciu (to samo można uzyskać za pomocą Ctrl+ x+ e). Jest to równoważne z wykonaniem wbudowanego fcpolecenia, które jest przydatne do manipulowania listą historii i plikiem historii. Wywoła dowolny edytor ustawiony w twoim $EDITOR(w przeciwnym razie domyślny edytor twojej powłoki), aby napisać długie, trudne lub złożone polecenie, a następnie wykonać je po zapisaniu i zamknięciu edytora. Zobacz tutaj, aby uzyskać szczegółowe informacje na temat fcpolecenia: Wbudowana historia Bash .

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.