5 ms·
Just to share a little about the motivation of this: Switching back-and-forth a bit between Spacemacs and Neovim, I got inspired by spacevim[0] and thought to
by Tehnix 10y ago
Just to share a little about the motivation of this:
Switching back-and-forth a bit between Spacemacs and Neovim, I got inspired by spacevim[0] and thought to myself "Hey, that's a great idea!", and so I went into my first time actually toying with vim script (love-hate relationship atm).
The result of the last couple of days so far is the ground work for a Neovim specific port of Spacemacs, SpaceNeovim[1].
The major difference between this and the existing spacevim is that the layers are separated out from the core, and can be updated via an editor command (calling git pull). It makes it a lot nicer to add new layers later on (oh, and of course also the fact that I've dropped any though of vim support).
Contributions or feedback are more than welcome! :)
The easiest way, if you want, is probably to contribute a layer, or expand on an existing one at https://github.com/Tehnix/spaceneovim-layers https://github.com/Tehnix/spaceneovim-layers. One of the goals is to match Spacemacs more-or-less, so switching isn't annoying (hence why buffer/filetype specific keybindings are behind a '+major-mode-cmd').
[0] https://github.com/ctjhoa/spacevim https://github.com/ctjhoa/spacevim
[1] https://github.com/Tehnix/spaceneovim https://github.com/Tehnix/spaceneovim
- truncate 10y agoI always found myself convinced to use some plugin more often after watching some screencast or small gifs. If there are any already it would great if you could link them in project page.
- shriek 10y agoHow much of an investment is to learn vimscript? I want to write some plugins but I also don't really feel like learning it. Wish I could use different langs but from what I'm hearing I'd have to learn vimscript anyway.
- flukus 10y agoIf you're a programmer, not hard at all. The language is fairly simple and quite powerful these days. It has a few quirks, like variable scoping (global, local, buffer, window, tab), but these are great once you get used to them. The hard part is learning the API, which takes a lot of googling. Start off writing some helper functions for your own use and turn them into plugins later.
- Tehnix 10y agoNot that much to be honest, there are some quirks and such as variable scopings (g:, s:, l: a:) and other things, but other than that it's pretty familiar. A few great resources I found after having googled a ton around was [0] and [1]. If you are very familiar with vim (I'm not really a power user tbh), then all the commands you use with : are supported in vim script. Meaning opening a split in your script is, well, just split. [0] http://ricostacruz.com/cheatsheets/vimscript.html http://ricostacruz.com/cheatsheets/vimscript.html [1] http://www.ibm.com/developerworks/library/l-vim-script-1/ http://www.ibm.com/developerworks/library/l-vim-script-1/
- shriek 10y agoThat cheatsheet is really well done. Thanks for that.
- __s 10y agoI learnt it by writing a befunge interpreter: https://github.com/serprex/Befunge/blob/master/bef.vim https://github.com/serprex/Befunge/blob/master/bef.vim
- satai 10y agoPlease spend a bit of time with the Readme.md in the repository. It's not clean, what is the stuff for, how it's usefull... Reference to an other project (clone of XY) doesn't help much too.