I assumed that every shell would support '&&'. Apparently this is not the case
for Fish: it uses 'and'...
Anyway, the simple solution is to avoid cd'ing in the proper directory first
and just using absolute paths for ln instead.
References #165.
This option forces the use of <nowait> mappings.
This might be useful if you have global mappings that start with the same
characters as indexes from Startify.
References #180Closes#186.
<nowait> guards against global mappings.
Problem: However, having 2 local <nowait> mappings, '1' and '11', makes no
sense, since it would always go with the former.
Solution: Remove <nowait> from all dynamically created mappings and keep it
for the fixed ones (i, b, v, ...).
If you absolutely need a <nowait> mapping for a non-fixed mapping, e.g. 'g'
(and because you use vim-commentary which maps 'gc'), see
":h startify-autocmd":
autocmd User Startified nnoremap <buffer><nowait><silent> g ...
References #180.
Reported-by: @noscripter
These files can be used to set up additional things for a session and have to
be placed in the same directory as the session file.
See point 10 under `:h :mksession` for more information.
Since they are no real session files, Startify shouldn't list them either.
Closes#179.
This sets all the created mappings as `nowait`, meaning having global
mappings will still allow you to jump to a file instantly.
For example, if you have a commentary plugin and define a global mapping
of `gcc`, you can't use `g` without waiting (or clicking Esc right
away).
Closes#180.
During session save, when removing lines, we don't want to store the content
in the unnamed register, takes more time and changes clipboard content. Just
use the blackhole register.
References #167.
Assuming a small screen and 'wrap' set:
The cursor is forced to stay in a certain column, so doing gj on a wrapped
line will jump into an area outside the position [x] and jump back into it
immediately effectively breaking navigation.
Solution: use local mappings that just do the usual h/j/k/l dance.
References #156.
The skiplist gets checked against normal Vim regular expressions. That also
means that you can't just use '~'; see ":h /\~".
That especially sneaky if you use variables that refer to directories within
your home directory.
Solution: expand them via fnamemodify().
References #154.
With these settings: wildmode=list and laststatus=2
When call the command :SSave and use <tab> for autocomplete, and choose any
session, then the message "Session already exists. Overwrite? [y/n]" does not
appear on screen.
References #155.
fugitive is run at VimEnter and for new buffers that are associated with
files.
Now fugitive commands will be available after start (in the Startify screen),
but it won't work after calling :Startify, since fugitive is designed that
way.
References #33.
This de-duplicates the shared code, and adds some (first) improvements
to not stat all of v:oldfiles (twice).
If accepted, it allows for easily adding a cache for abs_path handling
etc.
- Add _show_filtered_oldfiles and _get_filtered_oldfiles
- Fixes g:startify_files_number<1
:mksession saves opened buffers and files listed in the arglist.
Assuming you would do:
$ vim foo bar
:SS session
:x
$ vim
:SL session
:bwipeout bar
:x
In that case the only file left in the session should be 'foo'. But
that's not the case, since :mksession! also saves the argument list,
which still consists of 'foo' and 'bar'. Next time you load the session,
both buffers would be opened again.
But since the argument list is seldomly used, or at least not with the
arguments that were given to Vim, it will be pruned from now on.
References #106.
Vim automagically does some globbing, if a path to :edit contains
special characters.
Works: :edit /tmp/foo [bar]
Doesn't work: :edit /tmp/foo bar
This reverts 03de6ee but fixes the actual problem in another place by
throwing escape(xxx, ' ') at the path.
References #102.
On Windows with 'noshellslash', the 'dir' section would never show up due to the
unescaped backslashes in `cwd`.
escape() backslashes (if they exist) so that match() will pass properly.
See issue #52
In order to enable platform-agnostic patterns in `g:startify_skiplist`, as long as `shellslash` is set in a user's `.vimrc` before loading the plugin, patterns in `g:startify_skiplist` will work even if they use forward slashes.