gnu emacs for all - psachin.gitlab.io · erc config: channels 1: (quote 2: (("oftc"...

34
GNU EMACS FOR ALL GNU EMACS FOR ALL SACHIN (@PSACHIN) SACHIN (@PSACHIN) FREENODE #LIVE 2018 FREENODE #LIVE 2018

Upload: others

Post on 22-Jul-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

GNU EMACS FOR ALLGNU EMACS FOR ALLSACHIN (@PSACHIN)SACHIN (@PSACHIN)

FREENODE #LIVE 2018FREENODE #LIVE 2018

Page 2: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

IRCIRC

Page 3: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ERC CONFIG: USER CONFIGURATIONERC CONFIG: USER CONFIGURATION1: (setq erc-user-full-name user-full-name2: erc-nick user-login-name3: erc-away-nickname (concat erc-nick "|away")4: erc-keywords (quote("training" "session" "swift" "emacs"))5: erc-current-nick-highlight-type 'all6: erc-notify-list erc-pals7: erc-autojoin-enable t8: erc-autojoin-channels-alist

Page 4: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ERC CONFIG: CHANNELSERC CONFIG: CHANNELS1: (quote2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy")3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal" "#live")4: ("GIMPNet" "#outreachy")))

Page 5: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ERC CONFIG: MODULESERC CONFIG: MODULES1: erc-modules2: (quote3: (autojoin smiley notify))

Page 6: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ERC CONFIG: LOGGINGERC CONFIG: LOGGING 1: ;; Logging 2: erc-enable-logging t 3: erc-log-mode t 4: erc-log-channels-directory "~/.erc/logs/" 5: ;; Timestamp position 6: erc-insert-timestamp-function 'erc-insert-timestamp-left 7: ;; Show channel name in the notification. 8: ;; Please apply: https://gist.github.com/psachin/f07c0741d0de4f2cf\ 9: ;; 914eebbd45bddfc10: erc-notifications-show-channel t11: ;; Turn off linum for ERC buffer12: (add-hook 'erc-mode-hook 'psachin/turn-off-linum)

Page 7: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ERC CONFIG: START SERVERERC CONFIG: START SERVER1: (defun erc-start()2: "Start ERC."3: (interactive)4: (erc :server "irc.freenode.net")5: (erc :server "irc.oftc.net"))

Page 8: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

DOCUMENTSDOCUMENTSLaTeX documentImageTableSource codeFlow diagram(ditaa)

Page 9: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

TRELLOTRELLO

Page 10: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ORG-TRELLOORG-TRELLO

Page 11: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

SETUP KEY AND TOKENSETUP KEY AND TOKEN1: ;; ~/.emacs.d/.trello/username.el2: (setq org-trello-consumer-key "abc..."3: org-trello-access-token "def...")

http://org-trello.github.io/trello-setup.html

Page 12: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

CONNECT TO THE BOARDCONNECT TO THE BOARD1: (use-package org-trello2: :ensure t3: :config4: (custom-set-variables '(org-trello-files5: '("~/trello/myboard.org"))))

Page 13: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

PRESENTATIONPRESENTATION

Page 14: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

LATEX BEAMERLATEX BEAMERhow-create-latex-documents-emacs

Page 15: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

REVEAL.JSREVEAL.JShttps://github.com/yjwen/org-revealHow to create slides with Emacs Org mode and Reveal.js

Page 16: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ORG-TREE-SLIDEORG-TREE-SLIDEhttps://github.com/takaxp/org-tree-slide

Page 17: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

VERSION CONTROLVERSION CONTROL

Page 18: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

MAGITMAGIThttps://magit.vc/

Page 19: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

GIT-TIMEMACHINEGIT-TIMEMACHINEhttps://gitlab.com/pidu/git-timemachine

Page 20: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

AGENDAAGENDA

Page 21: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ORG-AGENDAORG-AGENDA 1: (setq org-agenda-files '("~/agenda/work/work.org" 2: "~/agenda/todo/read.org" 3: "~/agenda/todo/todo.org")) 4: 5: (setq org-capture-templates 6: '(("t" "Todo" entry 7: (file+headline "~/agenda/todo/todo.org" "Tasks") 8: "* TODO %i%?\n %U\n %a") 9: ("n" "Notes" entry10: (file+headline "~/agenda/notes.org" "Notes")11: "* %A%?\n %U")12: ("i" "Insights" entry13: (file+headline "~/agenda/work/work.org" "Insights")14: "* %u%?")))

Page 22: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ORGMODE FOR GTDORGMODE FOR GTDhttps://emacs.cafe/emacs/orgmode/gtd/2017/06/30

/orgmode-gtd.html

Page 23: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

SYSTEMSYSTEM

Page 24: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

TERMINALTERMINAL

Page 25: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

MAN PAGESMAN PAGES

Page 26: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

FILE BROWSERFILE BROWSER

Page 27: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

GREPGREP

Page 28: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

BLOGGINGBLOGGING

Page 29: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ORG-JEKYLLORG-JEKYLL

Page 30: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

ORG-PUBLISHORG-PUBLISH1: (require 'ox-publish)2: (setq org-publish-project-alist3: '(4: 5: ;; ... add all the components here (see below)...6: 7: ))

org-publish-html-tutorialhttps://gitlab.com/psachin/psachin.gitlab.io

Page 31: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

GAMESGAMES

Page 32: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

PROGRAMMING?PROGRAMMING?Support to all major programming languages

Syntax coloring etc.

Page 33: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

QUESTIONSQUESTIONS

Page 34: GNU EMACS FOR ALL - psachin.gitlab.io · ERC CONFIG: CHANNELS 1: (quote 2: (("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy") 3: ("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal"

THANK YOUTHANK YOUhttps://psachin.gitlab.io

[email protected]

Made with Love, & GNU Emacs orgmode