|
127 | 127 |
|
128 | 128 | " Setting up the directories {
|
129 | 129 | set backup " backups are nice ...
|
| 130 | + if has('persistent_undo') |
| 131 | + set undofile "so is persistent undo ... |
| 132 | + set undolevels=1000 "maximum number of changes that can be undone |
| 133 | + set undoreload=10000 "maximum number lines to save for undo on a buffer reload |
| 134 | + endif |
130 | 135 | " Could use * rather than *.*, but I prefer to leave .files unsaved
|
131 | 136 | au BufWinLeave *.* silent! mkview "make vim save view (state) (folds, cursor, etc)
|
132 | 137 | au BufWinEnter *.* silent! loadview "make vim load view (state) (folds, cursor, etc)
|
|
507 | 512 | " Functions {
|
508 | 513 |
|
509 | 514 | function! InitializeDirectories()
|
510 |
| - let separator = "." |
511 |
| - let parent = $HOME |
512 |
| - let prefix = '.vim' |
513 |
| - let dir_list = { |
514 |
| - \ 'backup': 'backupdir', |
515 |
| - \ 'views': 'viewdir', |
516 |
| - \ 'swap': 'directory' } |
517 |
| - |
518 |
| - for [dirname, settingname] in items(dir_list) |
519 |
| - let directory = parent . '/' . prefix . dirname . "/" |
520 |
| - if exists("*mkdir") |
521 |
| - if !isdirectory(directory) |
522 |
| - call mkdir(directory) |
523 |
| - endif |
524 |
| - endif |
525 |
| - if !isdirectory(directory) |
526 |
| - echo "Warning: Unable to create backup directory: " . directory |
527 |
| - echo "Try: mkdir -p " . directory |
528 |
| - else |
529 |
| - let directory = substitute(directory, " ", "\\\\ ", "g") |
530 |
| - exec "set " . settingname . "=" . directory |
531 |
| - endif |
532 |
| - endfor |
| 515 | + let separator = "." |
| 516 | + let parent = $HOME |
| 517 | + let prefix = '.vim' |
| 518 | + let dir_list = { |
| 519 | + \ 'backup': 'backupdir', |
| 520 | + \ 'views': 'viewdir', |
| 521 | + \ 'swap': 'directory' } |
| 522 | + |
| 523 | + if has('persistent_undo') |
| 524 | + let dir_list['undo'] = 'undodir' |
| 525 | + endif |
| 526 | + |
| 527 | + for [dirname, settingname] in items(dir_list) |
| 528 | + let directory = parent . '/' . prefix . dirname . "/" |
| 529 | + if exists("*mkdir") |
| 530 | + if !isdirectory(directory) |
| 531 | + call mkdir(directory) |
| 532 | + endif |
| 533 | + endif |
| 534 | + if !isdirectory(directory) |
| 535 | + echo "Warning: Unable to create backup directory: " . directory |
| 536 | + echo "Try: mkdir -p " . directory |
| 537 | + else |
| 538 | + let directory = substitute(directory, " ", "\\\\ ", "g") |
| 539 | + exec "set " . settingname . "=" . directory |
| 540 | + endif |
| 541 | + endfor |
533 | 542 | endfunction
|
534 | 543 | call InitializeDirectories()
|
535 | 544 |
|
|
0 commit comments