Hot answers tagged

125

Emacs for Mac OS X Emacs for Mac OS X provides OS X binaries of GNU Emacs proper. It's roughly the same you'd get by compiling a GNU Emacs release tarball with ./configure --with-ns. The site provides builds of stable releases and pretests, as well as nightly snapshots. All of these builds are self-contained, which lets you safely try pretests and ...


28

Copy from Emacs to OS X clipboard: select region then M-| pbcopy RET Paste from OS X clipboard to Emacs: C-u M-| pbpaste RET (replaces current region if it exists) Explanation: M-| runs shell-command-on-region, which as the name implies pipes the current region to a shell command. C-u M-| does the same thing, but replaces the current region with the ...


23

System Preferences > Keyboard > Shortcuts > Input Sources > Select the previous input source and uncheck saltycraig's tip on C-h k C-SPC did nothing when I typed it. So, thanks to Kaushal Modi for pointing towards the OS level. Saved many hours of messing around with all my packages. For completeness I run it as a GUI app (so will need to go and ...


22

A few factual corrections about Aquamacs. While it maintains its own source tree, it is very regularly merged with Emacs, and pretty much immediately so with every Emacs release. Aquamacs 3.1 came out the day Emacs 24.4 was released (and it incorporated all of Emacs 24.4 features and a subset of its bugs). Aquamacs has >10k regular users, is actively ...


21

There are (at least) two ways. First, typing C-u C-c C-o on a link should force it to be opened in emacs, rather than in an external app. Second, you can permanently override the default behavior by adding an entry to the variable org-file-apps: (add-to-list 'org-file-apps '(directory . emacs)) which tells org-mode to use dired for all directory links. ...


19

