Emacs Lisp Other
Latest commit 8f1e334 May 21, 2017 @vermiculus vermiculus Merge pull request #330 from ylluminarious/patch-1
Updated markdown-code-at-point-p to markdown-inline-code-at-point-p
Failed to load latest commit information.
bot Improve bot Jul 14, 2015
resources Add new icon Feb 8, 2015
test Improve question printing logic. Apr 7, 2015
.agignore Start tracking tag-bot data Jan 4, 2015
.gitignore Update .gitignore Jan 4, 2015
.travis.yml Hotfix Travis/Gitter integration Jan 7, 2015
CONTRIBUTING.org Include bug report instructions in CONTRIBUTING Feb 11, 2015
Cask Use package-file directive in Cask Dec 12, 2014
Makefile Merge pull request #198 from vermiculus/organize Jan 4, 2015
README.org Update README Jan 27, 2016
list-and-question.png Add screenshot Dec 21, 2014
sx-auth.el Fix authentication flow for some browsers Jul 18, 2015
sx-babel.el Merge branch 'master' into improve-comments Jan 8, 2015
sx-button.el Silence byte-compiler Nov 4, 2015
sx-cache.el Fix docstring of sx-cache-invalidate-all May 11, 2015
sx-compose.el Don't erase question headers when sending. Fix #271 Mar 8, 2015
sx-encoding.el Actually translate nbsp to a non-breaking space Apr 22, 2015
sx-favorites.el Don't use sx-favorites--initialize Jan 8, 2015
sx-filter.el Avoid creating a directory when compiling Nov 1, 2015
sx-inbox.el Add require Apr 30, 2015
sx-interaction.el Autoload sx-open-link Dec 22, 2016
sx-load.el Standardize local variables Jan 4, 2015
sx-method.el Add CALLBACK to sx-method-call Apr 18, 2015
sx-networks.el Define sx-network-user and sx-network--user-information-alist Apr 19, 2015
sx-notify.el Set json-array-type to 'list and perform many simplifications Mar 3, 2015
sx-question-list.el Fix bug when tabulated-list-use-header-line is nil May 11, 2015
sx-question-mode.el [Fix #312] Disable undo in `sx-question-mode' Jan 25, 2016
sx-question-print.el Updated markdown-code-at-point-p to markdown-inline-code-at-point-p May 22, 2017
sx-question.el Move sx-sorted-insert-skip-first Apr 20, 2015
sx-request.el Some fixes for the bot and the backoff. Jul 2, 2015
sx-search.el Fix #296 Make searching a bit fuzzier. Jul 2, 2015
sx-site.el Hotfix Add site_url to sx-site-browse-filter. Fix #220 Jan 8, 2015
sx-switchto.el Require switchto.el where appropriate. Fix #280 Apr 20, 2015
sx-tab.el Simplify autoloads to just point to "sx-tab" Jul 18, 2015
sx-tag.el Define sx-tag--format-tags to format multiple tags. Feb 14, 2015
sx-time.el Use defconst instead of defvar where appropriate. Jan 4, 2015
sx-user.el Actually use sx-user-name face. Fix #285 Apr 21, 2015
sx.el Version 0.3 Apr 26, 2015
sx.org Version 0.3 Apr 26, 2015


SX – Stack Exchange for Emacs

https://travis-ci.org/vermiculus/sx.el.svg?branch=master http://melpa.org/packages/sx-badge.svg http://stable.melpa.org/packages/sx-badge.svg https://badges.gitter.im/Join Chat.svg https://badge.waffle.io/vermiculus/sx.el.svg

SX is a full-featured Stack Exchange mode for GNU Emacs 24+. Using the official API, it provides a versatile experience for the Stack Exchange network within Emacs itself.



As always, C-h m is the definitive resource for functionality, but here are a few highlights:

Viewing Questions

Question Lists

View questions with one of the sx-tab- commands. These translate roughly to the different ‘tabs’ that you can view on the official site. Implemented tabs include:

All questions.
u Unanswered questions.
U Unanswered questions in your followed tags.
f Featured questions.
* Your starred questions.
h The frontpage of the site.
m Toggle between the meta and main sites.
n Newest questions first.
v Highest-scoring questions first.
w Hot questions of the week.

Inside SX buffers, you can switch to other tabs by typing s followed by the key listed with the tab above. You can also use sx-tab-switch (s t) to switch between tabs with completion. Each of these opens up a list of questions, and you can further customize the ordering of the list with O. Other keys include:

n and p
Navigate the list.
j and k
Navigate while viewing the question in a separate buffer.
s s
Switch site.
Visit the thing-at-point in your browser.
Copy the thing-at-point (usually a link).
u and d
Upvote and downvote.
Open the question buffer.

Questions and Answers

u and d
Upvote and downvote the question, answer, or comment at point.
Add an answer.
Edit the question or answer (or comment if it’s yours; the usual rules apply)
Star the question.
Delete the question/answer/comment if you are able.
Copy code at point.

Your Inbox

View your inbox
Visit inbox item


SX is now available on MELPA! Both the stable release and the development version can be found there. Install it via the Package Menu or just run

M-x package-install RET sx RET=


If you are going to be doing any asking/answering/commenting/upvoting/downvoting/ etc., you must use sx-authenticate to provide SX with an authentication token to act on your behalf.

After authentication, you will be redirected to the project page. This page will prominently display your authentication token. Keep this secret! It’s as good as your password as far as StackExchange is concerned. Copy and paste the token into the prompt in Emacs.

SX will store this authentication token in plain text in the sx folder of your .emacs.d. Please take any and all steps necessary to protect the security of your account. This token is as good as a password.

Sample Keybindings

With use-package

(require 'use-package)

(use-package sx
  (bind-keys :prefix "C-c s"
             :prefix-map my-sx-map
             :prefix-docstring "Global keymap for SX."
             ("q" . sx-tab-all-questions)
             ("i" . sx-inbox)
             ("o" . sx-open-link)
             ("u" . sx-tab-unanswered-my-tags)
             ("a" . sx-ask)
             ("s" . sx-search)))

Standard (With Prefix Key)

Shamelessly stolen from Endless Parentheses.

(define-prefix-command 'launcher-map)
(global-set-key (kbd "s-l") 'launcher-map)
(define-key launcher-map "qq" #'sx-tab-all-questions)
(define-key launcher-map "qi" #'sx-inbox)
(define-key launcher-map "qo" #'sx-open-link)
(define-key launcher-map "qu" #'sx-tab-unanswered-my-tags)
(define-key launcher-map "qa" #'sx-ask)
(define-key launcher-map "qs" #'sx-search)


Please help contribute! Doing any of the following will help us immensely:

For a better view of all of the open issues, take a look at our lovely Waffle board. Feel free to take the torch on anything in backlog or ready. If you have thoughts on any other issues, don’t hesitate to chime in!

See also CONTRIBUTING.org.



SX has no explicit need for an icon, although standard SVG files have been gathered in resources/ if anyone would fancy a crack at it.