Qual é a origem histórica de CTRL + P para up e CTRL + N para down?

7

Eu sou um usuário vim moderadamente experiente, que agora está começando a usar o GNU emacs. Aproximadamente ao mesmo tempo, aprendi que Ctrl - p e Ctrl - n são o padrão para cima e para baixo no emacs, eu também aprendi que são variantes de k e j no modo normal no vim.

Alguém sabe a origem desses atalhos? Eu suponho que logicamente eles vêm de p (revious) e n (ext), ou talvez (u) pe (dow) n, mas eu Estou perguntando sobre qual programa, sistema ou padrão eles faziam parte. Parece improvável que alguns atalhos aleatórios do emacs tenham sido emprestados para o vim, então sua inclusão em ambos me faz pensar que eles provavelmente são anteriores aos emacs. e vim. *

É difícil encontrar as respostas para as questões de pressionamentos de tecla usando o Google, mas, curiosamente, elas não são mencionadas como "teclas de seta" nas aparentemente abrangentes Artigo da Wikipédia .

* Agradecimentos a Thomas Dickey e Mark Plotnick que apontaram nos comentários que os atalhos em questão estão documentados em 1984 vi (sic), e 1978 referência emacs funciona, mas acho que a questão de origem comum ainda permanece.

    
por harlandski 15.04.2016 / 19:07

1 resposta

2

Não posso fornecer prova de qualquer tipo, mas Ctrl - P e Ctrl - N pertencem ao emacs de associações de teclas, em contraste com vi de ligações ( bindkey -e vs. bindkey -v ). Sob essa premissa, você deve procurar uma explicação em emacs .

O tutorial

emacs 'informa

There are several ways you can do this. You can use the arrow keys, but it's more efficient to keep your hands in the standard position and use the commands C-p, C-b, C-f, and C-n. These characters are equivalent to the four arrow keys, like this:

  • Previous line, C-p
  • Backward, C-b
  • Forward, C-f
  • Next line, C-n

Parece inconveniente para o usuário comum vi , mas faz todo o sentido.

    
por 15.04.2016 / 22:57