Skip to content

Instantly share code, notes, and snippets.

@miry
Last active November 13, 2020 11:51
Show Gist options
  • Save miry/493a0e64bcbb75390064eedf0ba80757 to your computer and use it in GitHub Desktop.
Save miry/493a0e64bcbb75390064eedf0ba80757 to your computer and use it in GitHub Desktop.
Spacemacs layer OSX fast open file by name to add CMD+P to find a file by name

OSX fast open file by name

img/osx-fast-open-file.png

Table of Contents

Description

This layer does wonderful things:

  • Add global binding to find project file by name

Install

Create a local private folder with path `.emacs.d/private/osx-fast-open-file` and checkout all files to it.

To use this configuration layer, add it to your ~/.spacemacs. You will need to add osx-fast-open-file to the existing dotspacemacs-configuration-layers list in this file.

Key bindings

Key BindingDescription
⌘ pOpen dialog to find file by name
(global-set-key (kbd "s-p") 'project-find-file)
;;; packages.el --- osx-fast-open-file layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2017 Sylvain Benner & Contributors
;;
;; Author: Michael Nikitochkin <miry@shoper>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
;;; Commentary:
;; See the Spacemacs documentation and FAQs for instructions on how to implement
;; a new layer:
;;
;; SPC h SPC layers RET
;;
;;
;; Briefly, each package to be installed or configured by this layer should be
;; added to `osx-fast-open-file-packages'. Then, for each package PACKAGE:
;;
;; - If PACKAGE is not referenced by any other Spacemacs layer, define a
;; function `osx-fast-open-file/init-PACKAGE' to load and initialize the package.
;; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
;; define the functions `osx-fast-open-file/pre-init-PACKAGE' and/or
;; `osx-fast-open-file/post-init-PACKAGE' to customize the package as it is loaded.
;;; Code:
(defconst osx-fast-open-file-packages
'()
"The list of Lisp packages required by the osx-fast-open-file layer.
Each entry is either:
1. A symbol, which is interpreted as a package to be installed, or
2. A list of the form (PACKAGE KEYS...), where PACKAGE is the
name of the package to be installed or loaded, and KEYS are
any number of keyword-value-pairs.
The following keys are accepted:
- :excluded (t or nil): Prevent the package from being loaded
if value is non-nil
- :location: Specify a custom installation location.
The following values are legal:
- The symbol `elpa' (default) means PACKAGE will be
installed using the Emacs package manager.
- The symbol `local' directs Spacemacs to load the file at
`./local/PACKAGE/PACKAGE.el'
- A list beginning with the symbol `recipe' is a melpa
recipe. See: https://github.com/milkypostman/melpa#recipe-format")
;;; packages.el ends here
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment