Apa perbedaan antara buffer, file, jendela, dan bingkai?

28

Ketika mengajukan pertanyaan di situs ini, orang kadang-kadang berbicara tentang "windows" ketika mereka berarti "bingkai," dan "buffer" atau "file" ketika mereka berarti "windows." Begitu:

T: Apa perbedaan antara buffer, file, jendela, dan bingkai?

(Saya mengajukan pertanyaan ini dalam semangat kombo T&J ini : untuk mempromosikan penggunaan istilah yang benar.)

Dan
sumber

Jawaban:

32

Emacs mendahului sistem operasi berbasis jendela kontemporer, jadi terminologinya juga mendahului istilah saat ini. Sayangnya, itu berarti bahwa pengguna baru dan pengguna berpengalaman terkadang mengalami kesulitan membuat mereka saling memahami, karena mereka menggunakan istilah dengan cara yang berbeda.

Secara singkat:

  • "Frame" adalah untuk Emacs apa "windows" adalah untuk semua yang lain
  • "Windows" adalah subdivisi bingkai (pikirkan "panel jendela")
  • "Buffer" menyimpan konten yang Anda tampilkan / edit di windows
  • Ketika kita "membuka file," kita, secara teknis, membuka buffer yang "mengunjungi" file itu

Tangkapan layar beranotasi berikut menggambarkan poin-poin ini.

tangkapan layar beranotasi

  • Sesi Emacs ini memiliki dua bingkai (garis besar biru) - apa, untuk sebagian besar program lain, kita akan menyebutnya "windows."
  • Ada total tiga jendela Emacs (garis merah) terbuka: satu di bingkai kiri, dan dua di bingkai kanan.
  • Jendela tunggal di bingkai kiri menampilkan scratch buffer . Itu tidak terhubung ke (yaitu, mengunjungi) file apa pun .
  • Jendela atas di bingkai kanan menampilkan buffer example.org , yang, pada gilirannya, mengunjungi file ~/path/to/example.org .
  • Jendela bawah di bingkai kanan menampilkan buffer tidak langsung example2 , yang memiliki konten yang sama dengan buffer example.orgdi jendela atas.

Jadi, inilah rangkumannya:

  • frame adalah apa yang Anda sebut "windows" pada dasarnya semua perangkat lunak Anda yang lain
  • windows adalah pembagian frame
  • buffer memegang barang-barang yang Anda tampilkan di windows
  • buffer mungkin atau mungkin tidak mengunjungi (yaitu, dikaitkan dengan) file
Dan
sumber
7

Saya akan menunjukkan pembaca untuk (1) Glosari dari Emacs Wiki dan (2) Emacs pengguna untuk informasi tersebut.

Juga ke halaman Newbie EmacsWiki , yang memiliki banyak informasi pengantar yang bagus tentang hal-hal seperti itu. Dan pada manual Emacs secara umum, yang juga memperkenalkan hal-hal seperti itu dengan baik: C-h rkemudian idiikuti dengan mengetik apa pun yang ingin Anda pelajari, misalnya window,.

Halaman EmacsWiki yang ditautkan dari glosariumnya untuk jendela masuk menyertakan grafik ini, yang menunjukkan bingkai dengan 3 jendela , dan menunjukkan bilah menu untuk buffer saat ini dan garis mode jendela. 3 buffer ditampilkan di jendela diberi nama *Help*, drews-lisp-20dan shrink-fit.el.

Bingkai Emacs, jendela, dan bagian jendela

(Ada kombinasi hal-hal lain yang bisa ditanyakan, BTW, jika seseorang benar-benar ingin mengajukan pertanyaan seperti itu.)

Drew
sumber
1
+1 Mengarahkan pembaca ke glosarium dan manual Emacs adalah jawaban yang tepat untuk jawaban standar seperti itu agar tidak menyesatkan pengguna baru.
Pengguna Emacs