The following just works, copied from here (defun copy-from-osx () (shell-command-to-string "pbpaste")) (defun paste-to-osx (text &optional push) (let ((process-connection-type nil)) (let ((proc (start-process "pbcopy" "*Messages*" "pbcopy"))) (process-send-string proc text) (process-send-eof proc)))) (setq interprogram-cut-...


18

You can modify the link description as follows : [[file+emacs:~/projects][Projects]] It will open the link in Emacs with typing C-c C-o.


18

I'd suggest using pyvenv library, it provides a neat interface to selecting a virtual env among several alternatives updating interpreter and library paths. You will need to alter WORKON_HOME variable (it defaults to $HOME/.virtualenvs used by virtualenvwrapper). (setenv "WORKON_HOME" "/Users/Pablo/anaconda/envs") (pyvenv-mode 1) After that choose the ...


14

I found the answer. In Emacs Mac Port, ⌘h bypasses any Emacs keybindings and instead sends a "pass command to system" message to Mac OSX, which then hides the entire application. This is a vestige of behavior from the old Carbon Emacs. To disable it, use this: (setq mac-pass-command-to-system nil) Source: http://newsgroups.derkeiler.com/Archive/Comp/...


13

You can conffigure elpy-rpc-python-command. If you want Python3 you can set it like this. (setq elpy-rpc-python-command "python3") Update Create python3 virtualenv using virtualenvwrapper from terminal $ mkvirtualenv test -p /usr/bin/python3 and then install required packages $ pip install rope jedi importmagic autopep8 flake8 Now go to emacs, ...


13

Have a look at brew emacs recipe options with brew info emacs. It has this option: --devel Install development version 26.0.90 To replace your current emacs, run: brew unlink emacs brew uninstall emacs brew install emacs --devel --with-modules --with-cocoa --with-gnutls \ --with-librsvg --with-mailutils --with-imagemagick@6 brew linkapps The ...


12

You can also install exec-path-from-shell package and add this to your init file: (exec-path-from-shell-initialize)


11

I have tried all of the above options (even the tap recommended by Reiner in a comment above) by none have worked well for me (trackpad scrolling problems, hangings, etc.). I am quite happy, however, with Yamamoto Mitsuharu's fork, as mantained by railway's github page. It is up-to-date with respect to the official GNU version. Simply download the .dmg image ...


11

This is a setting in Terminal. In Terminal 2.5.1 the option is set differently than in the above comments: In the main Terminal menu, choose "Preferences" to open a dialog. Click the "Profiles" icon in the top of the dialog. In the Profiles section, make sure there is a check in the checkbox called "Use Option as Meta key."


11

There are a number of Emacs versions for macOS, including: The official Emacs on macOS is build using the "NS" port, also known as the "cocoa" port. As the name suggests, this port of Emacs originates in Emacs for the NextSTEP operating system and has been the official Emacs GUI on macOS since Emacs 23. Mitsuharu Yamamoto-san maintains the "Mac port" of ...


10

You can't hide the menu bar on OS X from within Emacs. It's always shown for non-fullscreen applications, that's simply how OS X works. Applications have no influence on that. No menu bar If you'd like to use Emacs without any menu bar, enable fullscreen mode with M-x toggle-frame-fullscreen. Removing individual items If you'd just like to remove ...


10

While org-mode is a very flexible tool, it has some very hardcoded limitations in its core functionality. The one you're encountering is the reliance on a monospaced font (such as Andale Mono, Monaco or Menlo to name a few ones your OS X system should come with) to display tables in an aligned fashion. There are multiple options how you can solve it. If ...


10

For me, as of April 13, 2017, a reliable way to install pdf-tools on OS X (Mavericks/Sierra) is to use the following pdf-tools config and directions (in the comments): ;;; Install epdfinfo via 'brew install pdf-tools' and then install the ;;; pdf-tools elisp via the use-package below. To upgrade the epdfinfo ;;; server, just do 'brew upgrade pdf-tools' ...


10

According to Emacswiki "Homebrew has Emacs 26.1 as of January 2019" and "Homebrew now recommends to use the cask version". The message that Homebrew gives is "Please try the Cask for a better-supported Cocoa version". I tried --with-cocoa myself in February 2019 and is not supported any more. Use this command to install Emacs with Cocoa. brew cask ...


9

In emacs 26 you can set ns-use-proxy-icon (setq ns-use-proxy-icon nil) I was able to get a completely "clean" transparent title bar: Download emacs 26 for mac, add the following config to your .emacs, and restart emacs. (add-to-list 'default-frame-alist '(ns-transparent-titlebar . t)) (add-to-list 'default-frame-alist '(ns-appearance . dark)) ;; ...


8

My way wasn't shown in the other thread: M-! open . RET. open is a general OS X command which will cause the system to open a file or directory in the default application. . is the current directory. I don't do this very often, so I find it faster to type the above incantation than to write a function and map it somewhere. M-x open-in-finder would take ...


8

This is an OSX annoying environment issue, the $PATH appearing in Emacs is coming from /etc/paths file, which then gets appended with whatever I've set in the shell. I added /Users/g/Library/Haskell/bin to the top of the /etc/paths file and it then worked fine. Going into shell and calling echo $PATH in Emacs shows now: /Users/g/Library/Haskell/bin:/usr/...


8

If you use Emacs "the normal way" (i.e. as a GUI application), then it should already do that by default. If you use Emacs inside a terminal emulator, then indeed it doesn't know how to do that by default, but you can install the xclip package from GNU ELPA and then enable the xclip-mode which teaches Emacs how to do that both for GNU/Linux and for OSX.


8

Emacs doesn't allow fonts that have hyphens in them. I would rename the font to something that doesn't contain hyphens. You can do this using ttx. For example, assuming you have a font named Inconsolata-dz for Powerline.otf in your current working directory: # Convert the font to ttx format (an xml-like font format) ttx "Inconsolata-dz for Powerline.otf" #...


8

Add /private/etc/ssl/cert.pem to gnutls-trustfiles: M-x customize-variable Customize variable: gnutls-trustfiles Select the last [INS] Bundle filename: /private/etc/ssl/cert.pem Select [ Apply and Save ]


8

OS-X comes with emacs 22, which is several years out of date. One easy way to get a current emacs is by downloading from http://emacsformacosx.com/. This will give you package.


8

What's going on here is that ⌘-⇥ is a low-level hotkey that can't be intercepted (a good thing, too, since it may be one of your only escape hatches if a full-screen game hangs, along with the force-quit ⌥-⌘-⎋ keystroke which is also immutable and uninterceptible). ⌘-`, on the other hand, is a command that macOS provides ordinary apps by default, but ...


7

Extending Jorgen Schäfer's answer with Matthew Piziak's suggestion produces the following snippet: (with-current-buffer (generate-new-buffer "*empty*") (make-frame '((minibuffer . nil) (unsplittable . t) (buffer-predicate . (lambda (x) nil)) (height . 2) (left-fringe . 0) ...


7

This behaviour is actually a known and documented limitation of this port, see README-mac (emphasis mine): The Mac port doesn't support multi-tty with GUI. The developer has no idea how to detach Emacs as a GUI application from Window Server or Dock without separating a GUI process (not thread) from the main Emacs (Lisp evaluator) process. TTY-...


7

You can easily build from source with Homebrew. Install Homebrew according to its installation instructions and then type $ brew install emacs --build-from-source --cocoa to install the latest stable Emacs release from source. --cocoa enables the GUI version. However, I heard that if you use the version you have built from the source code, it rarely ...


Only top voted, non community-wiki answers of a minimum length are eligible