From 34e78226576b86b1fab4a85a06b70d8880766878 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Tue, 21 May 2019 10:59:42 +1200 Subject: Revert "Try ternary operator for $MYVIMRUNTIME ... This reverts commit 94c8d6c527049984373d75c1f8910fe25f8736b4. Decided I don't like this after all. --- vim/vimrc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 7932e1de..9950a1b7 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -6,11 +6,11 @@ runtime system.vim " Set an environment variable for the user runtime directory if !exists('$MYVIMRUNTIME') - let $MYVIMRUNTIME = expand( - \ has('win32') || has('win64') - \ ? '~/vimfiles' - \ : '~/.vim' - \ ) + if has('win32') || has('win64') + let $MYVIMRUNTIME = expand('~/vimfiles') + else + let $MYVIMRUNTIME = expand('~/.vim') + endif endif " The all-important default indent settings; filetypes to tweak -- cgit v1.2.3 From 477830ab8c64ecc6665e1d627159f15b842442df Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Tue, 21 May 2019 11:00:55 +1200 Subject: Use MYVIM instead of MYVIMRUNTIME Not all of the files in ~/.vim are necessary runtime files anyway, so the distinction isn't helpful. --- vim/vimrc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 9950a1b7..16d57dd5 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -5,11 +5,11 @@ runtime system.vim " Set an environment variable for the user runtime directory -if !exists('$MYVIMRUNTIME') +if !exists('$MYVIM') if has('win32') || has('win64') - let $MYVIMRUNTIME = expand('~/vimfiles') + let $MYVIM = expand('~/vimfiles') else - let $MYVIMRUNTIME = expand('~/.vim') + let $MYVIM = expand('~/.vim') endif endif @@ -32,9 +32,9 @@ endif " encoded path in filename (trailing double slash) if supported (v8.1.251) set backup if has('patch-8.1.251') - set backupdir^=$MYVIMRUNTIME/cache/backup// + set backupdir^=$MYVIM/cache/backup// else - set backupdir^=$MYVIMRUNTIME/cache/backup + set backupdir^=$MYVIM/cache/backup endif " Add some *nix paths not to back up @@ -65,7 +65,7 @@ set cpoptions+=J " Try to keep swap files in one system-appropriate directory, including full " encoded path in filename (trailing double slash) -set directory^=$MYVIMRUNTIME/cache/swap// +set directory^=$MYVIM/cache/swap// " Use UTF-8 if we can and $LANG doesn't tell us not to if has('multi_byte') @@ -184,7 +184,7 @@ endif " (v7.2.438), including full encoded path in filename (trailing double slash) if has('persistent_undo') set undofile - set undodir^=$MYVIMRUNTIME/cache/undo// + set undodir^=$MYVIM/cache/undo// endif " Let me move beyond buffer text in visual block mode -- cgit v1.2.3 From 889d086b08ee6e20e7229bd8479f99ad3140a4ec Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Tue, 21 May 2019 11:19:06 +1200 Subject: Add count to sudo(8) paths --- vim/vimrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 16d57dd5..b47695db 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -40,8 +40,8 @@ endif " Add some *nix paths not to back up if has('unix') set backupskip^=/dev/shm/* " Shared memory RAM disk - set backupskip^=/usr/tmp/* " Hard-coded path for `sudo -e` - set backupskip^=/var/tmp/* " Hard-coded path for `sudo -e` + set backupskip^=/usr/tmp/* " Hard-coded path for `sudo -e` 1/2 + set backupskip^=/var/tmp/* " Hard-coded path for `sudo -e` 2/2 endif " Indent wrapped lines if supported (v7.4.338) -- cgit v1.2.3 From 83fb4cd74ce4c82906e4a296d0e1cb74e1276e54 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Tue, 21 May 2019 11:22:04 +1200 Subject: Flesh out a comment --- vim/vimrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index b47695db..254325c8 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -173,8 +173,8 @@ if &term =~# '^putty' set ttyfast endif -" No terminal mouse, even if we could; the manual says to set 't_RV', but that -" doesn't seem to work +" No terminal mouse, even if we could; the manual says to set 't_RV', but +" doing that doesn't seem to prevent 'ttyfast' from being set " Not in NeoVim if exists('+ttymouse') && &ttymouse !=# '' set ttymouse= -- cgit v1.2.3 From b9c58900dc023010acdd8c8de97797c5b8510c61 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Tue, 21 May 2019 20:33:49 +1200 Subject: Remove '\'' sh ftplugin map; interference --- vim/after/ftplugin/sh.vim | 9 --------- 1 file changed, 9 deletions(-) diff --git a/vim/after/ftplugin/sh.vim b/vim/after/ftplugin/sh.vim index 9afd5086..0327db78 100644 --- a/vim/after/ftplugin/sh.vim +++ b/vim/after/ftplugin/sh.vim @@ -44,12 +44,3 @@ nnoremap l \ :compiler shellcheck let b:undo_ftplugin .= '|nunmap c' \ . '|nunmap l' - -" Mapping to insert '\'' with Alt+'; not sure I'll keep this just yet -if has('gui_running') - inoremap '\'' - let b:undo_ftplugin .= '|iunmap ' -else - inoremap ' '\'' - let b:undo_ftplugin .= '|iunmap ''' -endif -- cgit v1.2.3 From 839827ff4cfbe42c9204e134ba70a8d072bcbf82 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 22 May 2019 16:34:38 +1200 Subject: Ignore #emacs_backup# file pattern --- bash/bash_completion.d/_text_filenames.bash | 3 +++ vim/vimrc | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bash/bash_completion.d/_text_filenames.bash b/bash/bash_completion.d/_text_filenames.bash index 0f7f6dd8..d379b8f9 100644 --- a/bash/bash_completion.d/_text_filenames.bash +++ b/bash/bash_completion.d/_text_filenames.bash @@ -140,6 +140,9 @@ _text_filenames() { (*.swf) ;; (*.webm) ;; + # Emacs + (\#*\#) ;; + # Vim (*~) ;; (*.swp) ;; diff --git a/vim/vimrc b/vim/vimrc index 254325c8..20e687b7 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -194,7 +194,7 @@ set virtualedit+=block set visualbell t_vb= " Tab completion settings -set wildignore=*~ +set wildignore=*~,#*# \,*.7z \,*.a,*.adf,*.asc,*.au,*.aup,*.avi \,*.bin,*.bmp,*.bz2 -- cgit v1.2.3 From b86eb2a908a56e1c809ff3fccee1d4cec6069a47 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 22 May 2019 21:28:04 +1200 Subject: Rebuild dotfiles(7df) manual --- man/man7/dotfiles.7df | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/man/man7/dotfiles.7df b/man/man7/dotfiles.7df index a74cc82d..fcdb9416 100644 --- a/man/man7/dotfiles.7df +++ b/man/man7/dotfiles.7df @@ -44,9 +44,7 @@ $\ env\ \-i\ HOME="$tmpdir"\ TERM="$TERM"\ "$SHELL"\ \-l .fi .PP The default \f[C]install\f[] target will install these targets and all -their dependencies. -Note that you don't actually have to have any of this except \f[C]sh\f[] -installed. +their dependencies: .IP \[bu] 2 \f[C]install\-bin\f[] .IP \[bu] 2 -- cgit v1.2.3 From f8d5b799f539ecf9d388ce1aeb39fb0ae3a6ea67 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 22 May 2019 23:04:18 +1200 Subject: Add mapping to toggle 'autoindent' --- vim/vimrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vim/vimrc b/vim/vimrc index 20e687b7..48578ee2 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -448,6 +448,9 @@ nnoremap :bdelete " \INS edits a new buffer nnoremap :enew +" \TAB toggles 'autoindent' +nnoremap :setlocal autoindent! autoindent? + " Execution mappings; each of these clobbers register z " \@ executes line in normal mode -- cgit v1.2.3 From f8c71c12661360003f2b33cac1bbc7fe8497b5b9 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 00:12:25 +1200 Subject: Don't set 'path' to ** by default It might still be useful, but probably only in more controlled/defined situations, and not by default. --- vim/vimrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 48578ee2..5f860405 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -142,8 +142,8 @@ set nomodeline " Treat numbers with a leading zero as decimal, not octal set nrformats-=octal -" Search whole directory tree, and not /usr/include -set path=** +" Don't search /usr/include by default +set path-=/usr/include " Disable command line display of file position " This is Vim's default, but not NeoVim's -- cgit v1.2.3 From 58b20c9f303a94108b2fecc007d02f53aab5d2e7 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 08:56:58 +1200 Subject: Set 'include' and 'path' in Vim script files --- vim/after/ftplugin/vim.vim | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vim/after/ftplugin/vim.vim b/vim/after/ftplugin/vim.vim index 76608691..5b4d0f95 100644 --- a/vim/after/ftplugin/vim.vim +++ b/vim/after/ftplugin/vim.vim @@ -16,6 +16,12 @@ if &keywordprg !=# ':help' let b:undo_ftplugin .= '|setlocal keywordprg<' endif +" Keywords for including files +let &l:include = '\\|\' + +" Search runtime paths for included scripts +let &l:path = &runtimepath . ',' . &path + " Adjust the match words for the matchit plugin; the default filetype plugin " matches e.g. an opening "function" with the first "return" within, which I " don't like -- cgit v1.2.3 From cef0c0c0569c6d566a7671fe47a6e9fa706fcb4a Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:04:54 +1200 Subject: Define user command MarkdownHeading --- vim/after/ftplugin/markdown.vim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vim/after/ftplugin/markdown.vim b/vim/after/ftplugin/markdown.vim index 6634924e..4c07756f 100644 --- a/vim/after/ftplugin/markdown.vim +++ b/vim/after/ftplugin/markdown.vim @@ -33,7 +33,9 @@ let b:undo_ftplugin .= '|nunmap Q' \ . '|xunmap Q' " Autoformat headings +command! -buffer -nargs=1 MarkdownHeading + \ call markdown#Heading() nnoremap - - \ :call markdown#Heading('-') + \ :MarkdownHeading - nnoremap = - \ :call markdown#Heading('=') + \ :MarkdownHeading = -- cgit v1.2.3 From 3c8b52acb50b3b4beb8e5d2d0560d7e484b22345 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:11:39 +1200 Subject: Adjust order of Markdown heading maps --- vim/after/ftplugin/markdown.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vim/after/ftplugin/markdown.vim b/vim/after/ftplugin/markdown.vim index 4c07756f..43395568 100644 --- a/vim/after/ftplugin/markdown.vim +++ b/vim/after/ftplugin/markdown.vim @@ -35,7 +35,7 @@ let b:undo_ftplugin .= '|nunmap Q' " Autoformat headings command! -buffer -nargs=1 MarkdownHeading \ call markdown#Heading() -nnoremap - - \ :MarkdownHeading - nnoremap = \ :MarkdownHeading = +nnoremap - + \ :MarkdownHeading - -- cgit v1.2.3 From f2dde46166bb36cc24bc7f92213ee9743a0e31e2 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:12:16 +1200 Subject: Add undo instructions for Markdown heading stuff --- vim/after/ftplugin/markdown.vim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vim/after/ftplugin/markdown.vim b/vim/after/ftplugin/markdown.vim index 43395568..81113668 100644 --- a/vim/after/ftplugin/markdown.vim +++ b/vim/after/ftplugin/markdown.vim @@ -39,3 +39,6 @@ nnoremap = \ :MarkdownHeading = nnoremap - \ :MarkdownHeading - +let b:undo_ftplugin .= '|delcommand MarkdownHeading' + \ . '|nunmap =' + \ . '|nunmap -' -- cgit v1.2.3 From e4a869c938065cf994edf390ab3947869d58576a Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:18:16 +1200 Subject: Add Tim Pope's Markdown ftplugin I disagree with just enough of this that I think it's worth writing it out my own way. Adding the file as it is for now so I can track and document what I change. --- vim/ftplugin/markdown.vim | 50 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 vim/ftplugin/markdown.vim diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim new file mode 100644 index 00000000..277ba94e --- /dev/null +++ b/vim/ftplugin/markdown.vim @@ -0,0 +1,50 @@ +" Vim filetype plugin +" Language: Markdown +" Maintainer: Tim Pope +" Last Change: 2016 Aug 29 + +if exists("b:did_ftplugin") + finish +endif + +runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim + +setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s +setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o +setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]: + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= "|setl cms< com< fo< flp<" +else + let b:undo_ftplugin = "setl cms< com< fo< flp<" +endif + +function! MarkdownFold() + let line = getline(v:lnum) + + " Regular headers + let depth = match(line, '\(^#\+\)\@<=\( .*$\)\@=') + if depth > 0 + return ">" . depth + endif + + " Setext style headings + let nextline = getline(v:lnum + 1) + if (line =~ '^.\+$') && (nextline =~ '^=\+$') + return ">1" + endif + + if (line =~ '^.\+$') && (nextline =~ '^-\+$') + return ">2" + endif + + return "=" +endfunction + +if has("folding") && exists("g:markdown_folding") + setlocal foldexpr=MarkdownFold() + setlocal foldmethod=expr + let b:undo_ftplugin .= " foldexpr< foldmethod<" +endif + +" vim:set sw=2: -- cgit v1.2.3 From da4532ecf0b79849040c6573233266c7b9afe4cd Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:19:40 +1200 Subject: Move my after ftplugin for Markdown into main --- vim/after/ftplugin/markdown.vim | 44 ----------------------------------------- vim/ftplugin/markdown.vim | 44 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 44 deletions(-) delete mode 100644 vim/after/ftplugin/markdown.vim diff --git a/vim/after/ftplugin/markdown.vim b/vim/after/ftplugin/markdown.vim deleted file mode 100644 index 81113668..00000000 --- a/vim/after/ftplugin/markdown.vim +++ /dev/null @@ -1,44 +0,0 @@ -" Spellcheck documents we're actually editing (not just viewing) -if &modifiable && !&readonly - setlocal spell - let b:undo_ftplugin .= '|setlocal spell<' -endif - -" Tolerate leading lowercase letters in README.md files, for things like -" headings being filenames -if expand('%:t') ==# 'README.md' - setlocal spellcapcheck= - let b:undo_ftplugin .= '|setlocal spellcapcheck<' -endif - -" Stop here if the user doesn't want ftplugin mappings -if exists('no_plugin_maps') || exists('no_markdown_maps') - finish -endif - -" Quote operator -nnoremap q - \ quote#Quote() -xnoremap q - \ quote#Quote() -let b:undo_ftplugin .= '|nunmap q' - \ . '|xunmap q' - -" Quote operator with reformatting -nnoremap Q - \ quote#QuoteReformat() -xnoremap Q - \ quote#QuoteReformat() -let b:undo_ftplugin .= '|nunmap Q' - \ . '|xunmap Q' - -" Autoformat headings -command! -buffer -nargs=1 MarkdownHeading - \ call markdown#Heading() -nnoremap = - \ :MarkdownHeading = -nnoremap - - \ :MarkdownHeading - -let b:undo_ftplugin .= '|delcommand MarkdownHeading' - \ . '|nunmap =' - \ . '|nunmap -' diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index 277ba94e..e59e661b 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -47,4 +47,48 @@ if has("folding") && exists("g:markdown_folding") let b:undo_ftplugin .= " foldexpr< foldmethod<" endif +" Spellcheck documents we're actually editing (not just viewing) +if &modifiable && !&readonly + setlocal spell + let b:undo_ftplugin .= '|setlocal spell<' +endif + +" Tolerate leading lowercase letters in README.md files, for things like +" headings being filenames +if expand('%:t') ==# 'README.md' + setlocal spellcapcheck= + let b:undo_ftplugin .= '|setlocal spellcapcheck<' +endif + +" Stop here if the user doesn't want ftplugin mappings +if exists('no_plugin_maps') || exists('no_markdown_maps') + finish +endif + +" Quote operator +nnoremap q + \ quote#Quote() +xnoremap q + \ quote#Quote() +let b:undo_ftplugin .= '|nunmap q' + \ . '|xunmap q' + +" Quote operator with reformatting +nnoremap Q + \ quote#QuoteReformat() +xnoremap Q + \ quote#QuoteReformat() +let b:undo_ftplugin .= '|nunmap Q' + \ . '|xunmap Q' + +" Autoformat headings +command! -buffer -nargs=1 MarkdownHeading + \ call markdown#Heading() +nnoremap = + \ :MarkdownHeading = +nnoremap - + \ :MarkdownHeading - +let b:undo_ftplugin .= '|delcommand MarkdownHeading' + \ . '|nunmap =' + \ . '|nunmap -' " vim:set sw=2: -- cgit v1.2.3 From cedcc07facc8d1bf95751135b869bb491e1899c8 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:20:35 +1200 Subject: Remove HTML ftplugin import from Markdown ftplugin I never liked this much. Removing it from my own copy of the ftplugin allows me to remove my working around it in the after script. --- vim/after/ftplugin/html.vim | 5 ----- vim/ftplugin/markdown.vim | 2 -- 2 files changed, 7 deletions(-) diff --git a/vim/after/ftplugin/html.vim b/vim/after/ftplugin/html.vim index 8b390528..93845a80 100644 --- a/vim/after/ftplugin/html.vim +++ b/vim/after/ftplugin/html.vim @@ -1,8 +1,3 @@ -" Don't load if the buffer is not actually HTML (e.g. Markdown) -if &filetype !=# 'html' - finish -endif - " Spellcheck documents we're actually editing (not just viewing) if &modifiable && !&readonly setlocal spell diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index e59e661b..8d90aa67 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -7,8 +7,6 @@ if exists("b:did_ftplugin") finish endif -runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim - setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]: -- cgit v1.2.3 From ae31e57f80d1898676acb7a12af87e156e9dbeaf Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:21:45 +1200 Subject: Adjust header/footer for Markdown ftplugin --- vim/ftplugin/markdown.vim | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index 8d90aa67..ba7346b1 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -1,11 +1,8 @@ -" Vim filetype plugin -" Language: Markdown -" Maintainer: Tim Pope -" Last Change: 2016 Aug 29 - -if exists("b:did_ftplugin") +" Only do this when not yet done for this buffer +if exists('b:did_ftplugin') finish endif +let b:did_ftplugin = 1 setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o @@ -89,4 +86,3 @@ nnoremap - let b:undo_ftplugin .= '|delcommand MarkdownHeading' \ . '|nunmap =' \ . '|nunmap -' -" vim:set sw=2: -- cgit v1.2.3 From 6b0187101c6f7c293713271402eaeb96d701c39d Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:25:01 +1200 Subject: Break up Markdown ftplugin option settings Just for readability. --- vim/ftplugin/markdown.vim | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index ba7346b1..d2903287 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -4,8 +4,14 @@ if exists('b:did_ftplugin') endif let b:did_ftplugin = 1 -setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s -setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o +" Specify format for comments (lists, quotes) +setlocal comments=fb:*,fb:-,fb:+,n:> +setlocal commentstring=>\ %s + +" Specify format options +setlocal formatoptions+=tcqln +setlocal formatoptions-=o +setlocal formatoptions-=r setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]: if exists('b:undo_ftplugin') -- cgit v1.2.3 From 6137c1862514e496071d553d583fc11378733833 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:25:27 +1200 Subject: Refactor undo_ftplugin lines for Markdown ftplugin --- vim/ftplugin/markdown.vim | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index d2903287..7c757383 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -7,18 +7,14 @@ let b:did_ftplugin = 1 " Specify format for comments (lists, quotes) setlocal comments=fb:*,fb:-,fb:+,n:> setlocal commentstring=>\ %s +let b:undo_ftplugin .= '|setlocal comments< commentstring<' " Specify format options setlocal formatoptions+=tcqln setlocal formatoptions-=o setlocal formatoptions-=r setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]: - -if exists('b:undo_ftplugin') - let b:undo_ftplugin .= "|setl cms< com< fo< flp<" -else - let b:undo_ftplugin = "setl cms< com< fo< flp<" -endif +let b:undo_ftplugin .= '|setlocal formatoptions< formatlistpat<' function! MarkdownFold() let line = getline(v:lnum) -- cgit v1.2.3 From 60dbfac9231d3f8ff111bce3ac87d4b30f044d36 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:29:53 +1200 Subject: Correct definition for b:undo_ftplugin --- vim/ftplugin/markdown.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index 7c757383..cd2c2b08 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -7,7 +7,7 @@ let b:did_ftplugin = 1 " Specify format for comments (lists, quotes) setlocal comments=fb:*,fb:-,fb:+,n:> setlocal commentstring=>\ %s -let b:undo_ftplugin .= '|setlocal comments< commentstring<' +let b:undo_ftplugin = 'setlocal comments< commentstring<' " Specify format options setlocal formatoptions+=tcqln -- cgit v1.2.3 From ef052eb47134357a076b6ec619fd3c6a24ca2c12 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:34:07 +1200 Subject: Use variable assignment for complex pattern --- vim/ftplugin/markdown.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index cd2c2b08..db8e78f9 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -13,7 +13,7 @@ let b:undo_ftplugin = 'setlocal comments< commentstring<' setlocal formatoptions+=tcqln setlocal formatoptions-=o setlocal formatoptions-=r -setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]: +let &l:formatlistpat = '^\s*\d\+\.\s\+\|^[-*+]\s\+\|^\[^\ze[^\]]\+\]:' let b:undo_ftplugin .= '|setlocal formatoptions< formatlistpat<' function! MarkdownFold() -- cgit v1.2.3 From a5621106ace078f8a805612fb7156d30ccc72ddf Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:34:37 +1200 Subject: Break apart 'comments' definitions --- vim/ftplugin/markdown.vim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index db8e78f9..a455a00c 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -5,8 +5,11 @@ endif let b:did_ftplugin = 1 " Specify format for comments (lists, quotes) -setlocal comments=fb:*,fb:-,fb:+,n:> -setlocal commentstring=>\ %s +setlocal comments+=fb:* " Bulleted lists +setlocal comments+=fb:- " Dashed lists +setlocal comments+=fb:+ " Plussed lists (?) +setlocal comments+=n:> " Mail-style quotes +let &l:commentstring = '> %s' let b:undo_ftplugin = 'setlocal comments< commentstring<' " Specify format options -- cgit v1.2.3 From 25a50babaff0b72ea18f14ff35e9a972f27cda0e Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:55:59 +1200 Subject: Remove redundancies from 'formatoptions' setting --- vim/ftplugin/markdown.vim | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index a455a00c..2bfdebcb 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -13,9 +13,7 @@ let &l:commentstring = '> %s' let b:undo_ftplugin = 'setlocal comments< commentstring<' " Specify format options -setlocal formatoptions+=tcqln -setlocal formatoptions-=o -setlocal formatoptions-=r +setlocal formatoptions+=ln let &l:formatlistpat = '^\s*\d\+\.\s\+\|^[-*+]\s\+\|^\[^\ze[^\]]\+\]:' let b:undo_ftplugin .= '|setlocal formatoptions< formatlistpat<' -- cgit v1.2.3 From 67858c848fe217469bd457c6767f712de43409f5 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:57:55 +1200 Subject: Adopt heading-based Markdown folding This is just me adapting Tim Pope's original code a little to fit with how I normally write Vim script. We'll try this fold method out and see if it suits. --- vim/ftplugin/markdown.vim | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index 2bfdebcb..f98f7420 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -17,33 +17,31 @@ setlocal formatoptions+=ln let &l:formatlistpat = '^\s*\d\+\.\s\+\|^[-*+]\s\+\|^\[^\ze[^\]]\+\]:' let b:undo_ftplugin .= '|setlocal formatoptions< formatlistpat<' +" Let's try this heading-based fold method out function! MarkdownFold() let line = getline(v:lnum) " Regular headers let depth = match(line, '\(^#\+\)\@<=\( .*$\)\@=') if depth > 0 - return ">" . depth + return '>' . depth endif " Setext style headings - let nextline = getline(v:lnum + 1) - if (line =~ '^.\+$') && (nextline =~ '^=\+$') - return ">1" + if line =~ '^.\+$' + let nextline = getline(v:lnum + 1) + if nextline =~ '^=\+$' + return '>1' + elseif nextline =~ '^-\+$' + return '>2' + endif endif - if (line =~ '^.\+$') && (nextline =~ '^-\+$') - return ">2" - endif - - return "=" + return '=' endfunction - -if has("folding") && exists("g:markdown_folding") - setlocal foldexpr=MarkdownFold() - setlocal foldmethod=expr - let b:undo_ftplugin .= " foldexpr< foldmethod<" -endif +setlocal foldexpr=MarkdownFold() +setlocal foldmethod=expr +let b:undo_ftplugin .= '|setlocal foldexpr< foldmethod<' " Spellcheck documents we're actually editing (not just viewing) if &modifiable && !&readonly -- cgit v1.2.3 From 16ad93476a0258688464918cdbd7fcbc25ab6cc5 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 09:58:35 +1200 Subject: Give credit to Tim Pope --- vim/ftplugin/markdown.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index f98f7420..60e3667c 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -12,12 +12,12 @@ setlocal comments+=n:> " Mail-style quotes let &l:commentstring = '> %s' let b:undo_ftplugin = 'setlocal comments< commentstring<' -" Specify format options +" Specify format options (Tim Pope) setlocal formatoptions+=ln let &l:formatlistpat = '^\s*\d\+\.\s\+\|^[-*+]\s\+\|^\[^\ze[^\]]\+\]:' let b:undo_ftplugin .= '|setlocal formatoptions< formatlistpat<' -" Let's try this heading-based fold method out +" Let's try this heading-based fold method out (Tim Pope) function! MarkdownFold() let line = getline(v:lnum) -- cgit v1.2.3 From a1bcf1179f7abc500c83defa3144d7af34f3f68c Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 10:01:51 +1200 Subject: Add foldexpr function deletion to undo --- vim/ftplugin/markdown.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index 60e3667c..9b2a0c12 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -41,7 +41,7 @@ function! MarkdownFold() endfunction setlocal foldexpr=MarkdownFold() setlocal foldmethod=expr -let b:undo_ftplugin .= '|setlocal foldexpr< foldmethod<' +let b:undo_ftplugin .= '|delfunction MarkdownFold|setlocal foldexpr< foldmethod<' " Spellcheck documents we're actually editing (not just viewing) if &modifiable && !&readonly -- cgit v1.2.3 From 68c22abd9f16ed9baf9673a2e125b8c293633cdc Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 11:21:29 +1200 Subject: Improve opening-greeting strip from mail ftplugin --- vim/after/ftplugin/mail.vim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vim/after/ftplugin/mail.vim b/vim/after/ftplugin/mail.vim index 457135ef..c9cd6555 100644 --- a/vim/after/ftplugin/mail.vim +++ b/vim/after/ftplugin/mail.vim @@ -6,9 +6,9 @@ if line('.') == 1 && col('.') == 1 " no quote, which is fine call search('\m^>', 'c') - " Check this line to see if it's a generic hello-name greeting that we can - " just strip out; delete any following lines too, if they're blank - if getline('.') =~? '^>\s*\%(\s*\%($' delete -- cgit v1.2.3 From 60703c3aa0b624cbc2b799d679a11118dca18e7d Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 11:21:43 +1200 Subject: Strip trailing blanks after greeting --- vim/after/ftplugin/mail.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vim/after/ftplugin/mail.vim b/vim/after/ftplugin/mail.vim index c9cd6555..81e2e560 100644 --- a/vim/after/ftplugin/mail.vim +++ b/vim/after/ftplugin/mail.vim @@ -10,7 +10,7 @@ if line('.') == 1 && col('.') == 1 " we can just strip out; delete any following lines too, if they're blank if getline('.') =~? '^>\s*\%($' + while getline('.') =~# '^>\s*$' delete endwhile endif -- cgit v1.2.3 From 8d91ebd93c56031345ebf6ada80483e5b0979724 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 11:21:56 +1200 Subject: Normalise quoting in mail --- vim/after/ftplugin/mail.vim | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/vim/after/ftplugin/mail.vim b/vim/after/ftplugin/mail.vim index 81e2e560..649c87e1 100644 --- a/vim/after/ftplugin/mail.vim +++ b/vim/after/ftplugin/mail.vim @@ -20,6 +20,27 @@ if line('.') == 1 && col('.') == 1 endif +" Normalise quoting +for lnum in range(1, line('$')) + + " Get current line + let line = getline(lnum) + + " Get the leading quote string, if any; stop if there isn't one + let quote = matchstr(line, '^[> \t]\+') + if strlen(quote) == 0 + return + endif + + " Normalise the quote with no intermediate and one trailing space + let quote = substitute(quote, '[^>]', '', 'g').' ' + + " Re-set the line + let line = substitute(line, '^[> \t]\+', quote, '') + call setline(lnum, line) + +endfor + " Add a space to the end of wrapped lines for format-flowed mail setlocal formatoptions+=w let b:undo_ftplugin .= '|setlocal formatoptions<' -- cgit v1.2.3 From 28013ec4ce9a4f837778d891dc438ff989cb6e9a Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 11:22:04 +1200 Subject: Run repeat blank squeeze on mail reply --- vim/after/ftplugin/mail.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vim/after/ftplugin/mail.vim b/vim/after/ftplugin/mail.vim index 649c87e1..fbe0d3af 100644 --- a/vim/after/ftplugin/mail.vim +++ b/vim/after/ftplugin/mail.vim @@ -46,10 +46,11 @@ setlocal formatoptions+=w let b:undo_ftplugin .= '|setlocal formatoptions<' " Define what constitutes a 'blank line' for the squeeze_repeat_blanks.vim -" plugin, if loaded, to include leading quotes and spaces +" plugin, if loaded, to include leading quotes and spaces, and then do it if exists('loaded_squeeze_repeat_blanks') let b:squeeze_repeat_blanks_blank = '^[ >]*$' let b:undo_ftplugin .= '|unlet b:squeeze_repeat_blanks_blank' + silent SqueezeRepeatBlanks endif " Stop here if the user doesn't want ftplugin mappings -- cgit v1.2.3 From d57502b1c94a8c3d8e82d5664a3eb27adbc37301 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 11:22:45 +1200 Subject: Correct :return to :break --- vim/after/ftplugin/mail.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vim/after/ftplugin/mail.vim b/vim/after/ftplugin/mail.vim index fbe0d3af..15277f7b 100644 --- a/vim/after/ftplugin/mail.vim +++ b/vim/after/ftplugin/mail.vim @@ -29,7 +29,7 @@ for lnum in range(1, line('$')) " Get the leading quote string, if any; stop if there isn't one let quote = matchstr(line, '^[> \t]\+') if strlen(quote) == 0 - return + break endif " Normalise the quote with no intermediate and one trailing space -- cgit v1.2.3 From 691c81bda11681230ed03a85e97f7f73c896befd Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 11:23:43 +1200 Subject: Use case-sensitive operators to appease vim-vint --- vim/ftplugin/markdown.vim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vim/ftplugin/markdown.vim b/vim/ftplugin/markdown.vim index 9b2a0c12..d119e599 100644 --- a/vim/ftplugin/markdown.vim +++ b/vim/ftplugin/markdown.vim @@ -28,11 +28,11 @@ function! MarkdownFold() endif " Setext style headings - if line =~ '^.\+$' + if line =~# '^.\+$' let nextline = getline(v:lnum + 1) - if nextline =~ '^=\+$' + if nextline =~# '^=\+$' return '>1' - elseif nextline =~ '^-\+$' + elseif nextline =~# '^-\+$' return '>2' endif endif -- cgit v1.2.3 From c3fe5d6c349f684c3d57b320ac9b57e7fedcc59b Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 23 May 2019 11:24:50 +1200 Subject: Bump VERSION --- VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 0bc9d794..c5461ba3 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -tejr dotfiles v4.38.0 -Mon May 20 12:44:50 UTC 2019 +tejr dotfiles v4.39.0 +Wed May 22 23:24:50 UTC 2019 -- cgit v1.2.3