I have the following in my emacs initialization file:
;;------------------
;; Proof General
;;------------------
(load-file (expand-file-name "$HOME/Library/packages/ProofGeneral/generic/proof-site.el"))
(eval-after-load "proof-script" '(progn
;; these match CoqIDE
(define-key proof-mode-map [(control meta down)] 'proof-assert-next-command-interactive) ;; C-c C-n
(define-key proof-mode-map [(control meta up)] 'proof-undo-last-successful-command) ;; C-c C-u
(define-key proof-mode-map [(control meta right)] 'proof-goto-point) ;; C-c return
;; some additional bindings
(define-key proof-mode-map [(control meta return)] 'proof-goto-point) ;; C-c return
(define-key proof-mode-map [(control meta .)] 'proof-goto-end-of-locked) ;; C-c C-.
(define-key proof-mode-map (kbd "C-c C-3") 'proof-three-window-toggle)
))