C-q
toggleholy-mode
- makes it easier to switch between Emacs and Vim modes.C-x g
runmagit-status
To use these shortcuts, press Space
in Vim mode and M-m
(Alt-m) in Emacs mode followed by the key combination:
Description | Keys |
---|---|
Toggle neotree | p t |
Reload .spacemacs file |
f e R |
When running Spacemacs in the terminal inside a tmux/tmate session, the system clipboard is not available as usual. The xclipboard
layer is included for those using the develop
branch of Spacemacs. This way you can select text and copy it to the system's clipboard with x y
and paste it from the system clipboard to Spacemacs with x p
(prefixed by the special command SPC
in Vim mode and alt-m
in Emacs mode).
If you want to have custom configurations, you can create a configuration layer for yourself. See this blog post for more information on how to create a private layer, and this repo as an example layer.
Call magit-status
' by pressing SPC g s
in evil-mode and C-x g
in holy-mode. In case you don't know how to use magit and want to start, this is good documentation. There's also the official Getting started, to understand how common workflows work.
The javascript
layer is enabled by default. But we've disabled its error checking because it conflicts with flycheck (enabled with the syntax-checking
layer). Ideally we should use flycheck for errors and warnings since we can choose which linter to use. Install any of the available linters and verify it's working with flycheck-verify-setup
.
Keybindings:
Ctrl a
is used as the prefix, instead of the default Ctrl b
.
Mouse scrolling is enabled, so you need to use Shift + Click
to select text (for copy/pasting) while using tmux.
Keys | Action |
---|---|
PREFIX - |
split horizontally |
PREFIX | |
split vertically |
PREFIX : |
run tmux command |
PREFIX + |
promote pane to its own window |
PREFIX r |
reload configuration |
Yeah yeah I know, this isn't Spacemacs. However I'm sure there is room in this world for both options ❤️
If you'd like to use neovim then you can do the following to get started.
brew install neovim
On Mac OS X (and also Linux I suspect) you'll want to create a ~/.config/nvim
folder and symlink init.vim
from this repo into it. You can also copy paste custom_color.vim
and custom_plugins.vim
if you want a starter kit.
We're using vim-plug for plugin management. Head to that link and download the plug.vim
file. Put it in a folder called ~/.config/nvim/autoload
.
Now open neovim using the command nvim
in the root folder of your project. You'll see some errors first time as we've not installed anything yet. Once neovim opens type :PlugInstall
and hit return to install the plugins listed in init.vim
(and custom_plugins.vim
if you took that too).
If you want to use the fuzzy finder (<leader>f
) you'll also need to install fzf.
If you want to use the alt file finder (<leader>.
) you'll also need to install alt.
I've split the config out into several files to allow it to be pretty customisable:
init.vim
is the standard shared config and should only contain config that everyone will use.custom_color.vim
is where you can put your desired colorscheme. If it needs a plugin then add that tocustom_plugins.vim
so that it gets added to the right part of the config file.custom_overrides.vim
(not included) is where you can override anything else in the standard file if you so desire. Caution though, the further you get from the standard setup, the harder it will be for others to pair with you.custom_plugins.vim
is for adding any plugins that you'd like to use that are not yet canon in the company.- There's also a sample project specific
.nvimrc
file included in this repo so that you can see how to override things at a project level. Add it to the root of your project, fill out the desired overrides and enjoy. 😎
We have a default .editorconfig file that we can use for default editor options across editor that we use.
See https://editorconfig.org for more details.
To use symlink to the top-level folder that needs to use it (i.e your home directory or the client/project directory.