2019-01-04 10:41:14 +01:00
<!doctype html>
< html lang = "de" >
< meta charset = "utf-8" >
< title > Einführung in Linux< / title >
< meta name = "description" content = "YALC - Yet Another Linux Course " >
< meta name = "author" content = "Daniel Schubert" >
< meta name = "apple-mobile-web-app-capable" content = "yes" >
< meta name = "apple-mobile-web-app-status-bar-style" content = "black-translucent" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" >
< link rel = "stylesheet" href = "css/reveal.css" >
< link rel = "stylesheet" href = "css/theme/league.css" id = "theme" >
< link rel = "icon" href = "img/openlogo-nd-25.png" type = "img/png" >
<!-- Theme used for syntax highlighting of code -->
< link rel = "stylesheet" href = "lib/css/zenburn.css" >
<!-- Printing and PDF exports -->
< script >
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
< / script >
< / head >
< body >
< div class = "reveal" >
<!-- Any section element inside of this container is displayed as a slide -->
< div class = "slides" >
< section data-transition = "slide" data-background = "#4d7e65" data-background-transition = "zoom" >
< h1 > LINUX< / h1 >
< h3 > Das universelle Betriebssystem< / h3 >
< p > Eine Einführung - Teil 6
< p >
< small > Deutsche Angestellten Akademie< / small >
< / p >
< aside class = "notes" >
Frage: Fragen zur letzten Stunde?
< / aside >
< / section >
< section >
< h2 > vim und emacs< / h2 >
< h3 > Die mächtigen Unix Editoren< / h3 >
< / section >
< section data-transition = "slide" data-background = "#4d7e65" data-background-transition = "zoom" >
< h3 > vim< / h3 >
2019-01-13 18:49:01 +01:00
< ul >
< li class = "fragment" > ein Editor für die shell < / li >
< li class = "fragment" > immer da, oft in der alten Variante „vi“ < / li >
< li class = "fragment" > Vi IMproved< / li >
< li class = "fragment" > komplett per Kürzel steuerbar < / li >
< li class = "fragment" > umfassend anpassbar < / li >
< li class = "fragment" > erweiterbar < / li >
< li class = "fragment" > syntax highlighting < / li >
< li class = "fragment" > vim ist einfach cool ;-)< / li >
< / ul >
2019-01-04 10:41:14 +01:00
< / section >
2019-01-13 18:49:01 +01:00
< section >
< h3 > Die 5 Level eines Vim Magiers< / h3 >
< ul >
< li > Level 0: nichts über vim wissen
< li > Level 1: vim basics kennen
< li > Level 2: den visual mode kennen
< li > Level 3: diverse „motions“ kennen
< li > Level 4: den visual mode nicht brauchen
< / ul >
< / section >
< section >
< h4 > vim Basics< / h4 >
< p > vimtutor
< p > https://danielmiessler.com/study/vim/
< / section >
< section >
< img src = "img/vi-vim-cheat-sheet.gif" >
< / section >
< section >
< h3 > emacs< / h3 >
< h4 > Escape-Meta-Alt-Control-Shift< / h4 >
< p > Aus der wikipedia:
< div style = "font-size:.8em" >
Emacs ist eine Familie von Texteditoren. Die erste Emacs-Implementierung wurde von Richard Stallman (zusammen mit Guy L. Steele, Jr. und anderen) entwickelt. Besonders populär ist heute der GNU Emacs, der durch seine Programmierschnittstelle in der Programmiersprache Emacs Lisp mit beliebigen Erweiterungen ausgestattet werden kann.
GNU Emacs ist als freie Software unter der GNU General Public License erhältlich und läuft auf den meisten heute üblichen Betriebssystemen.
< / section >
< section >
< h4 > emacs features< / h4 >
< p style = "font-size:.8em" > < q > Emacs is a great operating system – it lacks a good editor, though.< / q > (Thomer M. Gil)< / p >
< ul >
< li class = "fragment " > Syntax-highlighting< / li >
< li class = "fragment " > Kalender< / li >
< li class = "fragment " > News-Reader< / li >
< li class = "fragment " > Integrierte Shell< / li >
< li class = "fragment " > FTP Client< / li >
< li class = "fragment " > Webbrowser< / li >
< / ul >
< / section >
< section >
< img src = "img/emacs_learning_curves.png" >
< / section >
< section >
< h4 > Emacs Konzept< / h4 >
< ul >
< li class = "fragment " > sog. Modes< / li >
< li class = "fragment " > Modes bringen spezielle Funktionalität< / li >
< li class = "fragment " > Major-Modes: Abhängig von Dateityp< / li >
< li class = "fragment " > zb. automatisches schliessen von tags ( HTML )< / li >
< li class = "fragment " > zb. automatisches Einrücken ( Python )< / li >
< li class = "fragment " > Minor-Modes: < / li >
< li class = "fragment " > zb. Markierung von Schreibfehlern< / li >
< / ul >
< / section >
< section >
< h4 > emacs Kürzel< / h4 >
< pre > C-f ein Zeichen vorwärts (auch »Pfeil rechts«-Taste)
C-b ein Zeichen zurück (auch »Pfeil links«-Taste)
M-f ein Wort vorwärts
M-b ein Wort zurück
C-n eine Zeile vorwärts (auch »Pfeil hinunter«-Taste)
C-p eine Zeile zurück (auch »Pfeil hinauf«-Taste)
C-a zum Zeilenanfang
C-e zum Zeilenende
M-a zum Satzanfang
M-e zum Satzende
C-x C-c emacs beenden
< / pre >
< aside class = "notes" >
jetzt emacs tutorial starten:: C-h t
< / aside >
< / section >
2019-01-04 10:41:14 +01:00
< / div >
2019-01-13 18:49:01 +01:00
2019-01-04 10:41:14 +01:00
< / div >
< script src = "lib/js/head.min.js" > < / script >
< script src = "js/reveal.js" > < / script >
< script >
// More info https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
transition: 'slide', // none/fade/slide/convex/concave/zoom
// More info https://github.com/hakimel/reveal.js#dependencies
dependencies: [
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/search/search.js', async: true },
{ src: 'plugin/zoom-js/zoom.js', async: true },
{ src: 'plugin/notes/notes.js', async: true }
]
});
< / script >
< / body >
< / html >