2010-12-11 61 views
6

J'essayais de comprendre et de me souvenir des raccourcis clavier pour bash. Je me demandais pourquoi le char 'u' utilisé dansqu'est-ce que vous représentez dans ctrl + u?

CTRL-u --- cancel the line before cursor location 
+0

peut-être facile à appuyer? –

+0

Pensez simplement au "u" comme à – CarneyCode

+0

@ strager sur un clavier qwerty, h est à gauche, l est à droite. En ASCII, ctrl-J est linefeed et ctrl-K est une tabulation verticale. Peasy facile. –

Répondre

7

Alors que unix-line-discard est un bon moyen mnémotechnique, l'utilisation de CTRL + U comme un caractère d'effacement de ligne précède l'invention d'UNIX. Il a été utilisé en tant que tel sur divers systèmes d'équipement numérique (DEC), y compris le PDP-8. Par exemple, de ma bibliothèque poussiéreuse, je vois que CTRL + U a été utilisé comme effacement de ligne dans l'éditeur symbolique PDP-8 (page 5-13 de l'édition 1972 du manuel PDP-8 Introduction To Programming (Volume 1) publié par DEC). En fait, dans les premiers jours d'UNIX, le caractère @ était souvent le caractère d'effacement de ligne par défaut. Autres systèmes utilisés CTRL + X pour la même fonction, ce qui est logique car la description du caractère de contrôle ASCII pour ce code est Cancel. La convention DEC de CTRL + U a finalement remporté le concours de popularité.

+2

Ctrl-U est NAK. Je suppose que NAK pourrait être tordu pour signifier "ne veux pas". ;) –

+0

@Dennis Williamson que voulez-vous dire par NAK? – draw

+1

@draw: Cela signifie Nekative AcKnowledge. Voir [man ascii] (http://www.linuxmanpages.com/man7/ascii.7.php), [l'article Wikipedia] (http://en.wikipedia.org/wiki/Nak) et le [Jargon File] ] (http://www.catb.org/~esr/jargon/html/N/NAK.html). –