aboutsummaryrefslogtreecommitdiff
path: root/vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim')
-rw-r--r--vim/after/ftplugin/sh.vim5
-rw-r--r--vim/autoload/quote.vim9
-rw-r--r--vim/ftplugin/awk.vim9
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<'