VimL рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ VimL рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЕрдХреНрд╕рд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдХрд┐ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рд╡рд┐рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдРрдб-рдСрди рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЙрд╕реЗ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд▓реЗрдЦ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд▓рд┐рдЦрд┐рдд рдРрдб-рдСрди рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдЬреЛ рд▓реЛрдЧ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреВрд░рдХ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рд▓реЗрдЦ, рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдмрд╛рдЗрдВрдбрд┐рдВрдЧ

rebinding


рдЖрдЗрдП рдЖрдо рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ: рдкреБрди: рдмрд╛рдзреНрдпрдХрд╛рд░реАред рд╡рд┐рдо рдХреЗ рджреЛ рдореБрдЦреНрдп рдкрд░рд┐рд╡рд╛рд░ рд╣реИрдВ: *map рдФрд░ *noremap ред рдкрд╣рд▓рд╛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рджрд╛рд╣рд┐рдиреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рд╡рд░реНрдзрди рдореЗрдВ, рдХреЗрд╡рд▓ рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реИред рдХреНрд▓рд╛рд╕рд┐рдХ рдЙрджрд╛рд╣рд░рдг:
 noremap : ; noremap ; : 
рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛
 nmap <F4> :PluginToggle<CR> 
рд▓реЗрдХрд┐рди рдирд╣реАрдВ
 nnoremap <F4> :PluginToggle<CR> 
ред рдзреНрдпрд╛рди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЖрджреЗрд╢:
рдЖрдк 'рд░реАрдореИрдк' рд╕реЗрдЯрд┐рдВрдЧ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рднреА рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ *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>' 

рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг



рдлрд╝рд╛рдЗрд▓ (<рд╕реНрдХреНрд░рд┐рдкреНрдЯ>) рдмрд╛рдЗрдВрдбрд┐рдВрдЧ


рд╡рд┐рдо рдХреЗрд╡рд▓ рдЙрди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рджрд╛рдИрдВ рдУрд░ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдУрд╡рд░рд░рд╛рдЗрдб рд╣реЛрдиреЗ рдкрд░ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реАрдорд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдЕрднрд╛рд╡) рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛
 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 
рд▓реЗрдХрд┐рди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдЖрдк рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдп рдЬреИрд╕реЗ рдореИрдЪ * () , рд╕реНрдерд╛рдирд╛рдкрдиреНрди) () , рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ)ред

рдорд╛рдорд▓реЗ рдХреА рдЕрдирджреЗрдЦреА


рдПрдХ рдФрд░ "рдордЬрд╝реЗрджрд╛рд░" рд╕реЗрдЯрд┐рдВрдЧ 'рдЕрдЬреНрдЮрд╛рдирддрд╛' рд╣реИ ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдВрдЧрддрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рд░рд▓ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ:

рдЬрд╛рджреВ рдФрд░ рджреЛрд╣рд░рд╛рд╡



рдЬрдВрдЧрд▓реА рдлрд╛рдЗрд▓реЗрдВ


рд╡рд┐рд╕реНрддрд╛рд░ () , рдЧреНрд▓реЛрдм () рдпрд╛ рдЧреНрд▓реЛрдмрдкреИрде () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп , рдЖрдкрдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ 'рд╡рд╛рдЗрд▓реНрдбрд┐рдЧреНрдиреЛрд░' рдФрд░ 'рдкреНрд░рддреНрдпрдп' рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрднреА-рдХрднреА рдпрд╣, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрдкрдпреЛрдЧреА рд╣реИред

рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕



рд╕реНрдерд╛рдиреАрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕


рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ : рд╕реЗрдЯреНрд▓реЛрдХрд▓ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдирд╣реАрдВ рдлреЗрдВрдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕рдХреА рдорджрдж рд╕реЗ рдХрд┐рд╕реА рднреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░реЗрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдмреБрдлрд╝рд▓реЗрд╡ рдЗрд╡реЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреА рдХреАрдордд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдмреБрдлрд╝рд▓реЗрд╡ рдЗрд╡реЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдЬреАрдм рдлрд╝рд╛рдЗрд▓ рдирд╛рдо


