annotate rc/vimrc @ 549:fe33aeb572f6

Update name (part 2).
author nanaya <me@myconan.net>
date Tue, 14 Apr 2015 04:46:28 +0900
parents c9ea8dd9d382
children 4afbb88c7579
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
525
1dd96a55b7ac Invoke nocompatible earliest so it doesn't override anything preceeded it.
edogawaconan <me@myconan.net>
parents: 503
diff changeset
1 set nocompatible
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
2 set showmode " shows mode insert/replace/visual
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
3 set showcmd " shows last command on screen
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
4 set nomodeline " disallow automatic vim command execution on arbitrary file
3
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
5 set autoindent
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
6 set lazyredraw
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
7 set vb t_vb= " disables visual bell
3
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
8 set ruler
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
9 set backspace=2 " make backspace work like most other apps
3
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
10 set esckeys
39ef7f7236fc Added vimrc.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
11 set noerrorbells
544
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
12
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
13 set tabstop=4
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
14 set shiftwidth=4
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
15 set softtabstop=4
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
16
535
70d4fb4f7d9f copyindent instead of expandtab.
edogawaconan <me@myconan.net>
parents: 531
diff changeset
17 set copyindent
32
2cf5492ac78d Vim title.
Edho Prima Arief <me@myconan.net>
parents: 3
diff changeset
18 set title
531
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
19 set incsearch
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
20 set ignorecase
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
21 set smartcase
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
22 set hlsearch
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
23 set ls=2 " always show status line
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
24 set list listchars=tab:>-,trail:.,extends:>
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
25 set number
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
26
529
de3ff51840a3 Skip clipboard loading for speedup in current setup.
edogawaconan <me@myconan.net>
parents: 525
diff changeset
27 " http://stackoverflow.com/questions/14635295/vim-takes-a-very-long-time-to-start-up
de3ff51840a3 Skip clipboard loading for speedup in current setup.
edogawaconan <me@myconan.net>
parents: 525
diff changeset
28 set clipboard=exclude:.*
de3ff51840a3 Skip clipboard loading for speedup in current setup.
edogawaconan <me@myconan.net>
parents: 525
diff changeset
29
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
30 if has('call')
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
31 call pathogen#infect()
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
32 endif
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
33 if has('filetype')
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
34 filetype plugin indent on
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
35 endif
33
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
36
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
37 map <C-t><up> :tabr<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
38 map <C-t><down> :tabl<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
39 map <C-t><left> :tabp<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
40 map <C-t><right> :tabn<cr>
35
a8dc309a1b8a Misc adjusments for vim keys
Edho Prima Arief <me@myconan.net>
parents: 33
diff changeset
41 map <C-t>p :tabp<cr>
a8dc309a1b8a Misc adjusments for vim keys
Edho Prima Arief <me@myconan.net>
parents: 33
diff changeset
42 map <C-t>n :tabn<cr>
33
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
43 map <C-t><C-t> :NERDTreeToggle<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
44 map <C-t><C-m> :NERDTreeMirror<cr>
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
45
531
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
46 " clears out highlight
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
47 nmap <leader>c :nohlsearch<cr>
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
48
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
49 " toggles paste mode
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
50 nmap <leader>p :set paste!<cr>
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
51
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
52 " removes prefix for windows copypasta
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
53 nmap _pa :set number! list!<cr>
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
54
467
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
55 " format JSON
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
56 map <leader>j <esc>:%!python -m json.tool<cr>
8ef5ddb9b54b Support for json
Edho Arief <edho@myconan.net>
parents: 454
diff changeset
57
531
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
58 " visual navigation instead of logical
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
59 nmap j gj
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
60 nmap k gk
d6e08a057094 Updates to vim settings.
edogawaconan <me@myconan.net>
parents: 529
diff changeset
61
33
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
62 "autocmd VimEnter * NERDTree
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
63 "autocmd BufEnter * NERDTreeMirror
330587be514c Better vim support.
Edho Prima Arief <me@myconan.net>
parents: 32
diff changeset
64
329
ea82caf6c059 Added test to verify vim version (lite or full).
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
65 if has('syntax')
ea82caf6c059 Added test to verify vim version (lite or full).
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
66 syntax on
431
be08a29208ab Added foldmethod setting.
Edho Arief <edho@myconan.net>
parents: 430
diff changeset
67 set foldmethod=syntax
432
087278fd11d8 Don't fold by default.
Edho Arief <edho@myconan.net>
parents: 431
diff changeset
68 set nofoldenable
446
3022c5d1f8ed Back to dark theme for compatibility with non-personal systems.
Edho Arief <edho@myconan.net>
parents: 432
diff changeset
69 set background=dark
503
e2b52663763b Replace solarized with base16.
edogawaconan <me@myconan.net>
parents: 496
diff changeset
70 set t_Co=256
e2b52663763b Replace solarized with base16.
edogawaconan <me@myconan.net>
parents: 496
diff changeset
71 colorscheme base16-default
329
ea82caf6c059 Added test to verify vim version (lite or full).
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
72 endif
350
47fbc05cacce vim per file control.
Edho Arief <edho@myconan.net>
parents: 339
diff changeset
73
47fbc05cacce vim per file control.
Edho Arief <edho@myconan.net>
parents: 339
diff changeset
74 if has("autocmd")
544
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
75 function In2()
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
76 set softtabstop=2 tabstop=2 shiftwidth=2 expandtab
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
77 endfunction
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
78
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
79 function In4()
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
80 set softtabstop=4 tabstop=4 shiftwidth=4 noexpandtab
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
81 endfunction
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
82
545
c9ea8dd9d382 Remove unnecessary json configs.
edogawaconan <me@myconan.net>
parents: 544
diff changeset
83 " required by syntax file
c9ea8dd9d382 Remove unnecessary json configs.
edogawaconan <me@myconan.net>
parents: 544
diff changeset
84 " reference: https://github.com/elzr/vim-json/blob/master/ftplugin/json.vim
c9ea8dd9d382 Remove unnecessary json configs.
edogawaconan <me@myconan.net>
parents: 544
diff changeset
85 let g:vim_json_syntax_conceal = 1
544
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
86
539
05785a85d603 Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents: 538
diff changeset
87 autocmd BufNewFile,BufRead *.json set filetype=json
05785a85d603 Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents: 538
diff changeset
88 autocmd BufNewFile,BufRead *.jsonp set filetype=json
541
5cdef8f4360f Cleanup file type setters.
edogawaconan <me@myconan.net>
parents: 540
diff changeset
89 autocmd BufRead,BufNewFile *.blade.php set filetype=blade
5cdef8f4360f Cleanup file type setters.
edogawaconan <me@myconan.net>
parents: 540
diff changeset
90 autocmd BufRead,BufNewFile *.coffee set filetype=coffee
5cdef8f4360f Cleanup file type setters.
edogawaconan <me@myconan.net>
parents: 540
diff changeset
91 autocmd BufRead,BufNewFile *.erb set filetype=eruby
5cdef8f4360f Cleanup file type setters.
edogawaconan <me@myconan.net>
parents: 540
diff changeset
92 autocmd BufRead,BufNewFile *.less set filetype=less
5cdef8f4360f Cleanup file type setters.
edogawaconan <me@myconan.net>
parents: 540
diff changeset
93 autocmd BufRead,BufNewFile *.scss set filetype=scss
5cdef8f4360f Cleanup file type setters.
edogawaconan <me@myconan.net>
parents: 540
diff changeset
94 autocmd BufRead,BufNewFile *.slim set filetype=slim
5cdef8f4360f Cleanup file type setters.
edogawaconan <me@myconan.net>
parents: 540
diff changeset
95 autocmd BufRead,BufNewFile Gemfile set filetype=ruby
5cdef8f4360f Cleanup file type setters.
edogawaconan <me@myconan.net>
parents: 540
diff changeset
96 autocmd BufRead,BufNewFile config.ru set filetype=ruby
5cdef8f4360f Cleanup file type setters.
edogawaconan <me@myconan.net>
parents: 540
diff changeset
97 autocmd BufRead,BufNewFile supervisord.conf set filetype=dosini
544
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
98
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
99 autocmd FileType ruby call In2()
75c30f2b4694 Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents: 542
diff changeset
100 autocmd FileType coffee call In2()
350
47fbc05cacce vim per file control.
Edho Arief <edho@myconan.net>
parents: 339
diff changeset
101 endif
412
7ceec4404caf Add restore cursor position for vim.
Edho Arief <edho@myconan.net>
parents: 410
diff changeset
102
448
e0e8de4135bc Testing for function never returns true. Replaced with autocmd.
Edho Arief <edho@myconan.net>
parents: 446
diff changeset
103 if has('autocmd')
418
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
104 "Restore cursor position
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
105 set viminfo='10,\"100,:20,%,n~/.viminfo
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
106 function! ResCur()
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
107 if line("'\"") <= line("$")
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
108 normal! g`"
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
109 return 1
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
110 endif
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
111 endfunction
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
112 augroup resCur
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
113 autocmd!
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
114 autocmd BufWinEnter * call ResCur()
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
115 augroup END
496
6bdf99bfbe97 Newer git use different filename, I think.
edogawaconan <me@myconan.net>
parents: 494
diff changeset
116 autocmd BufWinEnter */.git/COMMIT_EDITMSG exe "normal! gg"
451
abb434518e1f Always start editing git commit message from line 1.
Edho Arief <edho@myconan.net>
parents: 448
diff changeset
117 autocmd BufWinEnter .git/COMMIT_EDITMSG exe "normal! gg"
418
c0ac21407903 Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents: 412
diff changeset
118 endif
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
119
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
120 if has('statusline')
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
121 " Status line detail:
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
122 " %f file path
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
123 " %y file type between braces (if defined)
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
124 " %([%R%M]%) read-only, modified and modifiable flags between braces
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
125 " %{'!'[&ff=='default_file_format']}
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
126 " shows a '!' if the file format is not the platform
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
127 " default
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
128 " %{'$'[!&list]} shows a '*' if in list mode
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
129 " %{'~'[&pm=='']} shows a '~' if in patchmode
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
130 " (%{synIDattr(synID(line('.'),col('.'),0),'name')})
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
131 " only for debug : display the current syntax item name
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
132 " %= right-align following items
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
133 " #%n buffer number
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
134 " %l/%L,%c%V line number, total number of lines, and column number
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
135 function SetStatusLineStyle()
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
136 if &stl == '' || &stl =~ 'synID'
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
137 let &stl="%f %y%([%R%M]%)%{'!'[&ff=='".&ff."']}%{'$'[!&list]}%{'~'[&pm=='']}%=#%n %l/%L,%c%V "
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
138 else
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
139 let &stl="%f %y%([%R%M]%)%{'!'[&ff=='".&ff."']}%{'$'[!&list]} (%{synIDattr(synID(line('.'),col('.'),0),'name')})%=#%n %l/%L,%c%V "
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
140 endif
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
141 endfunc
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
142 " Switch between the normal and vim-debug modes in the status line
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
143 nmap _ds :call SetStatusLineStyle()<CR>
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
144 call SetStatusLineStyle()
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
145 " Window title
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
146 if has('title')
493
1ad9091c464e Properly set window name for vim.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
147 if &term == "screen"
1ad9091c464e Properly set window name for vim.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
148 set t_ts=]0;
1ad9091c464e Properly set window name for vim.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
149 set t_fs=
1ad9091c464e Properly set window name for vim.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
150 endif
494
229acf12b960 Better vim titlestring.
edogawaconan <me@myconan.net>
parents: 493
diff changeset
151 set title
229acf12b960 Better vim titlestring.
edogawaconan <me@myconan.net>
parents: 493
diff changeset
152 let &titlestring = $user
424
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
153 endif
b86827ee1aae Various vimrc cleanup.
Edho Arief <edho@myconan.net>
parents: 423
diff changeset
154 endif