рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ VimL рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЕрдХреНрд╕рд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдХрд┐ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рд╡рд┐рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдРрдб-рдСрди рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЙрд╕реЗ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд▓реЗрдЦ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд▓рд┐рдЦрд┐рдд рдРрдб-рдСрди рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдЬреЛ рд▓реЛрдЧ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреВрд░рдХ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рд▓реЗрдЦ, рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдмрд╛рдЗрдВрдбрд┐рдВрдЧ
rebinding
рдЖрдЗрдП рдЖрдо рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ: рдкреБрди: рдмрд╛рдзреНрдпрдХрд╛рд░реАред рд╡рд┐рдо рдХреЗ рджреЛ рдореБрдЦреНрдп рдкрд░рд┐рд╡рд╛рд░ рд╣реИрдВ:
*map
рдФрд░
*noremap
ред рдкрд╣рд▓рд╛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рджрд╛рд╣рд┐рдиреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рд╡рд░реНрдзрди рдореЗрдВ, рдХреЗрд╡рд▓ рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реИред рдХреНрд▓рд╛рд╕рд┐рдХ рдЙрджрд╛рд╣рд░рдг:
noremap : ; noremap ; :
рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛
nmap <F4> :PluginToggle<CR>
рд▓реЗрдХрд┐рди рдирд╣реАрдВ
nnoremap <F4> :PluginToggle<CR>
ред рдзреНрдпрд╛рди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЖрджреЗрд╢:
*map
/ *noremap
, *noremap
/ *noreabbrev
, *menu
/ *noremenu
normal
/ normal!
call feedkeys(string)
/ call feedkeys(string, 'n')
рдЖрдк
'рд░реАрдореИрдк' рд╕реЗрдЯрд┐рдВрдЧ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рднреА рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ
*map
рд╕рднреА рдХрдорд╛рдВрдб рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
*noremap
рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЙрдирдХреЗ
*noremap
рд╕рдордХрдХреНрд╖ред рдЖрдк рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ
nnoremap <Plug>PluginAction :DoAction<CR> if !hasmapto('<Plug>PluginAction') nmap <Leader>a <Plug>PluginAction endif
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ lhs рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рдлрд╝реЙрд░реНрдо рд╕реЗ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рд╕рднреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рд╣реЛрдЧрд╛
execute 'nnoremap '.get(g:, 'plugin_action_key', '<Leader>a').' :DoAction<CR>'
рдпрд╛ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╕рдВрдЧрдд Vim
if !exists('g:plugin_action_key') let g:plugin_action_key='<Leader>a' endif execute 'nnoremap '.g:plugin_action_key.' :DoAction<CR>'
рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг
- рдмрдВрдзрди рдХреЗ рдмрд╛рдПрдВ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ <Esc> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рддреАрд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ред рднреА
nmap <Esc> <Esc>
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реИрдВред - рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рджрд╛рдИрдВ рдУрд░ рдмрд╛рдЗрдЯ 0x80 рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ - рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЗрд╕реЗ рдмрд░реНрдмрд╛рдж рдХрд░ рд╕рдХрддреА рд╣реИред рддреНрд░реБрдЯрд┐ рдЬреНрдЮрд╛рдд рдФрд░ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ ред
рдлрд╝рд╛рдЗрд▓ (<рд╕реНрдХреНрд░рд┐рдкреНрдЯ>) рдмрд╛рдЗрдВрдбрд┐рдВрдЧ
рд╡рд┐рдо рдХреЗрд╡рд▓ рдЙрди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рджрд╛рдИрдВ рдУрд░ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдУрд╡рд░рд░рд╛рдЗрдб рд╣реЛрдиреЗ рдкрд░ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реАрдорд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдЕрднрд╛рд╡) рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛
nnoremap <Plug>PluginAction :DoAction<CR> if !hasmapto('<Plug>PluginAction') nmap <Leader>a <Plug>PluginAction endif
рдпрд╛
execute 'nnoremap '.get(g:, 'plugin_action_key', '<Leader>a').' :DoAction<CR>'
рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдЖрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП
nnoremap <script> lhs rhs
рдФрд░
nnoremap lhs rhs
рдХреЙрд▓рд┐рдВрдЧ
maparg('lhs', 'n', 0, 1)
рд╡рд╣реА рд╢рдмреНрджрдХреЛрд╢ рд▓реМрдЯрд╛рдПрдЧрд╛ред рдпрд╣реА рд╣реИ, рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдХрд╣реЗ, рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЙрд╕реА
lhs
рд╕рд╛рде рдПрдХ рдФрд░ рдмрд╛рдзреНрдпрдХрд╛рд░реА
lhs
, рдФрд░ рдлрд┐рд░ рдкреБрд░рд╛рдиреЗ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдлрд┐рд░ рдлрд╝рд╛рдЗрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдареАрдХ рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рд╡рд┐рдо рдореЗрдВ рдХрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ рдЬреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░ рджреЗрдВрдЧреЗ:
рд╕рдВрдЧрддрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рд╕рдмрд╕реЗ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╕реЗрдЯрд┐рдВрдЧ
'рд╕рдВрдЧрдд' рд╣реИ ред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд╣реА рддрд░реАрдХрд╛ рдмрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдирд╛ рд╣реИ, рд╕рдВрднрд╡рддрдГ рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде:
if &compatible finish endif
рдРрдб-рдСрди рдкрд░ рджреВрд╕рд░рд╛ рд╕рдмрд╕реЗ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдкреНрд░рднрд╛рд╡
'cpoptions' рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ: рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ,
рдЖрдк рдХрдорд╛рдВрдб рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХ
рд╕рдХрддреЗ рд╣реИрдВ ,
рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ
рдмрдирд╛рддреЗ рд╣реИрдВ , рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ
рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдмреБрд░реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдирд┐рдкрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ
let s:saved_cpo=&cpo set cpo&vim <...> let &cpo=s:saved_cpo unlet s:saved_cpo
рд▓реЗрдХрд┐рди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдЖрдк рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдп рдЬреИрд╕реЗ
рдореИрдЪ * () ,
рд╕реНрдерд╛рдирд╛рдкрдиреНрди) () , рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ)ред
рдорд╛рдорд▓реЗ рдХреА рдЕрдирджреЗрдЦреА
рдПрдХ рдФрд░ "рдордЬрд╝реЗрджрд╛рд░" рд╕реЗрдЯрд┐рдВрдЧ
'рдЕрдЬреНрдЮрд╛рдирддрд╛' рд╣реИ ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдВрдЧрддрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рд░рд▓ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ:
рдЬрд╛рджреВ рдФрд░ рджреЛрд╣рд░рд╛рд╡
рдЬрдВрдЧрд▓реА рдлрд╛рдЗрд▓реЗрдВ
рд╡рд┐рд╕реНрддрд╛рд░ () ,
рдЧреНрд▓реЛрдм () рдпрд╛
рдЧреНрд▓реЛрдмрдкреИрде () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп , рдЖрдкрдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛
'рд╡рд╛рдЗрд▓реНрдбрд┐рдЧреНрдиреЛрд░' рдФрд░
'рдкреНрд░рддреНрдпрдп' рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрднреА-рдХрднреА рдпрд╣, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрдкрдпреЛрдЧреА рд╣реИред
рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕
- рдпрджрд┐ рдЖрдк 'рдЫрд┐рдкреЗ рд╣реБрдП' рдЪрд╛рд▓реВ рд░рд╣рдиреЗ рдХреЗ рдЕрднреНрдпрд╕реНрдд рд╣реИрдВ, рддреЛ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдРрдб-рдСрди рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рджреВрд╕рд░реЗ рдмрдлрд░ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП 'bufhidden' рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдмрдлрд╝рд░ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рддреЛ 'autochdir' рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдХрднреА-рдХрднреА рдпрд╣ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкреВрд░рдХ рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
- 'cdpath' рддрдм : cd рдФрд░ : lcd рдХрдорд╛рдВрдб рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдирд┐рд░рдкреЗрдХреНрд╖ рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рди рд╣реЛ рдпрд╛ рд╡рд░реНрддрдорд╛рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реЛ (рд╕реНрдкрд╖реНрдЯ
./
) рдпрд╛ рд╡рд╣ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдЬрд╣рд╛рдВ рдХрд░рдВрдЯ ( ../
) рд╕реНрдерд┐рдд рд╣реИред - ins рд░рд┐рд╡рд┐рдиреНрд╕ тАЩ рдЗрдирдкреБрдЯ рдХреА рджрд┐рд╢рд╛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдХрд╛рд░рдг, рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
execute 'normal! A'.text
рдкрд╛рда рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕реЗрдЯрд▓рд╛рдЗрди () рдпрд╛ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ let lines=split(text, "\n", 1) let lines[0]=getline('.').lines[0] call setline('.', remove(lines, 0)) if !empty(lines) call append('.', lines) endif
ред рдХрд░реНрд╕рд░ рд▓реЗ рдЬрд╛рдиреЗ рдкрд░ рднреА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкрд╛рда рдХреЛ рдЕрдВрджрд░ рдбрд╛рд▓рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЛрдб рдХреА рдХреБрдЫ рдФрд░ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред рдХрд░реНрд╕рд░ рдХреЛ рдирд╣реАрдВ рдЦреАрдВрдЪрдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред - 'рдЪрдпрди' , 'рдЪрдпрди' рдФрд░ 'рд╡рд░реНрдЪрд╕реНрд╡рд┐рдд' рднреА рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рдирдХ рд╕реЗ рдмреЗрд╣рддрд░ рдХреБрдЫ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ "рд╕реЗрдЯрд┐рдВрдЧ рд╕рд╣реЗрдЬреЗрдВ, рдЕрдкрдирд╛ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ, рдмрд╛рдд рдХрд░реЗрдВ, рдЗрд╕реЗ рд╡рд╛рдкрд╕ рд▓рд╛рдПрдВ"ред
- 'рд╢реЗрд▓' рдХреЛ рдмрджрд▓рдирд╛ рдЕрдиреНрдп
shell*
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рднреА рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░, рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ 'рд╢реЗрд▓' рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИрдВ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдпрд╣ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж "рдпрд╣ рдерд╛" тАЬрдЖрдк рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред - рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рддреЗ рд╕рдордп 'рд╕реНрдЯрд╛рд░реНрдЯрдСрдлрд▓рд╛рдЗрди' рдХрд░реНрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЙрдирдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрджрд┐ рд╡рд╣ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред
- 'wrapscan' рдЦреЛрдЬ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ
/
рдФрд░ ?
рд╕рд╣рд┐рдд рдЬрдм рдЦреЛрдЬ рдЖрджреЗрд╢ рд╕реАрдорд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ ред рдЦреЛрдЬ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ , рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдпрд╛ рдорд╛рдирдХ "рд╕рд╣реЗрдЬреЗ рдЧрдП, рдмрджрд▓реЗ, рдХрд┐рдП рдЧрдП, рдмрд╣рд╛рд▓" рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдерд╛рдиреАрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐
: рд╕реЗрдЯреНрд▓реЛрдХрд▓ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдирд╣реАрдВ рдлреЗрдВрдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕рдХреА рдорджрдж рд╕реЗ рдХрд┐рд╕реА рднреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░реЗрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░
рдмреБрдлрд╝рд▓реЗрд╡ рдЗрд╡реЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреА рдХреАрдордд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП,
рдмреБрдлрд╝рд▓реЗрд╡ рдЗрд╡реЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдЬреАрдм рдлрд╝рд╛рдЗрд▓ рдирд╛рдо
- рд╡рд┐рд╕реНрддрд╛рд░ () , рдЧреНрд▓реЛрдм (), рдпрд╛ рдЧреНрд▓реЛрдмрдкреИрде () рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░ * рдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЬрдм рдлреЙрд░реНрдо
glob('{*,.*}', 1, 1)
рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЖрдкрдХреЛ рд▓реЛрдб рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреА .
(рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рдФрд░ ..
(рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рдд рд╣реИ), рдЬрд┐рд╕реЗ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред - рдЧреНрд▓реЛрдмрдкреИрде () рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рд╡рд┐рд╕реНрддрд╛рд░ () рдФрд░ рдЧреНрд▓реЛрдм () рдлрд╝рдВрдХреНрд╢рди рдЕрдм рдПрдХ рджреВрд╕рд░реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ * рдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ POSIX рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдореЗрдВ рдПрдХ рдирдИ рд▓рд╛рдЗрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рд╡рд┐рдо рдЗрддрдирд╛ рдкреБрд░рд╛рдирд╛ рд╣реИ рдХрд┐ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк рдРрд╕реА рдлрд╝рд╛рдЗрд▓реЛрдВ (рдиреЛрдЯ, "рдЬрдВрдЧрд▓реА" рдореЗрдВ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдХрднреА рдирд╣реАрдВ рджреЗрдЦрд╛) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдмрд┐рдЧрд╛рдбрд╝рдирд╛ рд╣реИред
рдЕрдВрдХреБрд░рдг рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ
рдиреНрдпреВрд▓рд╛рдЗрдиреНрд╕ рдФрд░ рд╡рд░реНрдЯрд┐рдХрд▓ рдмрд╛рд░ рдХрд╛ рдЕрд░реНрде, рд╕рд╛рде рд╣реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрджрд░реНрдн рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ:
- рдпрджрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдорд╛рдВрдб рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП : рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ ), рддреЛ рдбрдмрд▓ рд╕реНрдЯреНрд░реЛрдХ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдХреА рд╢реБрд░реБрдЖрдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдирдИ рд░реЗрдЦрд╛ рдФрд░ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдкрдЯреНрдЯреА рджреЛ рдХрдорд╛рдВрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИ (рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рд╣реИрдВ)ред рдЖрдк рдЕрдкрдиреА рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
- рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдПрдВрдХрд░ / рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо - рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ, рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкрд╛рд░реНрд╕рд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
- рдФрд░ рдирд╣реАрдВ рддреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рдиреЗ / рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
execute "function Abc()\n DoSomething\nendfunction"
, рдпрд╣рд╛рдБ рдПрдХ рдирдИ рд▓рд╛рдЗрди рд╣рдореЗрд╢рд╛ рджреЛ рдХрдорд╛рдВрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИред - рдпрджрд┐ рдЯреАрдо рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдмрд╛рд░ рдХреЛ рдЕрдкрдиреЗ рддрд░реНрдХреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдорд╛рдирддреА рд╣реИ, рддреЛ рдиреНрдпреВрд▓рд╛рдЗрди рд╡рд░реНрдг рднреА рдЙрд╕рдХреЗ рддрд░реНрдХреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ (рд╕рд┐рд╡рд╛рдп рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреЗ)ред
- рдПрдХ рдирдИ рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмреИрдХрд╕реНрд▓реИрд╢ рдХрдорд╛рдВрдб рдХреЗ рднрд╛рдЧ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣рдо рдлрд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
%s/\n\s*\\
- рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЕрдЧрд░ рдлрд╝рд╛рдЗрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд░рд╣реА рд╣реИред рдХрд╣реАрдВ рдФрд░ рдореИрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
- рдмрд╛рдЗрдВрдбрд┐рдВрдЧ / рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░ / рдореЗрдиреВ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдорд╛рдВрдб рд╡рд┐рд╢реЗрд╖ рд╣реИрдВ: рдПрдХ рдбрдмрд▓ рд╕реНрдЯреНрд░реЛрдХ рдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдмрд╛рд░ рдлрд┐рд░ рднреА рдХрдорд╛рдВрдб рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреА рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
- рдЖрдк рдПрдХ рдЕрд▓рдЧ рд▓рд╛рдЗрди рдкрд░
endfunction
рдирд╣реАрдВ рд░рдЦ рд╕рдХрддреЗред function
рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рдж рдкрд╛рд░реНрд╕рд░ рдмрд╕ function
рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ endfunction
рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдПрдХ рдирдИ рд▓рд╛рдЗрди рдкрд░ рд╕реНрдерд┐рдд endfunction
рдХрдорд╛рдВрдб рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
* рд╕реАрдПрдордбреА
рд╕рд╣реА (Buf | рдлрд╝рд╛рдЗрд▓) рдмрдирд╛рдирд╛ (рдкрдврд╝рдирд╛ | рд▓рд┐рдЦрдирд╛) Cmd рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд▓рдЧрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдо рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдпрд╛ рд▓рд╛рдЗрди рд░реИрдкрд┐рдВрдЧ рд╡рд┐рдзрд┐ рдХрд╛ рдпрд╛ рддреЛ рд╕реНрд╡рдд: рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИ, рдпрд╛ ++ рдСрдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрд╕рд╛рди рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдорд╛рдирдХ рдРрдб-рдСрди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЧрдЬрд╝рд┐рдк-рд╕рдВрдкреАрдбрд╝рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╡рд┐рдШрдЯрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░
: рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ
рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП
рдкрдврд╝реЗрдВ ред рдпрд╣ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд▓рд╛рдЗрди рд░реИрдкрд┐рдВрдЧ рдФрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕
' рдлрд╛рдЗрд▓рдлреЙрд░реНрдореЗрдЯреНрд╕ ' рдФрд░
'рдлрд╛рдЗрд▓рдХреЗрдиреЛрдбрд┐рдВрдЧреНрд╕' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
fileencodings=utf8,cp1251
8-рдЖрд░ рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рд╕рдВрдкреАрдбрд╝рд┐рдд рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ, рдпрджрд┐
fileencodings=utf8,cp1251
рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдВрдХреБрдЪрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рддреЛ CP1251 рджреНрд╡рд╛рд░рд╛ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдЖрдкрдХреЗ рдРрдб-рдСрди рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реЛ, рддреЛ рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдореЗрдВ
v: cmdarg рд╣реИ ред рдЗрд╕ рдЪрд░ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ ++ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ ++ рдПрдиреНрдХреЛ рдФрд░ ++ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ (рдкрдврд╝рдирд╛, рдЕрдЧрд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИ) (рд╣рд╛рд▓рд╛рдВрдХрд┐
' рдлрд╛рдЗрд▓рдлреЙрд░реНрдореЗрдЯреНрд╕' рдФрд░
'рдлрд╛рдЗрд▓рдирдХреЛрдбрд┐рдВрдЧ' рдпрд╣рд╛рдВ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ
v: cmdarg рдХреЛ рдмрд╕ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
: рд╕рд╛рде
рдкрдврд╝реЗрдВ : рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ ред рдзреНрдпрд╛рди рджреЗрдВ
: рд╢реЗрд▓ рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рдкрдврд╝рддреЗ рд╕рдордп ++ рд╕реЗрдЯрд┐рдВрдЧ рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдВред
рдЧрд╝реИрд░-рдХрд╝рд╛рдиреВрдиреА рддреНрд░реБрдЯрд┐
рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдиреЗ рдЕрднреА-рдЕрднреА рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдкрдврд╝реА рд╣реИ, рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб
: рдЗрдХреЛрдЗрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ: рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдмрд╛рдзрд┐рдд
рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рд┐рдд рддреНрд░реБрдЯрд┐ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛
рдирд╣реАрдВ рд╣реИ ред рдЖрдк рдЗрд╕ рдЖрджреЗрд╢ рдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо
рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ
рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп
try echoerr 'Error' endtry
рдЖрдк рдмрд╕ рд▓рд┐рдЦреЗрдВрдЧреЗ
echoerr 'Error' " some code here
рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдЬреАрдм рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рд╣реИ рдХрд┐ "рдХреБрдЫ рдХреЛрдб" рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рдХреЛрдб рдбрд╛рд▓ рджрд┐рдпрд╛ рд╣реИ
:try
ред рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐
:try
рдмреНрд▓реЙрдХ рдореЗрдВ рдЖрдк рдХреЗрд╡рд▓ рд╡рд╣реА рдХреЛрдб рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрднреА рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
:echoerr
рдЖрдкрдиреЗ рдЕрднреА-рдЕрднреА рдЕрдкрдирд╛ рдЬреАрд╡рди рд╡реНрдпрд░реНрде рдХрд┐рдпрд╛ред
рдпрджрд┐ рдЖрдкрдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдмрд╛рдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
echohl ErrorMsg echomsg 'Error' echohl None
ред рдпрджрд┐ рдЖрдкрдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рдмрд╛рдзрд╛ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣реИ
: рдлреЗрдВрдХ ред рдФрд░ рдХреЗрд╡рд▓ рддрднреА рдЬрдм рдЖрдк рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди
рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЦреБрд╢
рди рд╣реЛрдВ :throw
, рд╡рд╣рд╛рдБ рд╣реИ
try echoerr 'Error' endtry
ред рд╕рд░рд▓
:echoerr
рдирд╣реАрдВ, рдЖрдкрдХреЛ рдЗрд╕реЗ рднреВрд▓рдирд╛ рд╣реЛрдЧрд╛ред
рдХрд╛рдлреА рдЯреЗрдХреНрд╕реНрдЯ рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ
рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд┐рд╕рдореЗрдВ рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рд╡рд┐рдо рдореЗрдВ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдкрд░ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рд╢реБрджреНрдзрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ "рд╕реБрдЦрдж" рдорд┐рдирдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдХреБрдЫ рддрдереНрдп рджрд┐рдП рдЧрдП рд╣реИрдВ:
рдЕрд╕рдорд╛рдирддрд╛
рд╕рдорд╛рдирддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рд╡рд┐рдо рдХреЗ рдкрд╛рд╕ рдЫрд╣ рдСрдкрд░реЗрдЯрд░ рд╣реИрдВ рдФрд░ рдЕрд╕рдорд╛рдирддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛:
==
, ==?
, ==#
(рдЕрд╕рдорд╛рдирддрд╛:! !=*
)ред рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ, рдЕрдЧреНрд░рдгреА, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ (рдпрджрд┐ рддрд░реНрдХ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ), рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдПред рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╣рд▓реЗ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛, рдлрд┐рд░ рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рдХреЛ рдкреВрд░реНрдгрд╛рдВрдХред рдЗрд╕рд▓рд┐рдП, "42"==42.0
, рд▓реЗрдХрд┐рди "42.1"!=42.1
, рдФрд░ "42.1"==42.0
ред
рдЧреИрд░-рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░, рдпрд╣ рдСрдкрд░реЗрдЯрд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдВрдХ, рд╕реВрдЪреА рдФрд░ рдбрд┐рдХреНрд╢рдирд░реА рдХреА рддреБрд▓рдирд╛ рдХреБрдЫ рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ (рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдореЗрдВ рдмрджрд▓ рдХрд░ :try
)редis
, is?
, is#
(рдЕрд╕рдорд╛рдирддрд╛: isnot*
) рд╣реИред рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ type(a)==type(b) && a==b
(рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреНрдпрдп рдХреЗ рд╕рд╛рде, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ)ред рдЬрдм рдЧреИрд░-рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░ (рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрджрд░реНрдн рднреА рдПрдХ рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИ) рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдкрд╣рдЪрд╛рди (рдпрд╣реА рд╣реИ, рдХрд┐ рдХреНрдпрд╛ рддрд░реНрдХ рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ), рдкрд╛рдпрдерди рдореЗрдВ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рдорд╛рди рд╣реИред рдХрднреА рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрднреА рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рддрджрдиреБрд╕рд╛рд░, рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд┐рдпрдо:
- рдХрд┐рд╕реА рднреА рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧ
is#
, is?
, isnot#
рдпрд╛ рдирд╣реАрдВ isnot?
(рдЕрдВрддрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ / рдЙрдкреЗрдХреНрд╖рд╛ рдорд╛рдорд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред - рдЧреИрд░-рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдХрд┐рд╕реА рднреА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореВрд▓реНрдп рдХреА рд╕рдорд╛рдирддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдкрд╣рдЪрд╛рди рдирд╣реАрдВ, рддреЛ
==#
, ==?
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ==?
; !=#
рдпрд╛ !=?
ред - рдСрдкрд░реЗрдЯрд░реЛрдВ
==
, is
isnot
!=
рдФрд░ isnot
рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднреВрд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рдФрд░ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЬреЛ рдЖрдкрдХреЛ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
- рдпрджрд┐ рдХреЛрдИ рдПрдХ рддрд░реНрдХ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реНрдерд┐рд░ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдХреЗрд╡рд▓ рдХреЛрдб рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк
==
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред - рдпрджрд┐ рдХреЛрдИ рдПрдХ рддрд░реНрдХ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реНрдерд┐рд░ рд╣реИ, рддреЛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЕрдЧрд▓рд╛, рдкрд┐рдЫрд▓реА рд╕реВрдЪреА рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
==#
рдореИрдВ рдЗрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ (рд╡рд┐рд╢реЗрд╖ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ) рдирдВрдмрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЬреИрд╕реЗ рдХрд┐ None
рдмрдЬрд╛рдп 0
)ред
рдХрд╛рд░реНрдпреЛрдВ
рд╡рд┐рдо рдХреА рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдп рдЪрд░ рдХреЗ рд╕рд╛рде рд╣реИ рдЬреЛ рд╕рдВрджрд░реНрдн рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕реБрдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рдЪрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
let Func=function("tr")
, рдЖрдк рд╢рд╛рдпрдж рдпрд╣ рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЪрд░ рдирд╛рдо рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдпрдерд╛ рд╡рд┐рдо рдПрдХ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рдЕрдиреНрдп, рдХрдо рдкреНрд░рд╕рд┐рджреНрдз рддрдереНрдп рд╣реИ, рдЬрд┐рд╕рдХреА рд╡рдЬрд╣ рд╕реЗ рдЖрдкрдХреЛ
рдХрднреА рднреА рдХрд┐рд╕реА рдлрдВрдХреНрд╢рди рд░реЗрдлрд░реЗрдВрд╕ рдХреЛ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рдЕрд╕рд╛рдЗрди
рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рдЕрдЧрд░ рдХрд┐рд╕реА рдиреЗ рдХрд╣реАрдВ "рдлрдВрдХ" рдлрдВрдХреНрд╢рди рдХреЛ рдбрд┐рдлрд╛рдЗрди рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╡рд┐рдо рднреА рдПрд░рд░ рджрд┐рдЦрд╛рдПрдЧрд╛ред рдлрд╝рдВрдХреНрд╢рди рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреЗрд╡рд▓ рджреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╣реИрдВ: рдЗрд╕реЗ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдпрд╛ рд╕реВрдЪреА:
let d={} let d.func=function("tr")
рд╕рд╛рде рд╣реА
function Apply(func, list) return call(a:func, a:list, {}) endfunction echo Apply(function("tr"), ["abc", "a", "d"])
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж
a:func()
рдлрд╝рдВрдХреНрд╢рдиред
рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг!
рдЖрдкрдиреЗ рджреЗрдЦрд╛ рдФрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп% рдкреНрд░рддреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ:
nnoremap <F4> :!python %<CR>
? рдпрд╣ рдПрдХ рдФрд░ рд╡рд┐рдо рдлреАрдЪрд░ рд╣реИ рдЬреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ... рдЕрдЧрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдореЗрдВ рдПрдХ рд╕реНрдерд╛рди / рд╕реНрдЯреНрд░реЛрдХ / рдбреЙрд▓рд░ (* sh) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреБрдЫ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдо рдХреЗ рдкрд╛рд╕
%:t
[ail] (рдирд╛рдо рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝рддрд╛ рд╣реИ) рдХреА рддрд░рд╣ рд╡рд░реНрддрдорд╛рди рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рдХрдИ
рд╕рдВрд╢реЛрдзрдХ рд╣реИрдВ , рд▓реЗрдХрд┐рди рд╕рдВрд╢реЛрдзрдХ,
%:E
[scape], рдЬреЛ
рд╢реЗрд▓рд╕реЗрд╕реНрдХреЗрдк () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ
рдЪрд▓рд╛рдПрдЧрд╛ , рдЙрдирдореЗрдВ рд╕реЗ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЙрд▓ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдирд╣реАрдВ рднреВрд▓рддреЗ рд╣реБрдП, рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╕реНрдХреНрд░реАрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп
() рд╢реЗрд▓рд╕реЗрд╕реНрдХреЗрдк () рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдпрд╛ рджреВрд╕рд░реЗ рдХреЗ рдмрдЬрд╛рдп рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп
:! : рдкрдврд╝реЗрдВ! : рд▓рд┐рдЦреЛ! рдФрд░ рдЕрдиреНрдп рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдмрд┐рдВрджреБ - рджреЛ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдФрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд░реВрдк рдореЗрдВред рдЙрджрд╛рд╣рд░рдг:
nnoremap <F4> :execute '!python' shellescape(@%, 1)<CR> nnoremap <F5> :call system('javac '.shellescape(expand('%')))<CR>
рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реБрд╡рд┐рдзрд╛рдПрдБ
[^\na]
рдПрдХ рдкрд░рд┐рдЪрд┐рдд рдкрдж рд╣реИ? VimL рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдк рд╕реЛрдЪрддреЗ рд╣реИрдВ: рдпрд╣ рд╕рдВрдЧреНрд░рд╣ рдХрд┐рд╕реА рднреА рдЪрд░рд┐рддреНрд░, рд╕рд╛рде рд╣реА рдПрдХ рдирдИ рд░реЗрдЦрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдорддрд▓рдм рдХрдо рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ \_[^a]
рдХреЗ рд╕рдорд╛рди рд╣реИ: рдЕрд░реНрдерд╛рддреН, рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, a
рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд╡рд░реНрдгреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░редsubstitute(str, reg, '\=expr', flags)
expr
рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдпрд╛ рд╢рд╛рдпрдж =expr
рд╕рд╛рде рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред \=
, , тАР , Vim . substitute() :s .^
┬л ┬╗ , ( \(\)
, \%(\)
) ( \|
). $
, , .- , , ( , match*() , substitute() =~* ) ┬л/ ┬╗. , . тАФ
\n
, ┬л ┬╗, ┬л ┬╗. : , . Vim ┬л ┬╗ тАФ char*.
рд╡рд┐рдо рдХреЗ рдкрд╛рд╕ рдХрдИ рд╕реНрд╡рддрдГ-рдкреВрд░реНрдг рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрдкрдиреА рдЯреАрдореЛрдВ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░: рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред рдмреЗрд╢рдХ, рдпрджрд┐ рдЖрдк рдорджрдж рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реВрдЪреА рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ -complete=dir
рдФрд░ -complete=file
, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрди рддрд░реНрдХреЛрдВ рдХрд╛ рдСрдЯреЛ-рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рд╣реИ: command -complete=dir -nargs=1 -bar Echo :echo [<f-args>] command -nargs=1 EchoN :echo [<f-args>]
:Echo abc E172: :EchoN abc ['ab c'] :Echo * E77: :Echo $HOME ['/home/zyx'] :Echo `date` ['. . 28 17:17:47 MSK 2012']
ред
рд╕рд╣рдордд рд╣реВрдБ, рдСрдЯреЛ-рдкреВрд░реНрддрд┐ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдЖрдкрдХреЛ рдЬреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рдерд╛, рд╡рд╣ рдереЛрдбрд╝рд╛ред рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдЯреАрдо рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рд╣реИред рдФрд░ рдпрд╣ рдЕрдиреНрдп рдСрдЯреЛ-рдкреВрд░реНрдг рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред