Apa asal historis CTRL + P untuk naik dan CTRL + N untuk turun?

10

Saya pengguna vim yang cukup berpengalaman, yang sekarang mulai menggunakan GNU emacs. Pada waktu yang hampir bersamaan ketika saya mengetahui bahwa Ctrl- pdan Ctrl- nadalah default untuk naik turun di emacs, saya juga belajar mereka adalah varian k dan j dalam mode normal di vim.

Adakah yang tahu asal dari cara pintas ini? Saya kira secara logis mereka berasal dari p (revious) dan n (ext), atau mungkin (u) p dan (dow) n, tetapi saya bertanya tentang program, sistem atau standar apa yang menjadi bagian mereka. Tampaknya tidak mungkin bahwa beberapa pintasan emacs acak dipinjam ke vim, jadi dimasukkannya keduanya membuat saya berpikir bahwa mereka mungkin ada sebelum emacs dan vim. *

Sulit untuk menemukan jawaban atas pertanyaan penekanan tombol menggunakan Google, tetapi yang menarik mereka tidak disebutkan sebagai "tombol panah" pada artikel Wikipedia yang tampaknya komprehensif .

* Terima kasih kepada Thomas Dickey dan Mark Plotnick yang telah menunjukkan dalam komentar bahwa pintasan yang dimaksud didokumentasikan pada tahun 1984 vi (sic), dan 1978 karya referensi emacs , tetapi saya pikir pertanyaan tentang asal usul yang sama masih berlaku.

Harlandski
sumber
Dalam emacs (atau bash / ksh dalam mode emacs), saya menggunakan Sebelumnya / Berikutnya sebagai pengingat jalan yang harus dilalui. sepanjang Maju / Mundur.
Archemar
@Archemar Ah ya, itu lebih masuk akal. Saya telah menambahkan itu sebagai asal yang lebih logis, tetapi pertanyaan historis saya masih berlaku :-)
harlandski
Mereka mendahului vim, misalnya, didokumentasikan dalam 1984 "buku petunjuk pengguna".
Thomas Dickey
Referensi paling awal yang dapat saya temukan untuk "n untuk selanjutnya, p untuk sebelumnya" untuk garis keturunan Emacs adalah AI Memo 447 - Pengantar editor EMACS dari tahun 1978. Ada kemungkinan bahwa salah satu pendahulu Emacs seperti RMODE juga menggunakan n untuk selanjutnya dan p untuk sebelumnya, tetapi saya tidak dapat menemukan referensi.
Mark Plotnick
Untuk apa nilainya, itu juga disebutkan dalam Pengantar Editing Tampilan dengan Vi , yang sudah hampir tua. Itu tidak datang dari TECO atau SOS.
Thomas Dickey

Jawaban:

3

Saya tidak bisa memberikan bukti dalam bentuk apa pun, tetapi Ctrl- Pdan Ctrl- Ntermasuk dalam emacsbinding utama, berbeda dengan vibinding ( bindkey -evs. bindkey -v). Di bawah premis ini, Anda harus mencari penjelasannya emacssendiri.

emacs'tutorial memberitahu

Ada beberapa cara Anda bisa melakukan ini. Anda dapat menggunakan tombol panah, tetapi lebih efisien untuk menjaga tangan Anda pada posisi standar dan menggunakan perintah Cp, Cb, Cf, dan Cn. Karakter-karakter ini setara dengan empat tombol panah, seperti ini:

  • Baris sebelumnya, Cp
  • Mundur, Cb
  • Maju, Cf
  • Baris berikutnya, Cn

Tampaknya tidak nyaman untuk vipengguna biasa , tetapi sangat masuk akal.

Andreas Wiese
sumber