summaryrefslogtreecommitdiffstats
path: root/scripts/kde-emacs/kde-emacs-tips.texi
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitbd9e6617827818fd043452c08c606f07b78014a0 (patch)
tree425bb4c3168f9c02f10150f235d2cb998dcc6108 /scripts/kde-emacs/kde-emacs-tips.texi
downloadtdesdk-bd9e6617827818fd043452c08c606f07b78014a0.tar.gz
tdesdk-bd9e6617827818fd043452c08c606f07b78014a0.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdesdk@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'scripts/kde-emacs/kde-emacs-tips.texi')
-rw-r--r--scripts/kde-emacs/kde-emacs-tips.texi257
1 files changed, 257 insertions, 0 deletions
diff --git a/scripts/kde-emacs/kde-emacs-tips.texi b/scripts/kde-emacs/kde-emacs-tips.texi
new file mode 100644
index 00000000..ee7c0f19
--- /dev/null
+++ b/scripts/kde-emacs/kde-emacs-tips.texi
@@ -0,0 +1,257 @@
+\input texinfo @c -*-texinfo-*-
+
+@finalout
+
+@c %**start of header
+@setfilename kde-emacs-tips
+@settitle KDE Emacs usefull programming tips
+@footnotestyle end
+@c @setchapternewpage odd !! we don't want blank pages
+@c %**end of header
+
+@dircategory Emacs
+@direntry
+* KDE Emacs: (kde-emacs). Emacs mode for editing KDE/QT C++/C code.
+@end direntry
+
+@ifnottex
+Copyright @copyright{} 2002 Zack Rusin and KDE Development Team
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and
+``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU
+Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
+license is included in the section entitled ``GNU Free Documentation
+License'' in the Emacs manual.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software. Copies published by the Free
+Software Foundation raise funds for GNU development.''
+
+This document is part of a collection distributed under the GNU Free
+Documentation License. If you want to distribute this document
+separately from the collection, you can do so by adding a copy of the
+license to the document, as described in section 6 of the license.
+@end ifnottex
+
+@titlepage
+@sp 10
+
+@center @titlefont{KDE Emacs Package}
+@sp 2
+@center @subtitlefont{KDE Emacs package documentation and programming tips.}
+@sp 2
+@author Zack Rusin
+
+@page
+@vskip 0pt plus 1filll
+Copyright @copyright{} 2002 Zack Rusin & KDE Development Team
+@sp 1
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and
+``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU
+Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
+license is included in the section entitled ``GNU Free Documentation
+License'' in the Emacs manual.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software. Copies published by the Free
+Software Foundation raise funds for GNU development.''
+
+This document is part of a collection distributed under the GNU Free
+Documentation License. If you want to distribute this document
+separately from the collection, you can do so by adding a copy of the
+license to the document, as described in section 6 of the license.
+@end titlepage
+
+@node Top, Introduction, (dir), (dir)
+@comment node-name, next, previous, up
+
+@macro kdeemacs
+KDE Emacs
+@end macro
+
+@ifinfo
+@top @kdeemacs{}
+
+@kdeemacs{} is an Emacs package with tons of useful features
+which ease KDE development process.
+KDE Emacs usefull programming tips.
+
+@end ifinfo
+
+@menu
+* Introduction::
+* Getting Connected::
+* Generating stubs::
+* Tips::
+@end menu
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node Introduction, Getting Connected, Top, Top
+@comment node-name, next, previous, up
+@chapter Introduction
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node Getting Connected, Generating stubs, Introduction, Top
+@comment node-name, next, previous, up
+@chapter Getting Connected
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@menu
+* Sect. 2.1:: Installation
+* Sect. 2.2:: Files
+* Sect. 2.3:: Keybindings
+@end menu
+
+@node Sect. 2.1, Sect. 2.2, Chapter 2, Chapter 2
+@section @code{Installation}
+@comment node-name, next, previous, up
+
+@node Sect. 2.2, Sect. 2.3, Sect. 2.1, Chapter 2
+@section @code{Files}
+@comment node-name, next, previous, up
+
+@node Sect. 2.3, , Sect 2.2, Chapter 2
+@section @code{Keybindings}
+@comment node-name, next, previous, up
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node Generating stubs , Tips, Getting Connected, Top
+@comment node-name, next, previous, up
+@chapter Generating stubs
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@node Tips, Top, Generating stubs, Top
+@comment node-name, next, previous, up
+@chapter Tips
+@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@sp 1
+@strong{Q.} @emph{How do I hide #ifdef's in source files without
+actually changing them?}
+
+@strong{A.} Use @code{hide-ifdef-mode} which supports hiding of ifdef
+blocks without actually changing the file. In this mode @kbd{C-c @@
+C-d} hides ifdef block and @kbd{C-c @@ C-s} shows it again.
+
+@sp 1
+@strong{Q.} @emph{How do I get more informations about the keybindings
+of the currently active modes?}
+
+@strong{A.} Type @kbd{M-x describe-mode}.
+
+@sp 1
+@strong{Q.} @emph{How do I get automatic syntax higlighting of my
+custom types?}
+
+@strong{A.} Use a package named @file{ctypes.el} which does exactly
+that.
+
+@sp 1
+@strong{Q.} @emph{Is it possible to highlight dangerous syntax, just
+like Borland JBuilder does it?}
+
+@strong{A.} Yes, use the @file{cwarn.el} package.
+
+@sp 1
+@strong{Q.} @emph{How do I easily customize Emacs faces/colors?}
+
+@strong{A.} Use the @file{color-theme.el} package.
+
+@sp 1
+@strong{Q.} @emph{How do I set the taskbar Emacs identification string?}
+
+@strong{A.} To your @file{.emacs} add a line like:
+@example
+(setq frame-title-format "%b (%m)")
+@end example
+which will display ``filename (mode)'' type of string in the
+taskbar. Type @kbd{C-h v frame-title-format} to get more info.
+
+@sp 1
+@strong{Q.} @emph{Can I make Emacs jump to the matching parenthesis
+with @kbd{%} just like vi?}
+
+@strong{A.} Yes, just add to your @file{.emacs} something like:
+@example
+;; Make the % key jump to the matching {}[]() if on another, like VI
+(global-set-key "%" 'match-paren)
+
+(defun match-paren (arg)
+ "Go to the matching parenthesis if on parenthesis otherwise insert %."
+ (interactive "p")
+ (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1))
+ ((looking-at "\\s\)") (forward-char 1) (backward-list 1))
+ (t (self-insert-command (or arg 1)))))
+@end example
+
+@sp 1
+@strong{Q.} @emph{Can I have words like FIXME, TODO, HACK or NOTE
+higlighted in documentation strings?}
+
+@strong{A.} Yes, either use @file{code-keywords.el} package or wait
+till I'll add it to @kdeemacs{}.
+
+@sp 1
+@strong{Q.} @emph{I really, really hate identifiersNamedLikeThis. I'd
+like to change them to identifiers_named_like_this but the
+maintainer of the application/library that I'm hacking on doesn't
+agree with me. What can I do? }
+
+@strong{A.} Use the @file{glasses.el} package which changes
+identifiersNamedLikeThis to identifiers_named_like_this in the
+buffers you're editing and switches them back to their original form
+once you save those buffers.
+
+@sp 1
+@strong{Q.} @emph{Is it possible to get function completion or
+signature display in Emacs? Will it ever be done?}
+
+@strong{A.} Yes and yes. I've been planning on doing this for quite a
+while and hopefully will have this finished pretty soon (no dates
+though :) ) The first thing that should be done is writing a few
+fixes for the Semantic package (@file{c.bnf} to be more exact),
+because Semantic doesn't handle templates, member function declared
+as const or KDE access specifiers, once this is done all that will be
+left is using semanticdb package which efficiently stores and retrieves
+large amounts of tokens and then displaying tokens belonging to types at
+point which match current context.
+
+@sp 1
+@strong{Q.} @emph{Is there a package that would highlight changes that
+I made to a certain file?}
+
+@strong{A.} I wouldn't be writing this if there wouldn't - try
+@kbd{M-x highlight-changes-mode}.
+
+@sp 1
+@strong{Q.} @emph{How to get a diff between the stuff I have in my
+local buffer and the file on disk?}
+
+@strong{A.} Use ibuffer package. After @kbd{M-x ibuffer} typing
+@kbd{=} over a file will display a diff between the buffer and the
+file on the disk.
+
+@sp 1
+@strong{Q.} @emph{I want to temporarily highlight certain variable in
+a file, how to do it?}
+
+@strong{A.} Type @kbd{M-x hi-lock-mode}, now @kbd{C-x w h
+@emph{regexp} @key{RET} @emph{face} @key{RET}} highlights regexp with
+face in the current file and @kbd{C-x w r @emph{regexp} @key{RET}}
+unhighlights it.
+
+@node Concept Index, , Variables Index, Top
+@c node-name, next, previous, up
+@unnumbered Concept Index
+
+@printindex cp
+
+@contents
+@bye