Emacs: change global custom bindings prefix from C-c to C-x
parent
bdf337676c
commit
63509e6fde
|
@ -11,7 +11,7 @@
|
|||
|
||||
(define-abbrev-table 'c-mode-abbrev-table
|
||||
'(
|
||||
("printf" "" snip-cc-printf 0)
|
||||
("printf" "" cc-printf 0)
|
||||
))
|
||||
|
||||
(define-abbrev-table 'comint-mode-abbrev-table '())
|
||||
|
|
|
@ -82,7 +82,7 @@ there's a region, all lines that region covers will be duplicated."
|
|||
(if auto-fill-p (auto-fill-mode))
|
||||
(goto-char (+ origin (* (length region) arg) arg)))))
|
||||
|
||||
(define-key my-keys-minor-mode-map (kbd "C-c C-d") 'duplicate)
|
||||
(define-key my-keys-minor-mode-map (kbd "C-x M-d") 'duplicate)
|
||||
|
||||
(defun comment-or-uncomment-current-line-or-region ()
|
||||
"Comments or uncomments current current line or whole lines in region."
|
||||
|
@ -167,7 +167,7 @@ Enlarge/Shrink by ARG columns, or 5 if arg is nil."
|
|||
(set-window-start w2 s1))))
|
||||
(other-window 1))
|
||||
|
||||
(define-key my-keys-minor-mode-map (kbd "C-c s") 'swap-windows)
|
||||
(define-key my-keys-minor-mode-map (kbd "C-x M-s") 'swap-windows)
|
||||
|
||||
(defun rename-buffer-and-file ()
|
||||
"Renames current buffer and file it is visiting."
|
||||
|
@ -347,7 +347,7 @@ region. Output result at the end after an ' = ' separtor."
|
|||
(message "Indent using tabs")
|
||||
(setq indent-tabs-mode t)))
|
||||
|
||||
(define-key my-keys-minor-mode-map (kbd "C-c i") 'toggle-indent-tabs)
|
||||
(define-key my-keys-minor-mode-map (kbd "C-x M-i") 'toggle-indent-tabs)
|
||||
|
||||
(defun toggle-word-delim ()
|
||||
"Make underscore part of the word syntax or not."
|
||||
|
|
|
@ -159,7 +159,7 @@
|
|||
(if (not (fboundp 'tool-bar-mode)) (define-key my-keys-minor-mode-map (kbd "C-M-y") 'query-replace-regexp))
|
||||
|
||||
;; Semantic options.
|
||||
(semantic-mode 1)
|
||||
(semantic-mode 0)
|
||||
(setq semanticdb-default-save-directory (concat emacs-cache-folder "semanticdb"))
|
||||
(define-key my-keys-minor-mode-map (kbd "C-c , d") 'semantic-ia-show-summary)
|
||||
(define-key my-keys-minor-mode-map (kbd "C-, d") 'semantic-ia-show-summary)
|
||||
|
@ -286,9 +286,9 @@
|
|||
(setq mc/list-file (concat emacs-cache-folder "mc-lists.el"))
|
||||
(global-unset-key (kbd "C-<down-mouse-1>"))
|
||||
(define-key my-keys-minor-mode-map (kbd "C-<mouse-1>") 'mc/add-cursor-on-click)
|
||||
(define-key my-keys-minor-mode-map (kbd "C-c M-r") 'mc/edit-lines)
|
||||
(define-key my-keys-minor-mode-map (kbd "C-c C-m") 'mc/mark-more-like-this-extended)
|
||||
(define-key my-keys-minor-mode-map (kbd "C-c M-l") 'mc/mark-all-like-this-dwim))
|
||||
(define-key my-keys-minor-mode-map (kbd "C-x M-r") 'mc/edit-lines)
|
||||
(define-key my-keys-minor-mode-map (kbd "C-x M-m") 'mc/mark-more-like-this-extended)
|
||||
(define-key my-keys-minor-mode-map (kbd "C-x M-l") 'mc/mark-all-like-this-dwim))
|
||||
|
||||
;; Let Emacs auto-load/save sessions.
|
||||
(when (boundp 'server-running-p)
|
||||
|
|
|
@ -64,7 +64,11 @@ restored."
|
|||
(cc-set-compiler)
|
||||
(local-set-key (kbd "<f9>") 'cc-clean)
|
||||
(local-set-key (kbd "M-TAB") 'semantic-complete-analyze-inline)
|
||||
(local-set-key (kbd "C-c C-f") 'snip-cc-fori)
|
||||
(local-set-key (kbd "C-c C-f") 'cc-fori)
|
||||
(local-set-key (kbd "C-c m") 'cc-main)
|
||||
(local-set-key (kbd "C-c C-i") 'cc-if)
|
||||
(local-set-key (kbd "C-c i") 'cc-include)
|
||||
(local-set-key (kbd "C-c I") 'cc-include-local)
|
||||
;; (local-set-key "." 'semantic-complete-self-insert) ; This is a bit slow.
|
||||
;; (local-set-key ">" 'semantic-complete-self-insert)
|
||||
(local-set-key (kbd "C-M-e") (lambda () (interactive) (c-beginning-of-defun -1))))))
|
||||
|
@ -107,8 +111,11 @@ restored."
|
|||
;;==============================================================================
|
||||
;; Skel
|
||||
;;==============================================================================
|
||||
;; TODO: elements: (setq skeleton-further-elements '((q "\"")))
|
||||
(define-skeleton snip-cc-printf
|
||||
|
||||
;; Note that it is possible to extend the skel syntax like this: (setq
|
||||
;; skeleton-further-elements '((q "\"")))
|
||||
|
||||
(define-skeleton cc-printf
|
||||
"fprintf/printf snippet
|
||||
|
||||
If no file descriptor is provided, switch do printf. The format
|
||||
|
@ -126,7 +133,7 @@ Requires the `count-percents' function."
|
|||
(skeleton-insert '(nil (concat ", " (skeleton-read "Value: ")))))
|
||||
@ ");")
|
||||
|
||||
(define-skeleton snip-cc-fori
|
||||
(define-skeleton cc-fori
|
||||
"for i loop."
|
||||
nil
|
||||
> "for (" @ (skeleton-read "" "i = 0") "; " @ (skeleton-read "" "i < N") "; " @ (skeleton-read "" "i++") ")" \n
|
||||
|
@ -134,4 +141,43 @@ Requires the `count-percents' function."
|
|||
@ _ \n
|
||||
"}" > )
|
||||
|
||||
(define-skeleton cc-main
|
||||
"Insert main function with basic includes."
|
||||
nil
|
||||
> "#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{" \n
|
||||
> @ _ \n
|
||||
> "return 0;
|
||||
}" \n)
|
||||
|
||||
(define-skeleton cc-include
|
||||
"Insert system include."
|
||||
"Header: "
|
||||
\n "#include <" @ str ">" \n)
|
||||
|
||||
(define-skeleton cc-include-local
|
||||
"Insert local include."
|
||||
"Header: "
|
||||
\n "#include \"" @ str "\"" \n)
|
||||
|
||||
;; TODO: solve indentation issues
|
||||
(define-skeleton cc-if
|
||||
"Insert an if statement."
|
||||
"Condition: "
|
||||
> "if (" @ str ") {" \n
|
||||
> @ _ \n
|
||||
( "Other condition, %s: "
|
||||
> "} else if (" @ str ") {" > \n
|
||||
> @ \n)
|
||||
"} else {" > \n
|
||||
> @ \n
|
||||
resume:
|
||||
"}" > \n)
|
||||
|
||||
(provide 'mode-cc)
|
||||
|
|
|
@ -239,7 +239,8 @@ properly escaped with double-quotes in case it has spaces."
|
|||
(local-set-key (kbd "<f9>") 'tex-pdf-view)
|
||||
(tex-set-compiler))
|
||||
|
||||
(add-hook 'tex-mode-hook 'tex-setup)
|
||||
;; TODO: why is tex-setup needed for tex-mode only?
|
||||
(add-hook 'tex-mode-hook 'tex-setup t)
|
||||
(tex-setup)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -283,4 +284,191 @@ properly escaped with double-quotes in case it has spaces."
|
|||
;; latex-math-preview-pifont-symbol-fonts-symbol-data)))
|
||||
))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Skeletons
|
||||
|
||||
|
||||
(define-skeleton tex-article
|
||||
"Insert article template."
|
||||
nil
|
||||
> "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\\documentclass[10pt,a4paper]{article}
|
||||
\\usepackage[utf8]{inputenc}
|
||||
\\usepackage[T1]{fontenc}
|
||||
\\usepackage{amsmath,amssymb,amsfonts}
|
||||
\\usepackage{geometry}
|
||||
\\usepackage{lmodern}
|
||||
\\usepackage{marvosym}
|
||||
\\usepackage{textcomp}
|
||||
\\DeclareUnicodeCharacter{20AC}{\\EUR{}}
|
||||
\\DeclareUnicodeCharacter{2260}{\\neq}
|
||||
\\DeclareUnicodeCharacter{2264}{\\leq}
|
||||
\\DeclareUnicodeCharacter{2265}{\\geq}
|
||||
\\DeclareUnicodeCharacter{22C5}{\\cdot}
|
||||
\\DeclareUnicodeCharacter{A0}{~}
|
||||
\\DeclareUnicodeCharacter{B1}{\\pm}
|
||||
\\DeclareUnicodeCharacter{D7}{\\times}
|
||||
%%=============================================================================
|
||||
%% Properties
|
||||
|
||||
\\title{Title}
|
||||
\\author{P.~\\textsc{Neidhardt}}
|
||||
|
||||
\\makeatletter
|
||||
\\let\\thetitle\\@title
|
||||
\\let\\theauthor\\@author
|
||||
\\let\\thedate\\@date
|
||||
\\makeatother
|
||||
|
||||
%%=============================================================================
|
||||
%% Aliases
|
||||
|
||||
\\usepackage{xspace}
|
||||
|
||||
\\let\\latexbak\\LaTeX
|
||||
\\renewcommand{\\LaTeX}{\\textrm{\\latexbak}\\xspace}
|
||||
|
||||
\\let\\texbak\\TeX
|
||||
\\renewcommand{\\TeX}{\\textrm{\\texbak}\\xspace}
|
||||
|
||||
\\def\\unix{\\textsc{Unix}\\xspace}
|
||||
\\def\\ie{\\textsl{i.e.}\\xspace}
|
||||
\\def\\eg{\\textsl{e.g.}\\xspace}
|
||||
|
||||
%%=============================================================================
|
||||
%% Formatting
|
||||
|
||||
% \\usepackage{parskip}
|
||||
% \\setlength{\\parindent}{15pt}
|
||||
|
||||
% \\renewcommand{\\thefigure}{\\arabic{section}.\\arabic{figure}}
|
||||
\\renewcommand{\\arraystretch}{1.4}
|
||||
% \\renewcommand{\\familydefault}{\\sfdefault}
|
||||
|
||||
%% Header
|
||||
% \\usepackage{fancyhdr}
|
||||
% \\setlength{\\headheight}{15.2pt}
|
||||
% \\pagestyle{fancy}
|
||||
% \\lhead{\\thetitle}
|
||||
% \\rhead{\\theauthor}
|
||||
|
||||
%%==============================================================================
|
||||
%% Tables
|
||||
|
||||
% \\usepackage{longtable}
|
||||
% \\usepackage{tabu}
|
||||
|
||||
%%==============================================================================
|
||||
%% Graphics
|
||||
|
||||
%% Load TikZ after xcolor.
|
||||
\\usepackage[svgnames]{xcolor}
|
||||
% \\usepackage{graphicx}
|
||||
% \\usepackage{tikz}
|
||||
|
||||
% \\newcommand{\\fancybox}[1]{
|
||||
% \\begin{tikzpicture}
|
||||
% \\node[draw,rounded corners]{#1};
|
||||
% \\end{tikzpicture}
|
||||
% }
|
||||
|
||||
%%==============================================================================
|
||||
%% Misc.
|
||||
|
||||
\\usepackage{comment}
|
||||
\\usepackage{needspace}
|
||||
|
||||
% \\usepackage{calc}
|
||||
% \\usepackage{fp}
|
||||
% \\usepackage{lipsum}
|
||||
|
||||
|
||||
%%=============================================================================
|
||||
%% Babel
|
||||
|
||||
%% Load last before 'hyperref'.
|
||||
\\usepackage[french,ngerman,english]{babel}
|
||||
\\iflanguage{french}{
|
||||
}{
|
||||
%% Narrow items
|
||||
\\newlength{\\wideitemsep}
|
||||
\\setlength{\\wideitemsep}{.5\\itemsep}
|
||||
\\addtolength{\\wideitemsep}{-7pt}
|
||||
\\let\\olditem\\item
|
||||
\\renewcommand{\\item}{\\setlength{\\itemsep}{\\wideitemsep}\\olditem}
|
||||
}
|
||||
|
||||
%%==============================================================================
|
||||
%% Hyperref
|
||||
|
||||
%% Load last.
|
||||
\\usepackage[]{hyperref}
|
||||
|
||||
\\hypersetup{
|
||||
colorlinks=true,
|
||||
linkcolor=DarkRed,
|
||||
linktoc=page,
|
||||
urlcolor=blue,
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\\begin{document}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\\maketitle
|
||||
% \\vfill
|
||||
% \\thispagestyle{empty}
|
||||
% \\tableofcontents
|
||||
" \n
|
||||
> @ _ \n
|
||||
> "
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\\end{document}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
" \n)
|
||||
|
||||
(define-skeleton latex-listing-setup
|
||||
"Insert listing setup template."
|
||||
nil
|
||||
> "%%=============================================================================
|
||||
%% Listings
|
||||
|
||||
\\usepackage{listings}
|
||||
|
||||
%% Source code.
|
||||
\\lstdefinestyle{custom}{
|
||||
% numbers=left,
|
||||
belowcaptionskip=1\\baselineskip,
|
||||
breaklines=true,
|
||||
frame=L,
|
||||
xleftmargin=\\parindent,
|
||||
% framexleftmargin=\\parindent,
|
||||
language=C,
|
||||
showstringspaces=false,
|
||||
basicstyle=\\footnotesize\\ttfamily,
|
||||
keywordstyle=\\bfseries\\color{green!40!black},
|
||||
commentstyle=\\itshape\\color{purple!40!black},
|
||||
identifierstyle=\\color{blue},
|
||||
stringstyle=\\color{orange},
|
||||
numberstyle=\\ttfamily,
|
||||
}
|
||||
|
||||
\\lstset{escapechar=,style=custom,
|
||||
literate=
|
||||
{á}{{\\'a}}1 {é}{{\\'e}}1 {í}{{\\'i}}1 {ó}{{\\'o}}1 {ú}{{\\'u}}1
|
||||
{Á}{{\\'A}}1 {É}{{\\'E}}1 {Í}{{\\'I}}1 {Ó}{{\\'O}}1 {Ú}{{\\'U}}1
|
||||
{à}{{\\`a}}1 {è}{{\\'e}}1 {ì}{{\\`i}}1 {ò}{{\\`o}}1 {ù}{{\\`u}}1
|
||||
{À}{{\\`A}}1 {È}{{\\'E}}1 {Ì}{{\\`I}}1 {Ò}{{\\`O}}1 {Ù}{{\\`U}}1
|
||||
{ä}{{\\\"a}}1 {ë}{{\\\"e}}1 {ï}{{\\\"i}}1 {ö}{{\\\"o}}1 {ü}{{\\\"u}}1
|
||||
{Ä}{{\\\"A}}1 {Ë}{{\\\"E}}1 {Ï}{{\\\"I}}1 {Ö}{{\\\"O}}1 {Ü}{{\\\"U}}1
|
||||
{â}{{\\^a}}1 {ê}{{\\^e}}1 {î}{{\\^i}}1 {ô}{{\\^o}}1 {û}{{\\^u}}1
|
||||
{Â}{{\\^A}}1 {Ê}{{\\^E}}1 {Î}{{\\^I}}1 {Ô}{{\\^O}}1 {Û}{{\\^U}}1
|
||||
{œ}{{\\oe}}1 {Œ}{{\\OE}}1 {æ}{{\\ae}}1 {Æ}{{\\AE}}1 {ß}{{\\ss}}1
|
||||
{ç}{{\\c c}}1 {Ç}{{\\c C}}1 {ø}{{\\o}}1 {å}{{\\r a}}1 {Å}{{\\r A}}1
|
||||
{€}{{\\EUR}}1 {£}{{\\pounds}}1
|
||||
}
|
||||
|
||||
\\newcommand{\\includecode}[2][custom]{
|
||||
\\lstinputlisting[caption=#2, escapechar=, style=#1]{#2}}" \n)
|
||||
|
||||
|
||||
(provide 'mode-tex)
|
||||
|
|
Loading…
Reference in New Issue