рдЕрдВрдХреБрд░рдг рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдиреНрдпреВрд▓рд╛рдЗрдиреНрд╕ рдФрд░ рд╡рд░реНрдЯрд┐рдХрд▓ рдмрд╛рд░ рдХрд╛ рдЕрд░реНрде, рд╕рд╛рде рд╣реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрджрд░реНрдн рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ:
  1. рдпрджрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдорд╛рдВрдб рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП : рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ ), рддреЛ рдбрдмрд▓ рд╕реНрдЯреНрд░реЛрдХ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдХреА рд╢реБрд░реБрдЖрдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдирдИ рд░реЗрдЦрд╛ рдФрд░ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдкрдЯреНрдЯреА рджреЛ рдХрдорд╛рдВрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИ (рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рд╣реИрдВ)ред рдЖрдк рдЕрдкрдиреА рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
  2. рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдПрдВрдХрд░ / рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо - рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ, рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкрд╛рд░реНрд╕рд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
  3. рдФрд░ рдирд╣реАрдВ рддреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рдиреЗ / рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
     execute "function Abc()\n DoSomething\nendfunction" 
    , рдпрд╣рд╛рдБ рдПрдХ рдирдИ рд▓рд╛рдЗрди рд╣рдореЗрд╢рд╛ рджреЛ рдХрдорд╛рдВрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИред
  4. рдпрджрд┐ рдЯреАрдо рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдмрд╛рд░ рдХреЛ рдЕрдкрдиреЗ рддрд░реНрдХреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдорд╛рдирддреА рд╣реИ, рддреЛ рдиреНрдпреВрд▓рд╛рдЗрди рд╡рд░реНрдг рднреА рдЙрд╕рдХреЗ рддрд░реНрдХреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ (рд╕рд┐рд╡рд╛рдп рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреЗ)ред
  5. рдПрдХ рдирдИ рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмреИрдХрд╕реНрд▓реИрд╢ рдХрдорд╛рдВрдб рдХреЗ рднрд╛рдЧ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣рдо рдлрд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
     %s/\n\s*\\// 
  6. рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЕрдЧрд░ рдлрд╝рд╛рдЗрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд░рд╣реА рд╣реИред рдХрд╣реАрдВ рдФрд░ рдореИрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
  7. рдмрд╛рдЗрдВрдбрд┐рдВрдЧ / рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░ / рдореЗрдиреВ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдорд╛рдВрдб рд╡рд┐рд╢реЗрд╖ рд╣реИрдВ: рдПрдХ рдбрдмрд▓ рд╕реНрдЯреНрд░реЛрдХ рдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдмрд╛рд░ рдлрд┐рд░ рднреА рдХрдорд╛рдВрдб рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреА рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
  8. рдЖрдк рдПрдХ рдЕрд▓рдЧ рд▓рд╛рдЗрди рдкрд░ 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 рдирд╣реАрдВ, рдЖрдкрдХреЛ рдЗрд╕реЗ рднреВрд▓рдирд╛ рд╣реЛрдЧрд╛ред

рдХрд╛рдлреА рдЯреЗрдХреНрд╕реНрдЯ рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ

рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд┐рд╕рдореЗрдВ рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рд╡рд┐рдо рдореЗрдВ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдкрд░ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рд╢реБрджреНрдзрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ "рд╕реБрдЦрдж" рдорд┐рдирдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдХреБрдЫ рддрдереНрдп рджрд┐рдП рдЧрдП рд╣реИрдВ:

рдЕрд╕рдорд╛рдирддрд╛

рд╕рдорд╛рдирддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рд╡рд┐рдо рдХреЗ рдкрд╛рд╕ рдЫрд╣ рдСрдкрд░реЗрдЯрд░ рд╣реИрдВ рдФрд░ рдЕрд╕рдорд╛рдирддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛:
рддрджрдиреБрд╕рд╛рд░, рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд┐рдпрдо:
  1. рдХрд┐рд╕реА рднреА рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧ is# , is? , isnot# рдпрд╛ рдирд╣реАрдВ isnot? (рдЕрдВрддрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ / рдЙрдкреЗрдХреНрд╖рд╛ рдорд╛рдорд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред
  2. рдЧреИрд░-рд╕реНрдХреЗрд▓рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдХрд┐рд╕реА рднреА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореВрд▓реНрдп рдХреА рд╕рдорд╛рдирддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдкрд╣рдЪрд╛рди рдирд╣реАрдВ, рддреЛ ==# , ==? рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ==? ; !=# рдпрд╛ !=? ред
  3. рдСрдкрд░реЗрдЯрд░реЛрдВ == , is isnot != рдФрд░ isnot рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднреВрд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рдФрд░ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЬреЛ рдЖрдкрдХреЛ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
  1. рдпрджрд┐ рдХреЛрдИ рдПрдХ рддрд░реНрдХ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реНрдерд┐рд░ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдХреЗрд╡рд▓ рдХреЛрдб рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк == рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  2. рдпрджрд┐ рдХреЛрдИ рдПрдХ рддрд░реНрдХ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реНрдерд┐рд░ рд╣реИ, рддреЛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  3. рдЕрдЧрд▓рд╛, рдкрд┐рдЫрд▓реА рд╕реВрдЪреА рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред ==# рдореИрдВ рдЗрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ (рд╡рд┐рд╢реЗрд╖ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ) рдирдВрдмрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЬреИрд╕реЗ рдХрд┐ 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> 

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реБрд╡рд┐рдзрд╛рдПрдБ


рд╡рд┐рдо рдХреЗ рдкрд╛рд╕ рдХрдИ рд╕реНрд╡рддрдГ-рдкреВрд░реНрдг рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрдкрдиреА рдЯреАрдореЛрдВ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░: рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред рдмреЗрд╢рдХ, рдпрджрд┐ рдЖрдк рдорджрдж рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реВрдЪреА рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ -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'] 
редрд╕рд╣рдордд рд╣реВрдБ, рдСрдЯреЛ-рдкреВрд░реНрддрд┐ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдЖрдкрдХреЛ рдЬреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рдерд╛, рд╡рд╣ рдереЛрдбрд╝рд╛ред рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдЯреАрдо рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рд╣реИред рдФрд░ рдпрд╣ рдЕрдиреНрдп рдСрдЯреЛ-рдкреВрд░реНрдг рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред


Source: https://habr.com/ru/post/In149919/


All Articles