SlideShare a Scribd company logo
1 of 21
Download to read offline
Spacemacs: emacs user’s first impression
Kazuki Yoshida
March 20, 2017
1 / 21
Who am I?
Doctoral student at Harvard T.H. Chan School of Public
Health (Epidemiology & Biostatistics).
Main use of emacs in R programming and LATEX(5 years?).
Recently started using org-mode.
2 / 21
What is spacemacs?
A community-driven Emacs distribution: "The best editor
is neither Emacs nor Vim, it’s Emacs and Vim!"
i.e., spacemacs is a bunch of emacs configuration files
contributed by the community that transforms the vanilla
emacs to a "ready-to-use" system.
spacemacs is NOT a fork of emacs, it runs on the latest
GNU Emacs.
3 / 21
How to install spacemacs
Nice looking website at http://spacemacs.org/
Github repo at
https://github.com/syl20bnr/spacemacs
Quick start at
http://spacemacs.org/doc/QUICK_START.html
4 / 21
Installation: Wait, replacing .emacs.d!?
## Default installation method
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
The default installation methods assumes that you use
spacemacs as a drop-in replacement.
This is unlikely to be what existing emacs users want.
Recommendation is to back up the existing .emacs.d
and move it out of the way. It’s not ideal.
5 / 21
Run parallel instances of spacemacs and emacs
Clone the develop branch to ~/.spacemacs.d.
git clone https://github.com/syl20bnr/spacemacs -b develop ~/.spacemacs.d
Create an empty ~/.spacemacs file. This will be the
user-specific configuration file. This seems to avoid
messing with the git repo.
touch ~/.spacemacs
These files are ignored by the regular emacs without an
additional trick.
6 / 21
~/.emacs trick
In the emacs startup process, ~/.emacs has the highest
priority. (51.4.4 How Emacs Finds Your Init File)
We can conditionally load ~/*/init.el using ~/.emacs.
I used the name of the executable to use different folder.
My .emacs (link; or find kaz-yos on Gist)
Inspired by Running spacemacs alongside regular emacs
on emacs stack exchange.
7 / 21
First start up
Open Spacemacs.app if you are doing my trick.
You may experience this certificate issue. Just press A as
many times as it asks.
8 / 21
Default packages
A lot of default packages are installed automatically.
9 / 21
Fresh spacemacs
Fresh spacemacs looks pretty good already
10 / 21
SPC key rules!
As the name suggests, SPC serves as a prefix.
11 / 21
Some key bindings
SPC prefix to grouped commands. guide-key.el will
guide you.
SPC SPC corresponds to M-x, but with the helm.el
backend.
SPC h help related prefix.
SPC h l help for layers available.
SPC h T Evil tutor
SPC f file related prefix.
SPC f f for helm-find-files.
SPC f e d for editing the ~/.spacemacs configuration
file.
SPC b buffer related prefix.
SPC b b helm-mini for choosing a buffer.
SPC b d kill-this-buffer
SPC a application related prefix.
SPC a d dired (C-RET to decide)
12 / 21
What is a layer?
A layer can be considered as a meta-package that
organizes multiple individual packages nicely.
SPC h l will list 150 available layers that are available
currently.
http://spacemacs.org/layers/LAYERS.html
13 / 21
How a layer is implemented
"A configuration layer is a directory containing at least a
packages.el file which defines and configures packages to
be downloaded from Emacs package repositories using the
package.el built-in feature of Emacs."
14 / 21
Configuring spacemacs
~/.spacemacs is for individual configuration.
SPC SPC dotspacemacs/install overwrites
~/.spacemacs with the template.
SPC f e d (file/emacs/dotfile) opens this file for editing.
15 / 21
Layer configuration
Put names of layers you want in the
dotspacemacs-configuration-layers list.
SPC SPC
dotspacemacs/sync-configuration-layers to
activate the layer.
16 / 21
Layer example: git
If the git layer is added and the config file is sync’ed, SPC
g prefix is added.
17 / 21
Changing defaults
Default settings are in the dotspacemacs/init part of
~/.spacemacs.
The most important decision here is
dotspacemacs-editing-style.
18 / 21
User configuration beyond layers
User configuration should be in these parts of
~/.spacemacs.
dotspacemacs/user-init loads before layers.
dotspacemacs/user-config loads after layers.
19 / 21
Migrating existing configuration
A proper way to incorporate your pre-existing emacs
configuration is to create a custom layer. But starting
from scratch may be a better way considering the way
spacemacs differs.
https://www.reddit.com/r/emacs/comments/
4niswu/migrating_from_emacs_to_spacemacs/
20 / 21
Summary
Spacemacs is a distribution of emacs with nice defaults
and sophisticated layer-based configuration.
If someone is coming to emacs for the first time or
existing Evil mode user, spacemacs is highly
recommended.
For someone with highly customized emacs configuration,
the transition appears daunting.
I haven’t made the switch (yet?).
21 / 21

More Related Content

Similar to Spacemacs: emacs user's first impression

Similar to Spacemacs: emacs user's first impression (20)

Mc sl54 051_ (1)
Mc sl54 051_ (1)Mc sl54 051_ (1)
Mc sl54 051_ (1)
 
Basic Make
Basic MakeBasic Make
Basic Make
 
Makefiles Bioinfo
Makefiles BioinfoMakefiles Bioinfo
Makefiles Bioinfo
 
Java packages
Java packagesJava packages
Java packages
 
1 CMPS 12M Data Structures Lab Lab Assignment 1 .docx
1 CMPS 12M Data Structures Lab Lab Assignment 1 .docx1 CMPS 12M Data Structures Lab Lab Assignment 1 .docx
1 CMPS 12M Data Structures Lab Lab Assignment 1 .docx
 
Write effectlively in late x
Write effectlively in late xWrite effectlively in late x
Write effectlively in late x
 
Dspace for dummies
Dspace for dummiesDspace for dummies
Dspace for dummies
 
help with Linux/Unix starting
help with Linux/Unix startinghelp with Linux/Unix starting
help with Linux/Unix starting
 
01 web-apps
01 web-apps01 web-apps
01 web-apps
 
01 web-apps
01 web-apps01 web-apps
01 web-apps
 
Tutorial_Tricentis_Tosca_Testsuite.pdf
Tutorial_Tricentis_Tosca_Testsuite.pdfTutorial_Tricentis_Tosca_Testsuite.pdf
Tutorial_Tricentis_Tosca_Testsuite.pdf
 
Class notes(week 7) on packages
Class notes(week 7) on packagesClass notes(week 7) on packages
Class notes(week 7) on packages
 
example.pdf
example.pdfexample.pdf
example.pdf
 
Example
ExampleExample
Example
 
Example
ExampleExample
Example
 
example.pdf
example.pdfexample.pdf
example.pdf
 
example.pdf
example.pdfexample.pdf
example.pdf
 
example.pdf
example.pdfexample.pdf
example.pdf
 
example.pdf
example.pdfexample.pdf
example.pdf
 
Title
TitleTitle
Title
 

More from Kazuki Yoshida

Graphical explanation of causal mediation analysis
Graphical explanation of causal mediation analysisGraphical explanation of causal mediation analysis
Graphical explanation of causal mediation analysisKazuki Yoshida
 
Pharmacoepidemiology Lecture: Designing Observational CER to Emulate an RCT
Pharmacoepidemiology Lecture: Designing Observational CER to Emulate an RCTPharmacoepidemiology Lecture: Designing Observational CER to Emulate an RCT
Pharmacoepidemiology Lecture: Designing Observational CER to Emulate an RCTKazuki Yoshida
 
What is the Expectation Maximization (EM) Algorithm?
What is the Expectation Maximization (EM) Algorithm?What is the Expectation Maximization (EM) Algorithm?
What is the Expectation Maximization (EM) Algorithm?Kazuki Yoshida
 
Propensity Score Methods for Comparative Effectiveness Research with Multiple...
Propensity Score Methods for Comparative Effectiveness Research with Multiple...Propensity Score Methods for Comparative Effectiveness Research with Multiple...
Propensity Score Methods for Comparative Effectiveness Research with Multiple...Kazuki Yoshida
 
Visual Explanation of Ridge Regression and LASSO
Visual Explanation of Ridge Regression and LASSOVisual Explanation of Ridge Regression and LASSO
Visual Explanation of Ridge Regression and LASSOKazuki Yoshida
 
ENAR 2018 Matching Weights to Simultaneously Compare Three Treatment Groups: ...
ENAR 2018 Matching Weights to Simultaneously Compare Three Treatment Groups: ...ENAR 2018 Matching Weights to Simultaneously Compare Three Treatment Groups: ...
ENAR 2018 Matching Weights to Simultaneously Compare Three Treatment Groups: ...Kazuki Yoshida
 
Search and Replacement Techniques in Emacs: avy, swiper, multiple-cursor, ag,...
Search and Replacement Techniques in Emacs: avy, swiper, multiple-cursor, ag,...Search and Replacement Techniques in Emacs: avy, swiper, multiple-cursor, ag,...
Search and Replacement Techniques in Emacs: avy, swiper, multiple-cursor, ag,...Kazuki Yoshida
 
Comparison of Privacy-Protecting Analytic and Data-sharing Methods: a Simulat...
Comparison of Privacy-Protecting Analytic and Data-sharing Methods: a Simulat...Comparison of Privacy-Protecting Analytic and Data-sharing Methods: a Simulat...
Comparison of Privacy-Protecting Analytic and Data-sharing Methods: a Simulat...Kazuki Yoshida
 
Matching Weights to Simultaneously Compare Three Treatment Groups: a Simulati...
Matching Weights to Simultaneously Compare Three Treatment Groups: a Simulati...Matching Weights to Simultaneously Compare Three Treatment Groups: a Simulati...
Matching Weights to Simultaneously Compare Three Treatment Groups: a Simulati...Kazuki Yoshida
 
Multiple Imputation: Joint and Conditional Modeling of Missing Data
Multiple Imputation: Joint and Conditional Modeling of Missing DataMultiple Imputation: Joint and Conditional Modeling of Missing Data
Multiple Imputation: Joint and Conditional Modeling of Missing DataKazuki Yoshida
 
20130222 Data structures and manipulation in R
20130222 Data structures and manipulation in R20130222 Data structures and manipulation in R
20130222 Data structures and manipulation in RKazuki Yoshida
 
20130215 Reading data into R
20130215 Reading data into R20130215 Reading data into R
20130215 Reading data into RKazuki Yoshida
 
Linear regression with R 2
Linear regression with R 2Linear regression with R 2
Linear regression with R 2Kazuki Yoshida
 
Linear regression with R 1
Linear regression with R 1Linear regression with R 1
Linear regression with R 1Kazuki Yoshida
 
(Very) Basic graphing with R
(Very) Basic graphing with R(Very) Basic graphing with R
(Very) Basic graphing with RKazuki Yoshida
 
Introduction to Deducer
Introduction to DeducerIntroduction to Deducer
Introduction to DeducerKazuki Yoshida
 
Groupwise comparison of continuous data
Groupwise comparison of continuous dataGroupwise comparison of continuous data
Groupwise comparison of continuous dataKazuki Yoshida
 
Categorical data with R
Categorical data with RCategorical data with R
Categorical data with RKazuki Yoshida
 
Install and Configure R and RStudio
Install and Configure R and RStudioInstall and Configure R and RStudio
Install and Configure R and RStudioKazuki Yoshida
 

More from Kazuki Yoshida (20)

Graphical explanation of causal mediation analysis
Graphical explanation of causal mediation analysisGraphical explanation of causal mediation analysis
Graphical explanation of causal mediation analysis
 
Pharmacoepidemiology Lecture: Designing Observational CER to Emulate an RCT
Pharmacoepidemiology Lecture: Designing Observational CER to Emulate an RCTPharmacoepidemiology Lecture: Designing Observational CER to Emulate an RCT
Pharmacoepidemiology Lecture: Designing Observational CER to Emulate an RCT
 
What is the Expectation Maximization (EM) Algorithm?
What is the Expectation Maximization (EM) Algorithm?What is the Expectation Maximization (EM) Algorithm?
What is the Expectation Maximization (EM) Algorithm?
 
Propensity Score Methods for Comparative Effectiveness Research with Multiple...
Propensity Score Methods for Comparative Effectiveness Research with Multiple...Propensity Score Methods for Comparative Effectiveness Research with Multiple...
Propensity Score Methods for Comparative Effectiveness Research with Multiple...
 
Emacs Key Bindings
Emacs Key BindingsEmacs Key Bindings
Emacs Key Bindings
 
Visual Explanation of Ridge Regression and LASSO
Visual Explanation of Ridge Regression and LASSOVisual Explanation of Ridge Regression and LASSO
Visual Explanation of Ridge Regression and LASSO
 
ENAR 2018 Matching Weights to Simultaneously Compare Three Treatment Groups: ...
ENAR 2018 Matching Weights to Simultaneously Compare Three Treatment Groups: ...ENAR 2018 Matching Weights to Simultaneously Compare Three Treatment Groups: ...
ENAR 2018 Matching Weights to Simultaneously Compare Three Treatment Groups: ...
 
Search and Replacement Techniques in Emacs: avy, swiper, multiple-cursor, ag,...
Search and Replacement Techniques in Emacs: avy, swiper, multiple-cursor, ag,...Search and Replacement Techniques in Emacs: avy, swiper, multiple-cursor, ag,...
Search and Replacement Techniques in Emacs: avy, swiper, multiple-cursor, ag,...
 
Comparison of Privacy-Protecting Analytic and Data-sharing Methods: a Simulat...
Comparison of Privacy-Protecting Analytic and Data-sharing Methods: a Simulat...Comparison of Privacy-Protecting Analytic and Data-sharing Methods: a Simulat...
Comparison of Privacy-Protecting Analytic and Data-sharing Methods: a Simulat...
 
Matching Weights to Simultaneously Compare Three Treatment Groups: a Simulati...
Matching Weights to Simultaneously Compare Three Treatment Groups: a Simulati...Matching Weights to Simultaneously Compare Three Treatment Groups: a Simulati...
Matching Weights to Simultaneously Compare Three Treatment Groups: a Simulati...
 
Multiple Imputation: Joint and Conditional Modeling of Missing Data
Multiple Imputation: Joint and Conditional Modeling of Missing DataMultiple Imputation: Joint and Conditional Modeling of Missing Data
Multiple Imputation: Joint and Conditional Modeling of Missing Data
 
20130222 Data structures and manipulation in R
20130222 Data structures and manipulation in R20130222 Data structures and manipulation in R
20130222 Data structures and manipulation in R
 
20130215 Reading data into R
20130215 Reading data into R20130215 Reading data into R
20130215 Reading data into R
 
Linear regression with R 2
Linear regression with R 2Linear regression with R 2
Linear regression with R 2
 
Linear regression with R 1
Linear regression with R 1Linear regression with R 1
Linear regression with R 1
 
(Very) Basic graphing with R
(Very) Basic graphing with R(Very) Basic graphing with R
(Very) Basic graphing with R
 
Introduction to Deducer
Introduction to DeducerIntroduction to Deducer
Introduction to Deducer
 
Groupwise comparison of continuous data
Groupwise comparison of continuous dataGroupwise comparison of continuous data
Groupwise comparison of continuous data
 
Categorical data with R
Categorical data with RCategorical data with R
Categorical data with R
 
Install and Configure R and RStudio
Install and Configure R and RStudioInstall and Configure R and RStudio
Install and Configure R and RStudio
 

Recently uploaded

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 

Recently uploaded (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 

Spacemacs: emacs user's first impression

  • 1. Spacemacs: emacs user’s first impression Kazuki Yoshida March 20, 2017 1 / 21
  • 2. Who am I? Doctoral student at Harvard T.H. Chan School of Public Health (Epidemiology & Biostatistics). Main use of emacs in R programming and LATEX(5 years?). Recently started using org-mode. 2 / 21
  • 3. What is spacemacs? A community-driven Emacs distribution: "The best editor is neither Emacs nor Vim, it’s Emacs and Vim!" i.e., spacemacs is a bunch of emacs configuration files contributed by the community that transforms the vanilla emacs to a "ready-to-use" system. spacemacs is NOT a fork of emacs, it runs on the latest GNU Emacs. 3 / 21
  • 4. How to install spacemacs Nice looking website at http://spacemacs.org/ Github repo at https://github.com/syl20bnr/spacemacs Quick start at http://spacemacs.org/doc/QUICK_START.html 4 / 21
  • 5. Installation: Wait, replacing .emacs.d!? ## Default installation method git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d The default installation methods assumes that you use spacemacs as a drop-in replacement. This is unlikely to be what existing emacs users want. Recommendation is to back up the existing .emacs.d and move it out of the way. It’s not ideal. 5 / 21
  • 6. Run parallel instances of spacemacs and emacs Clone the develop branch to ~/.spacemacs.d. git clone https://github.com/syl20bnr/spacemacs -b develop ~/.spacemacs.d Create an empty ~/.spacemacs file. This will be the user-specific configuration file. This seems to avoid messing with the git repo. touch ~/.spacemacs These files are ignored by the regular emacs without an additional trick. 6 / 21
  • 7. ~/.emacs trick In the emacs startup process, ~/.emacs has the highest priority. (51.4.4 How Emacs Finds Your Init File) We can conditionally load ~/*/init.el using ~/.emacs. I used the name of the executable to use different folder. My .emacs (link; or find kaz-yos on Gist) Inspired by Running spacemacs alongside regular emacs on emacs stack exchange. 7 / 21
  • 8. First start up Open Spacemacs.app if you are doing my trick. You may experience this certificate issue. Just press A as many times as it asks. 8 / 21
  • 9. Default packages A lot of default packages are installed automatically. 9 / 21
  • 10. Fresh spacemacs Fresh spacemacs looks pretty good already 10 / 21
  • 11. SPC key rules! As the name suggests, SPC serves as a prefix. 11 / 21
  • 12. Some key bindings SPC prefix to grouped commands. guide-key.el will guide you. SPC SPC corresponds to M-x, but with the helm.el backend. SPC h help related prefix. SPC h l help for layers available. SPC h T Evil tutor SPC f file related prefix. SPC f f for helm-find-files. SPC f e d for editing the ~/.spacemacs configuration file. SPC b buffer related prefix. SPC b b helm-mini for choosing a buffer. SPC b d kill-this-buffer SPC a application related prefix. SPC a d dired (C-RET to decide) 12 / 21
  • 13. What is a layer? A layer can be considered as a meta-package that organizes multiple individual packages nicely. SPC h l will list 150 available layers that are available currently. http://spacemacs.org/layers/LAYERS.html 13 / 21
  • 14. How a layer is implemented "A configuration layer is a directory containing at least a packages.el file which defines and configures packages to be downloaded from Emacs package repositories using the package.el built-in feature of Emacs." 14 / 21
  • 15. Configuring spacemacs ~/.spacemacs is for individual configuration. SPC SPC dotspacemacs/install overwrites ~/.spacemacs with the template. SPC f e d (file/emacs/dotfile) opens this file for editing. 15 / 21
  • 16. Layer configuration Put names of layers you want in the dotspacemacs-configuration-layers list. SPC SPC dotspacemacs/sync-configuration-layers to activate the layer. 16 / 21
  • 17. Layer example: git If the git layer is added and the config file is sync’ed, SPC g prefix is added. 17 / 21
  • 18. Changing defaults Default settings are in the dotspacemacs/init part of ~/.spacemacs. The most important decision here is dotspacemacs-editing-style. 18 / 21
  • 19. User configuration beyond layers User configuration should be in these parts of ~/.spacemacs. dotspacemacs/user-init loads before layers. dotspacemacs/user-config loads after layers. 19 / 21
  • 20. Migrating existing configuration A proper way to incorporate your pre-existing emacs configuration is to create a custom layer. But starting from scratch may be a better way considering the way spacemacs differs. https://www.reddit.com/r/emacs/comments/ 4niswu/migrating_from_emacs_to_spacemacs/ 20 / 21
  • 21. Summary Spacemacs is a distribution of emacs with nice defaults and sophisticated layer-based configuration. If someone is coming to emacs for the first time or existing Evil mode user, spacemacs is highly recommended. For someone with highly customized emacs configuration, the transition appears daunting. I haven’t made the switch (yet?). 21 / 21