Dear all,
I'm having trouble trying to create a key combination to set a global variable. I have tried putting the following in my .emacs file:
(global-set-key (kbd "C-l") nil)
(global-set-key (kbd "C-l C-r") '(setq dired-listing-switches "-lR")
and various permutions of the '(setq .. "-lR") part (with a single quote in front of the -lR, without the intial single quote etc. This got me various errors:
(global-set-key (kbd "C-l C-r") (setq dired-listing-switches -lR)) --> Symbol's value as variable is void: -lR
(global-set-key (kbd "C-l C-r") '(setq dired-listing-switches -lR)) --> Wrong type argument: commandp, (setq dired-listing-switches -lR) on pressing C-l C-r
(global-set-key (kbd "C-l C-r") (setq dired-listing-switches "-lR")) --> Printed -lR into my buffer when I pressed C-l C-r
and so on...
so then I tried
(defun set_recursive_dired () "Set dired mode to recursive view"
(interactive "p")
(setq dired-listing-switches "-lR"))
(global-set-key (kbd "C-l") nil)
(global-set-key (kbd "C-l C-r") 'set_recursive_dired)
because I thought setq might not be a command (?) which got me:
call-interactively: Wrong number of arguments: (lambda nil "Set dired mode to recursive view" (interactive "p") (setq dired-listing-switches "-lR")), 1
as you can probably tell, I'm pretty new to lisp/elisp... I have tried 'reading the error messages' and have done a lot of googling, which has got me this far (and which suggested the above '(defun...set_recursive_dired) )
so could anyone kindly shed some light on why the above don't work, and perhaps suggest what I should be trying? Is it a syntax thing or am I missing the point completely?
best,
Joff