Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion contrib/fbar/fbar.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
;; open-close directories with <Return>
;; select files with <Return>

(define-key *global-keymap* "C-x f" 'fbar-on)
(define-key *global-prefix-keymap* "f" 'fbar-on)
(define-key *fbar-mode-keymap* "j" 'next-line)
(define-key *fbar-mode-keymap* "k" 'previous-line)
(define-key *fbar-mode-keymap* "Down" 'next-line)
Expand Down
2 changes: 1 addition & 1 deletion extensions/legit/legit.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Currently Git-only. Concretely, this calls Git with the -w option.")

;; git commands.
;; Some are defined on peek-legit too.
(define-key *global-keymap* "C-x g" 'legit-status)
(define-key *global-prefix-keymap* "g" 'legit-status)
(define-key *legit-diff-mode-keymap* "s" 'legit-stage-hunk)
(define-key *legit-diff-mode-keymap* "u" 'legit-unstage-hunk)
(define-key *legit-diff-mode-keymap* "n" 'legit-goto-next-hunk)
Expand Down
2 changes: 1 addition & 1 deletion src/commands/buffer.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

(defvar *read-only-function* nil)

(define-key *global-keymap* "C-x C-q" 'toggle-read-only)
(define-key *global-prefix-keymap* "C-q" 'toggle-read-only)
(define-key *global-keymap* "M-~" 'unmark-buffer)

(define-command indent-current-buffer () ()
Expand Down
2 changes: 1 addition & 1 deletion src/commands/edit.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
(define-key *global-keymap* "C-Shift-Backspace" 'kill-whole-line)
(define-key *global-keymap* "C-y" 'yank)
(define-key *global-keymap* "M-y" 'yank-pop)
(define-key *global-keymap* "C-x C-o" 'delete-blank-lines)
(define-key *global-prefix-keymap* "C-o" 'delete-blank-lines)
(define-key *global-keymap* "M-Space" 'just-one-space)
(define-key *global-keymap* "M-^" 'delete-indentation)
(define-key *global-keymap* "C-t" 'transpose-characters)
Expand Down
15 changes: 8 additions & 7 deletions src/commands/file.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,14 @@
(:lock t))
(in-package :lem-core/commands/file)

(define-key *global-keymap* "C-x C-f" 'find-file)
(define-key *global-keymap* "C-x C-r" 'read-file)
(define-key *global-keymap* "C-x C-s" 'save-current-buffer)
(define-key *global-keymap* "C-x C-w" 'write-file)
(define-key *global-keymap* "C-x C-h" 'find-recent-file)
(define-key *global-keymap* "C-x Tab" 'insert-file)
(define-key *global-keymap* "C-x s" 'save-some-buffers)
(let ((keymap *global-prefix-keymap*))
(define-key keymap "C-f" 'find-file)
(define-key keymap "C-r" 'read-file)
(define-key keymap "C-s" 'save-current-buffer)
(define-key keymap "C-w" 'write-file)
(define-key keymap "C-h" 'find-recent-file)
(define-key keymap "Tab" 'insert-file)
(define-key keymap "s" 'save-some-buffers))

;; Programs to find files recursively:
;; We want symbols and not strings, for CLOS dispatch.
Expand Down
2 changes: 1 addition & 1 deletion src/commands/help.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
(:lock t))
(in-package :lem-core/commands/help)

(define-key *global-keymap* "C-x ?" 'describe-key)
(define-key *global-prefix-keymap* "?" 'describe-key)

(define-command describe-key () ()
"Tell what is the command associated to a keybinding."
Expand Down
4 changes: 2 additions & 2 deletions src/commands/mark.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

(define-key *global-keymap* "C-@" 'mark-set)
(define-key *global-keymap* "C-Space" 'mark-set)
(define-key *global-keymap* "C-x C-x" 'exchange-point-mark)
(define-key *global-keymap* "C-x h" 'mark-set-whole-buffer)
(define-key *global-prefix-keymap* "C-x" 'exchange-point-mark)
(define-key *global-prefix-keymap* "h" 'mark-set-whole-buffer)

(define-command mark-set (p) (:universal-nil)
"Sets a mark at the current cursor position."
Expand Down
4 changes: 2 additions & 2 deletions src/commands/move.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@
(define-key *global-keymap* "PageDown" 'next-page)
(define-key *global-keymap* "M-v" 'previous-page)
(define-key *global-keymap* "PageUp" 'previous-page)
(define-key *global-keymap* "C-x ]" 'next-page-char)
(define-key *global-keymap* "C-x [" 'previous-page-char)
(define-key *global-prefix-keymap* "]" 'next-page-char)
(define-key *global-prefix-keymap* "[" 'previous-page-char)
(define-key *global-keymap* "M-g" 'goto-line)

(defun next-line-aux (n
Expand Down
2 changes: 1 addition & 1 deletion src/commands/other.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ By default, persist M-x commands to disk. See *persist-M-x-commands*.")
(define-key *global-keymap* "NopKey" 'nop-command)
(define-key *global-keymap* "C-g" 'keyboard-quit)
(define-key *global-keymap* "Escape" 'escape)
(define-key *global-keymap* "C-x C-c" 'exit-lem)
(define-key *global-prefix-keymap* "C-c" 'exit-lem)
(define-key *global-keymap* "M-x" 'execute-command)
(define-key *global-keymap* "Shift-F10" 'show-context-menu)
(define-key *global-keymap* "M-h" 'show-context-menu)
Expand Down
4 changes: 2 additions & 2 deletions src/commands/process.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
(:lock t))
(in-package :lem-core/commands/process)

(define-key *global-keymap* "C-x #" 'filter-buffer)
(define-key *global-keymap* "C-x @" 'pipe-command)
(define-key *global-prefix-keymap* "#" 'filter-buffer)
(define-key *global-prefix-keymap* "@" 'pipe-command)

(define-command filter-buffer (cmd) ((:string "Filter buffer: "))
"Replaces the contents of the buffer with the result of executing the command entered."
Expand Down
13 changes: 7 additions & 6 deletions src/commands/project.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,13 @@

(in-package :lem-core/commands/project)

(define-key *global-keymap* "C-x p f" 'project-find-file)
(define-key *global-keymap* "C-x p d" 'project-root-directory)
(define-key *global-keymap* "C-x p K" 'project-kill-buffers)
(define-key *global-keymap* "C-x p p" 'project-switch)
(define-key *global-keymap* "C-x p s" 'project-save)
(define-key *global-keymap* "C-x p u" 'project-unsave)
(let ((keymap *global-prefix-keymap*))
(define-key keymap "p f" 'project-find-file)
(define-key keymap "p d" 'project-root-directory)
(define-key keymap "p K" 'project-kill-buffers)
(define-key keymap "p p" 'project-switch)
(define-key keymap "p s" 'project-save)
(define-key keymap "p u" 'project-unsave))

(defvar *root-directories*
(list
Expand Down
37 changes: 20 additions & 17 deletions src/commands/window.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -33,31 +33,34 @@
(:lock t))
(in-package :lem-core/commands/window)

(define-key *global-keymap* "C-x b" 'select-buffer)
(define-key *global-keymap* "C-x k" 'kill-buffer)
(define-key *global-keymap* "C-x Left" 'previous-buffer)
(define-key *global-keymap* "C-x Right" 'next-buffer)
(define-key *global-keymap* "C-l" 'recenter)
(define-key *global-keymap* "C-x 2" 'split-active-window-vertically)
(define-key *global-keymap* "C-x 3" 'split-active-window-horizontally)
(define-key *global-keymap* "C-x o" 'next-window)
(define-key *global-keymap* "M-o" 'next-window)
(define-key *global-keymap* "M-O" 'previous-window)
(define-key *global-keymap* "C-x 1" 'delete-other-windows)
(define-key *global-keymap* "C-x 0" 'delete-active-window)
(define-key *global-keymap* "M-q" 'delete-active-window)
(define-key *global-keymap* "C-x ^" 'grow-window)
(define-key *global-keymap* "C-x C-z" 'shrink-window)
(define-key *global-keymap* "C-x }" 'grow-window-horizontally)
(define-key *global-keymap* "C-x {" 'shrink-window-horizontally)
(define-key *global-keymap* "C-Down" 'scroll-down)
(define-key *global-keymap* "M-Down" 'scroll-down)
(define-key *global-keymap* "C-Up" 'scroll-up)
(define-key *global-keymap* "M-Up" 'scroll-up)
(define-key *global-keymap* "C-x 4 f" 'find-file-next-window)
(define-key *global-keymap* "C-x 4 r" 'read-file-next-window)
(define-key *global-keymap* "C-x 4 b" 'select-buffer-next-window)
(define-key *global-keymap* "C-x 4 p f" 'project-find-file-next-window)


(let ((keymap *global-prefix-keymap*))
(define-key keymap "b" 'select-buffer)
(define-key keymap "k" 'kill-buffer)
(define-key keymap "Left" 'previous-buffer)
(define-key keymap "Right" 'next-buffer)
(define-key keymap "2" 'split-active-window-vertically)
(define-key keymap "3" 'split-active-window-horizontally)
(define-key keymap "o" 'next-window)
(define-key keymap "1" 'delete-other-windows)
(define-key keymap "0" 'delete-active-window)
(define-key keymap "^" 'grow-window)
(define-key keymap "C-z" 'shrink-window)
(define-key keymap "}" 'grow-window-horizontally)
(define-key keymap "{" 'shrink-window-horizontally)
(define-key keymap "4 f" 'find-file-next-window)
(define-key keymap "4 r" 'read-file-next-window)
(define-key keymap "4 b" 'select-buffer-next-window)
(define-key keymap "4 p f" 'project-find-file-next-window))

(defvar *balance-after-split-window* t)

Expand Down
4 changes: 2 additions & 2 deletions src/commands/word.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
(define-key *global-keymap* "C-M-h" 'backward-delete-word)
(define-key *global-keymap* "M-Backspace" 'backward-delete-word)
(define-key *global-keymap* "C-Backspace" 'backward-delete-word)
(define-key *global-keymap* "C-x C-l" 'downcase-region)
(define-key *global-keymap* "C-x C-u" 'uppercase-region)
(define-key *global-prefix-keymap* "C-l" 'downcase-region)
(define-key *global-prefix-keymap* "C-u" 'uppercase-region)
(define-key *global-keymap* "M-c" 'capitalize-word)
(define-key *global-keymap* "M-l" 'lowercase-word)
(define-key *global-keymap* "M-u" 'uppercase-word)
Expand Down
2 changes: 1 addition & 1 deletion src/ext/abbrev.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
(buffer-list))
:test #'equal)))))

(define-key *global-keymap* "C-x /" 'abbrev-with-pop-up-window)
(define-key *global-prefix-keymap* "/" 'abbrev-with-pop-up-window)
(define-command abbrev-with-pop-up-window () ()
(run-completion (lambda (point)
(let* ((src-word (preceding-word point))
Expand Down
2 changes: 1 addition & 1 deletion src/ext/directory-mode/keybinds.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
(eval-when (:compile-toplevel :load-toplevel :execute)
(sb-ext:lock-package :lem/directory-mode/keybinds))

(define-key *global-keymap* "C-x C-j" 'find-file-directory)
(define-key *global-prefix-keymap* "C-j" 'find-file-directory)

(define-key *directory-mode-keymap* "q" 'quit-active-window)
(define-key *directory-mode-keymap* "M-q" 'quit-active-window)
Expand Down
2 changes: 1 addition & 1 deletion src/ext/filer.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
(setf (variable-value 'line-wrap :buffer (current-buffer)) nil)
(setf (buffer-read-only-p (current-buffer)) t))

(define-key *global-keymap* "C-x d" 'filer)
(define-key *global-prefix-keymap* "d" 'filer)
(define-key *filer-mode-keymap* "Return" 'filer-select)
(define-key *filer-mode-keymap* "D" 'filer-delete-file)

Expand Down
2 changes: 1 addition & 1 deletion src/ext/grep.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@
(:name "Peek"
:keymap *peek-grep-mode-keymap*))

(define-key *global-keymap* "C-x p g" 'project-grep)
(define-key *global-prefix-keymap* "p g" 'project-grep)
(define-key *peek-grep-mode-keymap* "C-x ?" 'grep-help) ;; originally bound to describe-key.

;; Comment out because it conflicts with isearch.
Expand Down
6 changes: 3 additions & 3 deletions src/ext/kbdmacro.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,23 @@
(defvar *last-macro-chars* nil)
(defvar *macro-running-p* nil)

(define-key *global-keymap* "C-x (" 'kbdmacro-start)
(define-key *global-prefix-keymap* "(" 'kbdmacro-start)
(define-command kbdmacro-start () ()
(cond ((key-recording-p)
(stop-record-key)
(editor-error "Macro already active"))
(t
(start-record-key))))

(define-key *global-keymap* "C-x )" 'kbdmacro-end)
(define-key *global-prefix-keymap* ")" 'kbdmacro-end)
(define-command kbdmacro-end () ()
(cond (*macro-running-p* t)
((not (key-recording-p))
(editor-error "Macro not active"))
(t
(setq *last-macro-chars* (stop-record-key)))))

(define-key *global-keymap* "C-x e" 'kbdmacro-execute)
(define-key *global-prefix-keymap* "e" 'kbdmacro-execute)
(define-command kbdmacro-execute (n) (:universal)
(cond ((key-recording-p)
(editor-error "Macro already active"))
Expand Down
2 changes: 1 addition & 1 deletion src/ext/list-buffers.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
(:export :list-buffers))
(in-package :lem/list-buffers)

(define-key *global-keymap* "C-x C-b" 'list-buffers)
(define-key *global-prefix-keymap* "C-b" 'list-buffers)

(defun kill-buffers (window)
(let ((multi-column-list (multi-column-list-of-window window)))
Expand Down
2 changes: 1 addition & 1 deletion src/ext/rectangle.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
:name "Rectangle")
(setf *mark-point* (copy-point (current-point) :temporary)))

(define-key *global-keymap* "C-x Space" 'start-rectangle-mark-mode)
(define-key *global-prefix-keymap* "Space" 'start-rectangle-mark-mode)
(define-key *rectangle-mark-mode-keymap* 'copy-region 'rectangle-copy)
(define-key *rectangle-mark-mode-keymap* 'kill-region 'rectangle-kill)
(define-key *rectangle-mark-mode-keymap* "C-o" 'rectangle-open)
Expand Down
4 changes: 4 additions & 0 deletions src/fundamental-mode.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
(:name "Fundamental"))

(defvar *global-keymap* (make-keymap :name '*global-keymap*))
(defvar *global-prefix-keymap* (make-keymap :name '*global-prefix-keymap*)
"The global prefix keymap. It defaults to \"C-x\". ")

(define-key *global-keymap* "C-x" *global-prefix-keymap*)

(define-global-mode emacs-mode ()
(:name "emacs"
Expand Down
1 change: 1 addition & 0 deletions src/internal-packages.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,7 @@
:keymap-undef-hook
:make-keymap
:*global-keymap*
:*global-prefix-keymap*
:define-key
:define-keys
:undefine-key
Expand Down