Warning, /sdk/kde-dev-scripts/kde-emacs/kde-emacs-bindings.el is written in an unsupported language. File is not indexed.
0001 ;; kde-emacs-bindings.el 0002 ;; 0003 ;; Copyright (C) 2002 KDE Development Team 0004 ;; 0005 ;; This library is free software; you can redistribute it and/or 0006 ;; modify it under the terms of the GNU Lesser General Public 0007 ;; License as published by the Free Software Foundation; either 0008 ;; version 2.1 of the License, or (at your option) any later version. 0009 ;; 0010 ;; This library is distributed in the hope that it will be useful, 0011 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0013 ;; Lesser General Public License for more details. 0014 ;; 0015 ;; You should have received a copy of the GNU Lesser General Public 0016 ;; License along with this library; if not, write to the Free Software 0017 ;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 0018 ;; 02110-1301 USA 0019 0020 ; currently no binding for header-protection and add-file-to-makefile-am, 0021 ; you need to call them from M-x 0022 0023 ; ----------------------------------------------------------------- 0024 ; The list below defines the following bindings: 0025 ; 0026 ; F2 : offer a grep command (use C-u F2 if you need to specify options, like -i or -w) 0027 ; Shift-F2 : offer a grep command to search in directories below the current too.. 0028 ; 0029 ; F3/Shift-F3/F8/Shift-RMB : different ways to see the list of methods in the current buffer 0030 ; 0031 ; F4 : make 0032 ; Shift-F4 : make clean 0033 ; F5 : make install 0034 ; Shift-F5 : make install-exec 0035 ; 0036 ; Shift-F6 : compile this file [assumes libtool is being used] 0037 ; F6 : Switch from .cpp/.cc to .h and vice-versa 0038 ; F7 : The same, but try to find the current method in the other file 0039 ; F9 : Create a member method in the .cpp, the cursor being on the definition in the .h 0040 ; F10: Place point on a class name, and the respective (Qt) include file will be inserted. 0041 ; This works with all Qt classes but can easily be extended to KDE classes. 0042 ; Shift-F10: Place point on a class name, and "class Blah" will be inserted near the top. 0043 ; Meta-F10: Place point on a class name, and press Meta-F10, and konqueror will load 0044 ; Qt documentation. Customize the location of the Qt documentation with the 0045 ; variable kdab-qt-documentation. XXX will be replace with the class name. 0046 ; Example (setq kdab-qt-location "file:/packages/kde-src/qt-copy/doc/html/XXX.html") 0047 ; 0048 ; M-n: jump to the next error (after compiling) or grep matches 0049 ; 0050 ; Ctrl+Meta+D : insert a kDebug statement with the name of the current method 0051 ; [the new hide-all-windows shortcut conflicts with that, you may have to 0052 ; change it, or use Ctrl+Meta+Shift+D (!!)] 0053 ; 0054 ; Meta Up/Down : scroll the other window (when window is split) 0055 0056 ; Other very useful keybindings to know about: 0057 ; C-x r m to set a named bookmark in the buffer 0058 ; C-x r b to jump to a named bookmark in the buffer 0059 ; To save bookmarks to a file type: 0060 ; M-x bookmark-write 0061 ; and to load bookmarks from a file write: 0062 ; M-x bookmark-load 0063 0064 (require 'kde-emacs-core) 0065 (require 'kde-emacs-general) 0066 (require 'kde-emacs-utils) 0067 (require 'klaralv) 0068 (require 'kde-emacs-utils) 0069 (when (featurep 'semantic) 0070 (require 'kde-emacs-semantic) 0071 (require 'kde-emacs-doc)) 0072 0073 ;; Wheelmouse support 0074 (define-key global-map [(button4)] 'scroll-me-down) 0075 (define-key global-map [(button5)] 'scroll-me-up) 0076 (define-key global-map [(shift button4)] 'scroll-me-down-a-bit) 0077 (define-key global-map [(shift button5)] 'scroll-me-up-a-bit) 0078 0079 ;; Some example bindings, feel free to customize :) 0080 (define-key global-map [(meta up)] 'scroll-other-up) 0081 (define-key global-map [(meta down)] 'scroll-other-down) 0082 (global-set-key [(control j)] 'goto-line) 0083 (global-set-key [(control %)] 'match-paren) ;;for all buffers :) 0084 0085 (if (featurep 'igrep) 0086 (progn 0087 (setq igrep-find-prune-clause 0088 (format "-type d %s -name CVS -o -name .libs -o -name .deps -o -name .svn %s" 0089 (shell-quote-argument "(") 0090 (shell-quote-argument ")"))) 0091 (setq igrep-find-file-clause 0092 (format "-type f %s -name %s %s -name %s %s -name %s %s -name %s" ; -type l 0093 (shell-quote-argument "!") 0094 (shell-quote-argument "*~") ; Emacs backup 0095 (shell-quote-argument "!") 0096 (shell-quote-argument "*,v") ; RCS file 0097 (shell-quote-argument "!") 0098 (shell-quote-argument "s.*") ; SCCS file 0099 (shell-quote-argument "!") 0100 (shell-quote-argument "*.o") ; compiled object 0101 (shell-quote-argument "!") 0102 (shell-quote-argument ".#*") ; Emacs temp file 0103 ) 0104 ) 0105 (define-key global-map [(f2)] 'igrep) 0106 (define-key global-map [(shift f2)] 'igrep-find) 0107 (define-key global-map [(f12)] 'igrep-find) ; on the console, shift f2 gives f12 for some reason.. 0108 ;(setq igrep-files-default 'ignore) ; too hard to use *.cc *.h with it, because of the full path 0109 ) 0110 (define-key global-map [(f2)] 'grep)) 0111 (define-key global-map [(shift backspace)] 'kde-delete-backward-ws) 0112 0113 ;; FIXME: remember to get these working on Gnu/Emacs (Zack) 0114 (when (eq kde-emacs-type 'xemacs) 0115 (define-key c++-mode-map [(f8)] 'function-menu) 0116 (define-key c++-mode-map [(f3)] 'fume-prompt-function-goto) 0117 (define-key c++-mode-map [(shift f3)] 'fume-list-functions) 0118 ) 0119 0120 (define-key global-map [(shift button3)] 'mouse-function-menu) 0121 (if kde-emacs-newline-semicolon 0122 (define-key c++-mode-map "\;" 'insert-semicolon)) 0123 0124 (if kde-emacs-use-qtcreator-shortcuts 0125 (progn 0126 ;(define-key global-map [(shift f4)] 'makeclean) 0127 (define-key global-map [(control b)] 'make) 0128 (define-key global-map [(control B)] 'makeinstall) 0129 ;(define-key global-map [(shift f5)] 'makeinstallexec) ; TODO replace with run-current-program 0130 (define-key global-map [(shift f6)] 'makethisfile) 0131 (define-key c++-mode-map [(f4)] 'kde-switch-cpp-h) 0132 (define-key c-mode-map [(f4)] 'kde-switch-cpp-h) 0133 (define-key c++-mode-map [(shift f2)] 'switch-to-function-def) 0134 (define-key c-mode-map [(shift f2)] 'switch-to-function-def) 0135 (define-key c++-mode-map [(control shift f2)] 'agulbra-make-member) 0136 (define-key c-mode-map [(control shift f2)] 'agulbra-make-member) 0137 (define-key global-map [(f6)] 'next-error) 0138 ) 0139 ; else 0140 (progn ; Historic default keybindings 0141 (define-key global-map [(shift f4)] 'makeclean) 0142 (define-key global-map [(f4)] 'make) 0143 (define-key global-map [(f5)] 'makeinstall) 0144 (define-key global-map [(shift f5)] 'makeinstallexec) ; TODO replace with run-current-program 0145 (define-key c++-mode-map [(f6)] 'kde-switch-cpp-h) 0146 (define-key c-mode-map [(f6)] 'kde-switch-cpp-h) 0147 (define-key c++-mode-map [(f7)] 'switch-to-function-def) 0148 (define-key c-mode-map [(f7)] 'switch-to-function-def) 0149 (define-key c++-mode-map [(f9)] 'agulbra-make-member) 0150 (define-key c-mode-map [(f9)] 'agulbra-make-member) 0151 (define-key global-map [(meta n)] 'next-error) 0152 ) 0153 ) 0154 0155 ; kde-emacs-headers: 0156 (define-key c++-mode-map [(f10)] 'kdab-insert-header) 0157 (define-key c++-mode-map [(shift f10)] 'kdab-insert-forward-decl) 0158 (define-key c++-mode-map [(meta f10)] 'kdab-lookup-qt-documentation) 0159 (define-key c++-mode-map [(control meta d)] 'insert-kDebug) 0160 0161 ; Standard Qt/KDE shortcuts: Ctrl+Backspace, Ctrl+Delete 0162 (define-key global-map [(control backspace)] 'backward-kill-word) 0163 (define-key global-map [(control delete)] 'kill-word) 0164 0165 ; Standard Qt/KDE shortcuts: Control Pageup and Pagedown 0166 (define-key global-map [(control prior)] 'beginning-of-buffer) 0167 (define-key global-map [(control next)] 'end-of-buffer) 0168 0169 ; kde-emacs-semantic : 0170 ; no binding for kde-license-insert; call it via M-x 0171 (when (featurep 'semantic) 0172 (define-key c++-mode-map [(control c)(control k)(d)] 'kde-doc-function-insert) 0173 (define-key c++-mode-map [(control c)(control k)(m)] 'kde-doc-multiline-insert) 0174 (define-key c++-mode-map [(control c)(control k)(o)] 'kde-doc-oneliner-insert) 0175 (define-key c++-mode-map [(control c)(control k)(e)] 'kde-function-expand-at-point) 0176 (define-key c++-mode-map [(control c)(control k)(s)] 'kde-create-skeletons)) 0177 0178 (modify-frame-parameters (selected-frame) '((menu-bar-lines . 2))) 0179 (define-key c++-mode-map [menu-bar KDE] 0180 (cons "KDE" c++-mode-map)) 0181 (when (featurep 'semantic) 0182 (define-key c++-mode-map [menu-bar KDE kde-doc-function-insert] 0183 '("kde-doc-function-insert" . kde-doc-function-insert)) 0184 (define-key c++-mode-map [menu-bar KDE kde-function-expand-at-point] 0185 '("kde-function-expand-at-point" . kde-function-expand-at-point)) 0186 (define-key c++-mode-map [menu-bar KDE kde-create-skeletons] 0187 '("kde-create-skeletons" . kde-create-skeletons)) 0188 (define-key c++-mode-map [menu-bar KDE kde-doc-multiline-insert] 0189 '("kde-doc-multiline-insert" . kde-doc-multiline-insert))) 0190 (define-key c++-mode-map [menu-bar KDE makeclean] 0191 '("make clean" . makeclean)) 0192 (define-key c++-mode-map [menu-bar KDE make] 0193 '("make" . make)) 0194 (define-key c++-mode-map [menu-bar KDE makeinstall] 0195 '("make install" . makeinstall)) 0196 (define-key c++-mode-map [menu-bar KDE makethisfile] 0197 '("make this file" . makethisfile)) 0198 (define-key c++-mode-map [menu-bar KDE kdeswitchcpph] 0199 '("Switch to .h/.cpp file" . kde-switch-cpp-h)) 0200 (define-key c++-mode-map [menu-bar KDE insert-kDebug] 0201 '("Insert kDebug" . insert-kDebug)) 0202 0203 0204 (provide 'kde-emacs-bindings) 0205