Emacs Command line – (Lisp Oriented)
![](http://1.bp.blogspot.com/-eKl6-EdJx5E/TY9qnfG_uJI/AAAAAAAAAWA/ohIyQE790h4/ s1600/gnu-head-sm.jpg)
Emacs dibangun dengan bahasa Lisp dan bahasa C, dari sebuah sumber yang pernah dibaca dijelaskan bahwa program yang ditulis dengan bahasa Lisp maka otomatis bisa sebagai interpreter dari bahasa Lisp itu sendiri, begitu juga dengan Emacs, bisa digunakan sebagai interpreter bahasa Lisp, untuk hal ini bisa dicari sendiri referensinya karena saya sendiri tidak pernah membuat aplikasi dengan bahasa Lisp kecuali sintaks Lisp pada macro yang digunaan pada Emacs.
Seperti halnya bahasa python atau perl, ketika kita menjalankan perl seperti
ini $perl -e 'print "hello world"'
maka akan tercetak tulisan hello
world di layar, hal ini disebut dengan interpreter atau penerjemah, dimana
program perl akan melakukan parsing pada opsi yang diberikan kemudian
mengeksekusinya. Namun bedanya perl atau python adalah program untuk
menerjemahkan bahasa itu sendiri tanpa adanya editor, kalaupun ada tidak
selengkap Emacs atau Vi .
Jika ingin mengeksekusi Lisp function dengan menggunakan emacs maka kita tidak harus menyertakan opsi –batch, jadi Lisp Oriented ini bisa juga disebut dengan Batch mode.
Opsi dasar untuk Lisp oriented :
- -f function, –funcall function Opsi ini akan memanggil fungsi-fungsi yang terdapat pada Emacs.
Misalkan kita ingin bermain game snake ketika emacs pertama kali dijalankan, berikut perintah yang diberikan :
_ $emacs -f snake_
![](http://1.bp.blogspot.com/-CDBONlUNL7g/TY9qnL6KdDI/AAAAAAAAAV8/QvpSlcqvvmc/ s320/emacs-snake.png)
-
-l file, –load file Opsi ini untuk meload fungsi atau command yang terdapat pada “file”.
-
–eval ”lisp expression”, –execute “lisp expression” Opsi untuk mengetikkan perintah Lisp ketika emacs dijalankan (Seperti interpreter pada python), biasanya opsi ini dijalankan bersamaan dengan opsi –batch. Beberapa opsi dasar pada batch mode :
-
–batchOpsi harus selalu disertakan jika ingin mengeksekusi fungsi fungsi yang terdapat dalam bahasa Lisp.
Contoh:$emacs --batch test.c --eval '(indent-region (point-min) (point- max) nil)' -f save-buffer
Perintah ini berarti mengeksekusi perintah ‘(indent-region (point-min) (point- max) nil)’ terhadap file test.c kemudian memanggil fungsi save-buffer untuk penyimpanan file, secara sederhana ini untuk melakukan indentation pada file “test.c”. -
–script namaScript Dengan menggunakan opsi ini kita bisa menyimpan script Lisp terlebih dahulu pada sebuah file dan kemudian mengeksekusi dengan emacs, hal ini akan lebih mudah untuk memahami sintaks sintaks Lisp itu sendiri, selain itu juga lebih menyingkat command line argument yang kita berikan.
Contoh :$emacs --batch --script "namaScript"
-
–insert namaFile menambahkan isi file “namaFile” kedalam buffer yang sedang aktif.
Contoh:$emacs file.c --insert "namaFile"
perintah ini berarti semua isi file “namaFile” dimasukkan ke file “file.c” di awal file. -
–kill Opsi ini saya sendiri juga kurang mengerti untuk apa. Berdasarkan manualnya dijelaskan seperti ini “Exit Emacs while in batch mode.” yaitu exit Emacs selama dalam batch mode, tapi ketika dicoba dengan opsi ini Emacs otomatis keluar sesaat setelah tampil di layar.:(
-
-L direktori, –directory direktori Sekali lagi saya tidak tahu kegunaan dari fungsi ini