This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Save as ~/.vim/ftplugin/netrw_icons.vim | |
if exists('b:netrw_icons_loaded') | |
finish | |
endif | |
let b:netrw_icons_loaded = 1 | |
autocmd TextChanged <buffer> call s:NetrwAddIcons() | |
if empty(prop_type_get('netrw_file_icon', {'bufnr': bufnr('%')})) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Reimplementation of https://github.com/tonymajestro/smart-scrolloff.nvim | |
" Place in `~/.vim/plugin/` | |
" | |
" Note that the value is based on `&lines`, which is the global number of | |
" lines available to Vim. If you'd like to scale scrolloff based on window | |
" size, you could use `line('w$') - line('w0')`. In that case, you'd update | |
" `&l:scrolloff`, the window-local option. | |
" | |
" See `:help 'scrolloff'`, `:help 'lines'`, and `:help getpos()` for more | |
" details. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
times in msec | |
clock self+sourced self: sourced script | |
clock elapsed: other lines | |
000.013 000.013: --- VIM STARTING --- | |
000.147 000.134: Allocated generic buffers | |
000.259 000.112: locale set | |
000.270 000.011: GUI prepared | |
000.276 000.006: clipboard setup | |
000.280 000.004: window checked |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" As an example, put it in the statusline (you should not do this here, just put the %{} in your config): | |
let &statusline = substitute(&statusline, '%f', '%f%{get(b:,"ignore_status","")}', '') | |
" | |
" get(b:, "ignore_status", "") -> Get the key "ignore_status" from the | |
" dictionary b: (all buffer-local variables), defaulting to "" | |
" | |
augroup IgnoreStatus | |
autocmd! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Proof-of-concept, probably won't work for you, sorry | |
" Terminal colors, all grays, lighter to darker | |
let s:colors = range(232, 255) | |
augroup FugitiveColors | |
autocmd! | |
autocmd BufRead * call ShowBlameColors() | |
augroup END |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Original idea: https://github.com/briangwaltney/paren-hint.nvim | |
" | |
" Requires the built-in matchparen plugin to be activated | |
if exists("g:loaded_matchparen_text") || &cp | |
finish | |
endif | |
let g:loaded_matchparen_text = 1 | |
if empty(prop_type_get('matchparen_text')) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
onoremap <silent> iu :<c-u>call <SID>UrlTextObject()<cr> | |
xnoremap <silent> iu :<c-u>call <SID>UrlTextObject()<cr> | |
onoremap <silent> au :<c-u>call <SID>UrlTextObject()<cr> | |
xnoremap <silent> au :<c-u>call <SID>UrlTextObject()<cr> | |
function! s:UrlTextObject() | |
let saved_view = winsaveview() | |
let saved_end_pos = getpos("'b") | |
defer setpos("'e", saved_end_pos) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Save in ~/.vim/plugin/range_highlight.vim | |
augroup range_highlight | |
autocmd! | |
autocmd CmdlineChanged : call s:RangeHighlight() | |
autocmd CmdlineLeave : call s:RangeClear() | |
augroup END | |
let s:match_id = 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Place file in autoload/quickmacro.vim | |
" | |
" Create mapping in vimrc to start and stop the macro with e.g. M: | |
" | |
" nnoremap M :call quickmacro#Record()<cr> | |
" | |
" Apply macro by @m, or if you have repeat.vim, just press . | |
let s:recording = v:false |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Install by saving as `~/.vim/plugin/substitute_code.vim` | |
" Use like the regular `:s` command: | |
" | |
" %Scode/foo/bar/g | |
" | |
" It ignores comments, but not strings. Tweak implementation as desired. | |
command! -nargs=1 -range Scode call s:Scode(<q-args>, <line1>, <line2>) | |
" Input should be something like /<pattern>/<replacement>/<flags> |