User Tools

Site Tools


emacs:emacs

Emacs

Good to know

Cutting out a rectangle

To cut out a rectangle in emacs, mark the region in question with your mouse (upper left to lower right). Then press

ctrl-x r k

, which will cut out the rectangular region. Paste the rectangular region with

ctrl-x r y

Search for a string

If you want to search for a string, type

ctrl-s

If you want to search the same string as before, press:

ctrl-s ctrl-s

Configuring Emacs

Mousewheel on lxplus

If you use emacs on lxplus, the mousewheel isn't enabled. To add this functionality, open your ~/.emacs file and write in the following lines:

;; ====== mouse wheel 
;; ====== define scrolling functions 
(defun up-slightly () (interactive) (scroll-up 5))
(defun down-slightly () (interactive) (scroll-down 5))

(defun up-one () (interactive) (scroll-up 1))
(defun down-one () (interactive) (scroll-down 1))

(defun up-a-lot () (interactive) (scroll-up))
(defun down-a-lot () (interactive) (scroll-down))

(defun scroll-up-half ()
"Scroll up half a page."
(interactive)
(scroll-up (/ (window-height) 2))
)
(defun scroll-down-half ()
"Scroll down half a page."
(interactive)
(scroll-down (/ (window-height) 2))
)

;; ====== set mouse wheel to scrolling function 
;; ====== press shift + (mousewheel) for slow scrolling and 
;; ====== ctrl + (mousewheel) for fast scrolling 
(global-set-key [(mouse-5)] 'up-slightly)
(global-set-key [(mouse-4)] 'down-slightly)
(global-set-key [S-mouse-4] 'down-one)
(global-set-key [S-mouse-5] 'up-one)
(global-set-key [C-mouse-4] 'down-a-lot)
(global-set-key [C-mouse-5] 'up-a-lot)

The first four blocks of code define function for different scrolling speeds. In the second part, the mousewheel is assigned to a scrolling speed. Pressing shift oder ctrl while scrolling will alter the speed.

Numberpad on lxplus

By default, the keys on the numberpad are overloaded with different functionalities when using emacs in the LHCb environment on lxplus. If you want the standard numberpad, add the following to the ~/.emacs file:

(defun setnumpad()
  (interactive)
  (global-set-key [kp-decimal] '".")
  (global-set-key [kp-subtract] '"-")
  (global-set-key [kp-enter] '"\C-q \C-j")
  (global-set-key [kp-0]   '"0")
  (global-set-key [kp-1]   '"1")
  (global-set-key [kp-2]   '"2")
  (global-set-key [kp-3]   '"3")
  (global-set-key [kp-4]   '"4")
  (global-set-key [kp-5]   '"5")
  (global-set-key [kp-6]   '"6")
  (global-set-key [kp-7]   '"7")
  (global-set-key [kp-8]   '"8")
  (global-set-key [kp-9]   '"9")
 )

(defun setnonumpad()
  (interactive)
  (load (expand-file-name "$EMACSDIR/edt"))
)

After emacs has started, type alt-x setnumpad to activate the normal numberpad. If you want to deactivate it, type alt-x setnumpad. (Note: This is not very sophisticated, as just the configuration file is loaded again.)

Adding goto-line

A useful little command when coding with emacs is goto-line. To assign it a shortcut, add in your ~/.emacs:

;; == goto line ==
(define-key global-map "\C-xg" 'goto-line)

Goto-line then is executed with ctrl-x g.

Changing the font permanently

To permanently change the font in emacs, do the following:

  • Type xfontsel in a terminal. A window will appear. Choose your desired font by selecting fndry, fmly, etc. You will end up with a string that exactely describes your font.
  • Start emacs and go to the *scratch* buffer. Type: prin1-to-string (x-list-fonts “font-you-whant-to-check or pattern”)) where you put in the selected font from xfontsel. Place the cursor after the last closing parenthesis and type CTRL-j. A list of available fonts with the given pattern will appear.
  • Open your .emacs file and add the following line:
(set-default-font "the font you want to choose")

for example

(set-default-font "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-10")
  • Close emacs and restart it. Your default font should now be set to the font you chose.
emacs/emacs.txt · Last modified: 2009/05/08 11:45 by decianm