diff options
Diffstat (limited to 'vim')
-rw-r--r-- | vim/after/ftplugin/sh.vim | 5 | ||||
-rw-r--r-- | vim/autoload/quote.vim | 9 | ||||
-rw-r--r-- | vim/ftplugin/awk.vim | 9 |
3 files changed, 22 insertions, 1 deletions
diff --git a/vim/after/ftplugin/sh.vim b/vim/after/ftplugin/sh.vim index 41b1796f..88254ea6 100644 --- a/vim/after/ftplugin/sh.vim +++ b/vim/after/ftplugin/sh.vim @@ -26,6 +26,11 @@ execute 'compiler '.b:sh_check_compiler let b:undo_ftplugin .= '|unlet b:current_compiler b:sh_check_compiler' \ . '|setlocal errorformat< makeprg<' +" Resort to g:is_posix for correct syntax on older runtime files +if b:is_posix && (v:version < 800 || v:version == 800 && !has('patch257')) + let g:is_posix = 1 +endif + " Stop here if the user doesn't want ftplugin mappings if exists('g:no_plugin_maps') || exists('g:no_sh_maps') finish diff --git a/vim/autoload/quote.vim b/vim/autoload/quote.vim index 26e95698..35df76a4 100644 --- a/vim/autoload/quote.vim +++ b/vim/autoload/quote.vim @@ -17,9 +17,16 @@ function! quote#QuoteOpfunc(type) abort " Iterate over each matched line for l:li in range(line('''['), line(''']')) + " Get current line text + let l:cur = getline(l:li) + + " Don't quote the first or last lines if they're blank + if !strlen(l:cur) && (l:li == line('''[') || l:li == line(''']')) + continue + endif + " Only add a space after the quote character if this line isn't already " quoted with the same character - let l:cur = getline(l:li) let l:new = stridx(l:cur, l:char) == 0 \ ? l:char.l:cur \ : l:char.' '.l:cur diff --git a/vim/ftplugin/awk.vim b/vim/ftplugin/awk.vim new file mode 100644 index 00000000..350bc976 --- /dev/null +++ b/vim/ftplugin/awk.vim @@ -0,0 +1,9 @@ +" Only do this when not yet done for this buffer +if exists('b:did_ftplugin') + finish +endif + +" Set comment formats +setlocal comments=:# +setlocal formatoptions+=or +let b:undo_ftplugin = 'setlocal comments< formatoptions<' |