summaryrefslogtreecommitdiffstats
path: root/runtime/ftplugin/abaqus.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-01-06 20:54:52 +0100
committerBram Moolenaar <Bram@vim.org>2010-01-06 20:54:52 +0100
commit5c73622a9066182ee4479fd7b3aa86e1825808c3 (patch)
treec92ed672cbb989fa3585387ebd4598f5bdfcc637 /runtime/ftplugin/abaqus.vim
parent8f3f58f2c361f1b7241128d9821f88d8a30aa066 (diff)
Update runtime files.
Diffstat (limited to 'runtime/ftplugin/abaqus.vim')
-rw-r--r--runtime/ftplugin/abaqus.vim52
1 files changed, 31 insertions, 21 deletions
diff --git a/runtime/ftplugin/abaqus.vim b/runtime/ftplugin/abaqus.vim
index 17985b3327..873b9bfaee 100644
--- a/runtime/ftplugin/abaqus.vim
+++ b/runtime/ftplugin/abaqus.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Abaqus finite element input file (www.abaqus.com)
" Maintainer: Carl Osterwisch <osterwischc@asme.org>
-" Last Change: 2004 Jul 06
+" Last Change: 2008 Oct 5
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin") | finish | endif
@@ -13,13 +13,6 @@ let b:did_ftplugin = 1
let s:cpo_save = &cpoptions
set cpoptions&vim
-" Folding
-if version >= 600
- " Fold all lines that do not begin with *
- setlocal foldexpr=getline(v:lnum)[0]!=\"\*\"
- setlocal foldmethod=expr
-endif
-
" Set the format of the include file specification for Abaqus
" Used in :check gf ^wf [i and other commands
setlocal include=\\<\\cINPUT\\s*=
@@ -42,29 +35,43 @@ setlocal define=^\\*\\a.*\\c\\(NAME\\\|NSET\\\|ELSET\\)\\s*=
" Abaqus keywords and identifiers may include a - character
setlocal iskeyword+=-
+let b:undo_ftplugin = "setlocal include< includeexpr< isfname<"
+ \ . " comments< commentstring< define< iskeyword<"
+
+if has("folding")
+ " Fold all lines that do not begin with *
+ setlocal foldexpr=getline(v:lnum)[0]!=\"\*\"
+ setlocal foldmethod=expr
+ let b:undo_ftplugin .= " foldexpr< foldmethod<"
+endif
+
" Set the file browse filter (currently only supported under Win32 gui)
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Abaqus Input Files (*.inp *.inc)\t*.inp;*.inc\n" .
\ "Abaqus Results (*.dat)\t*.dat\n" .
\ "Abaqus Messages (*.pre *.msg *.sta)\t*.pre;*.msg;*.sta\n" .
\ "All Files (*.*)\t*.*\n"
+ let b:undo_ftplugin .= "|unlet b:browsefilter"
endif
-" Define keys used to move [count] sections backward or forward.
-" TODO: Make this do something intelligent in visual mode.
-nnoremap <silent> <buffer> [[ :call <SID>Abaqus_Jump('?^\*\a?')<CR>
-nnoremap <silent> <buffer> ]] :call <SID>Abaqus_Jump('/^\*\a/')<CR>
-function! <SID>Abaqus_Jump(motion) range
- let s:count = v:count1
- mark '
- while s:count > 0
- silent! execute a:motion
- let s:count = s:count - 1
- endwhile
-endfunction
+" Define patterns for the matchit plugin
+if exists("loaded_matchit") && !exists("b:match_words")
+ let b:match_ignorecase = 1
+ let b:match_words =
+ \ '\*part:\*end\s*part,' .
+ \ '\*assembly:\*end\s*assembly,' .
+ \ '\*instance:\*end\s*instance,' .
+ \ '\*step:\*end\s*step'
+ let b:undo_ftplugin .= "|unlet b:match_ignorecase b:match_words"
+endif
+
+" Define keys used to move [count] keywords backward or forward.
+noremap <silent><buffer> [[ ?^\*\a<CR>:nohlsearch<CR>
+noremap <silent><buffer> ]] /^\*\a<CR>:nohlsearch<CR>
" Define key to toggle commenting of the current line or range
-noremap <silent> <buffer> <m-c> :call <SID>Abaqus_ToggleComment()<CR>j
+noremap <silent><buffer> <LocalLeader><LocalLeader>
+ \ :call <SID>Abaqus_ToggleComment()<CR>j
function! <SID>Abaqus_ToggleComment() range
if strpart(getline(a:firstline), 0, 2) == "**"
" Un-comment all lines in range
@@ -75,5 +82,8 @@ function! <SID>Abaqus_ToggleComment() range
endif
endfunction
+let b:undo_ftplugin .= "|unmap <buffer> [[|unmap <buffer> ]]"
+ \ . "|unmap <buffer> <LocalLeader><LocalLeader>"
+
" Restore saved compatibility options
let &cpoptions = s:cpo_save