2009-05-13 5 views

Antwort

12

Weil Sie ein neues Zeilenzeichen einfügen. Es kann manchmal nützlich sein, zum Beispiel können Sie viele Befehle (lange mehrzeilige Skripte) gleichzeitig kopieren/einfügen.

Nun, es ist mir noch nie aufgetreten dieses besondere Verhalten zu verhindern. Es ist normal und erwartet. WYPIWYG - was Sie einfügen, ist was Sie bekommen.

+0

Also, wenn die neue Zeile Zeichen am Ende der Zeile ist, würde eine Arbeit um alle außer das letzte Zeichen kopieren? –

+0

Ja, das sollte offensichtlich sein. –

3

Eine schnelle Möglichkeit, die Ausführung zu verhindern, ist das Kommentarzeichen # eingeben, dann den Befehl einfügen.

ich oft, weil ich Fett-Finger beim Kopieren und irrelevante Zeichen greifen.

Wenn Sie nach dem Kommentarzeichen einfügen, dann ist der Befehl in der Geschichte Puffer und kann bearbeitet werden, uncomment es, und es laufen.

--- antworten

Du hast Recht, das funktioniert nur bei einzeiligen Kommentar-Befehle. Wenn Sie eine mehrzeilige in der Zwischenablage haben, können Sie die Daten der Zwischenablage durch sed leiten.

Dumme bash Trick # 4 Millionen und ein:

prompt:$ xclip -o -selection clipboard | sed --regexp-extended 's/^(.*)$/# \1;/'

wird diese drehen:

for i in *.JPG;

do echo mv $i ${i/.JPG/.jpg};

done;

diese

in:

# for i in *.JPG;

# do echo mv $i ${i/.JPG/.jpg};

# done;

, die wirklich nicht der Mühe wert ist, aber irgendwie lustig,>

+1

Großartig für Single-Line-Befehle, aber wenn es eine Mehrfachzeile ist, wird die erste Anweisung nicht ausgeführt, aber der Rest wird immer noch ausgeführt. – Andy

9

Sie einfügen eine oder mehrere Zeilenumbrüche . Andere als einfach kopieren und Einfügen nicht Zeilenumbrüche gibt es ein paar Dinge, die Sie tun können, um dies zu umgehen:

  • Für einzeilige Befehle, geben Sie „#“ zuerst, so wird der Befehl kommentiert werden. Sie können dann zurückgehen und es bearbeiten.

  • Verwenden bash (scheinbar wenig bekannte) edit-und-Ausführen-Befehl Funktion. Aufzurufen, es können Sie CTRL-xCTRL-e treffen, wenn Sie Emacs keybindings (Standard) oder ESC v verwenden, wenn Sie vi keybindings verwenden. Dadurch wird ein Texteditor aufgerufen, der Ihre aktuelle Befehlszeile enthält. Sie können dann in den Editor einfügen und den Befehl bearbeiten.Nach dem Speichern und Beenden des Befehls werden die vom Editor gespeicherten Befehle ausgeführt (wenn Sie den Befehl abbrechen möchten, müssen Sie alle Zeilen auskommentieren oder den Puffer vollständig löschen). Sie können festlegen, welcher Editor mit den Umgebungsvariablen FCEDIT oder EDITOR verwendet wird.