Come eseguire un comando senza premere Invio?


119

Ho accidentalmente mappato Entertramite xkbseta Pointer_button2.

Ora ogni volta che colpisco Enterappare un testo incomprensibile.

Ho pensato a una soluzione alternativa che comportava il rimappatura, ma ciò significa che dovrò eseguire un comando xmodmap -e "keycode 135 = Pointer_Button2"(o qualsiasi altro codice chiave tranne quello di Enter). Ma non sono in grado di eseguire questo comando nel terminale, senza colpire Enter.

Come lo faccio?

Sto eseguendo Ubuntu 12.04.


5
Un giorno i computer saranno in grado di annullare qualsiasi cosa. Come abbiamo fatto con le istantanee del file system ora, ma con il contenuto della RAM ... come ripristinare ciò che stiamo facendo. Annulla l'inserimento di un comando. Apri un file. Annulla l'esecuzione di un programma. Un-Do dura 5 minuti. Poi, più tardi, Internet raggiungerà ... Leggi un sito web: non ci sei mai stato! Forse un giorno saremo in grado di annullare incidenti automobilistici, ripristinare i lampioni in posizione verticale, ecc.
Johan

2
@Johan Che tipo di sostanze hai preso quando hai scritto questo commento? </kidding>
Luc M

Risposte:


125

Puoi usare CTRL+ Jo CTRL+ Min alternativa a Enter. Sono i caratteri di controllo per avanzamento riga (LF) e ritorno a capo (CR).


4
Sheesh ... perché le persone con 6.705 punti non possono far rispondere alcune di queste semplici domande alle grandi masse non lavate? (Sto scherzando - +1 per la risposta che stavo per pubblicare.)
Jan Steinman,

5
@JanSteinman Perché allora avrebbero solo 6.330 punti (6705 - 15 - 36 * 10). : P
ernie,

3
@ JanSteinman: l'ho fatto passare! C'erano già altre tre risposte quando ho risposto, e una è stata accettata. Sembra che i bambini in questi giorni non conoscano la loro ASCII :-) (@ernie: c'è un limite di reputazione giornaliero, quindi non ottieni tutti quei punti).
Camh,

Grazie per aver accettato un po 'di nervatura bonaria - niente di tutto previsto. Se lo conosci, mostralo!
Jan Steinman,

2
@ user13107 Non tanto storico quanto la stessa definizione del codice ASCII. Quando ASCII era praticamente tutto ciò che c'era (a meno che tu non fossi nella terra di IBM) le chiavi Return e Linefeed dovevano essere codificate come qualcosa in modo da poterle digitare sui nostri fidati teletipi ASR-33 o sulle nostre schede perforate. C'è anche un pacchetto ascii che puoi installare che lo visualizzerà. Il tasto Ctrl ha appena preso il codice per uno dei primi 32 caratteri e ha riportato un bit a 0. Per M, ha cambiato un 4D in uno 0D che è un ritorno a capo (e c'era davvero un carrello su un ASR-33. )
Joe,

40

In una finestra di terminale (ho testato solo aterm, rxvt, vtee xterm) è possibile selezionare la fine della linea, che incollato indietro ha l'effetto di pressatura Enter:

#          ____________type the command____________  __select to end of line__
#         /                                        \/                         \
bash-4.2$ xmodmap -e "keycode 135 = Pointer_Button2"

Quindi incollare nuovamente il testo selezionato nella finestra del terminale con il pulsante centrale del mouse (o con il clic simultaneo del pulsante sinistro e destro, se configurato in questo modo).


1
Freddo! Ho pensato che non c'era modo di copiare e incollare caratteri non stampabili.
user13107,

26

Esegui il comando da un terminale non-X.

CTRL+ ALT+ F2dovrebbe portarti a una normale console. Accedi come utente normale, quindi esegui il comando lì.

xmodmapinfluisce solo sulle sessioni X, quindi deve DISPLAYfunzionare all'esterno del server X, in questo modo:

DISPLAY=:0 xmodmap

Grazie. Ma dà l'errore chexmodmap unable to open display ``
user13107

1
Puoi dargli un display con DISPLAY="0", o modificare il file, dovrebbe essere in$HOME/.Xmodmap
Burhan Khalid,

6
Piccolo errore di battitura:DISPLAY=:0
Lekensteyn,

14

È possibile inserirlo in uno script (.sh) e quindi fare doppio clic su di esso. La maggior parte degli ambienti desktop moderni offre la possibilità di eseguire uno script invece di aprirlo in un file di testo.


Grazie. Provato. Non ho trovato l'opzione di eseguirlo come script.
user13107,

Ok. Funziona dopo aver modificato le proprietà del file.
user13107,

11

Se hai un mouse e un display grafico puoi copiare la fine di una riga precedente nel tuo terminale e incollarla alla fine del tuo comando.


4

CTRL+ Oè un'altra opzione. Con bash esegue il comando e passa alla successiva più recente della storia, è utile tornare indietro attraverso una catena di comandi precedentemente eseguiti.


1

Se hai un mouse, copia questo -> "

"

e incolla accanto al tuo comando e quindi incolla l'intero comando nel terminale.

Piace inserisci qui la descrizione dell'immagine


Questa è già stata data come risposta
Philippos,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.