
рд╡рд┐рдо рдХреЗ рдкрд╛рд╕ рдХреБрдЫ рднреА рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдВрдпреЛрдЬрди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрдорд╛рдВрдб рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдмрдВрдж рдХрд░рдирд╛ рд╣реИред рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд┐рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдпрд╣ рдЕрдЬреАрдм рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЬрдм рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рд╡рд┐рдо рд╕реЗ рдорд┐рд▓рд╛ рддреЛ рдореЗрд░реА рдЖрдВрдЦреЗрдВ рднрд░рдкреВрд░ рддрд░реАрдХреЗ рд╕реЗ рдлрдбрд╝рдлрдбрд╝рд╛рдиреЗ рд▓рдЧреАрдВ
рдлрд╛рдЗрд▓реЗрдВ, рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ рдФрд░ рдЦреБрдж рд╕рдВрдкрд╛рджрдХ рдмрдВрдж рдХрд░рдирд╛ред рдпрд╣рд╛рдВ рдбрд┐рд▓реАрдЯ (рдХреНрд▓реЛрдЬ) рдХрдорд╛рдВрдб рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ
рдмрдлрд╝рд░ рдФрд░ рд╡рд┐рдВрдбреЛ (рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ):
- : bd [elete] - рдмрдлрд░ рд╣рдЯрд╛рдПрдВ ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдмрдлрд░ рдХреЛ рдЕрджреГрд╢реНрдп рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
рд╕реНрдореГрддрд┐ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред - : bw [ipeout] - рдореЗрдореЛрд░реА рд╕реЗ рдмрдлрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд┐рдЯрд╛ рджреЗрддрд╛ рд╣реИ
- : рдмрди [рднрд╛рд░] - рдмрдлрд░ рдХреЛ рд╕реНрдореГрддрд┐ рд╕реЗ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрдлрд░ рд╕реВрдЪреА рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
рдмреЗрдХрд╛рд░ рдЯреАрдо, рд╕рд┐рд╡рд╛рдп рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реЛ
рд╡рд┐рд╢рд╛рд▓ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдпрд╛ рдмрд╣реБрдд рдХрдо рд░реИрдоред - : рдХрд░реАрдм - рд╡рд░реНрддрдорд╛рди рд╡рд┐рднрд╛рдЬрди рдХреЛ рдмрдВрдж рдХрд░реЗрдВред рдмрдлрд╝рд░ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ
- : q [uit] - рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЯреАрдо рдХреЛ рд╡рд┐рдо рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ
рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ .vrc рдкрд░
рд╕реЗрдЯ рдкреБрд╖реНрдЯрд┐ рд╡рд┐рдХрд▓реНрдк
рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдпрд╣ рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛
рдПрдХ рдмрдлрд░ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ (рд╣рдЯрд╛рдиреЗ) рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдХрд╖реНрдЯрдкреНрд░рдж рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рдмрдЪреЗрдВ
рд╕рд╣реЗрдЬреЗ рдирд╣реАрдВ рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиред рддреНрд░реБрдЯрд┐ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛
рдмрд┐рдирд╛ рд╕рд╣реЗрдЬреЗ рдлрд╝рд╛рдЗрд▓ рдмрдВрдж рдХрд░рдирд╛ред
рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЕрд░реНрдереЛрдВ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрдкрд╛рджрдХ рдХреЗ рд▓рд┐рдП)
рдЙрдкрдпреБрдХреНрдд рдЖрджреЗрд╢
: рдмреАрдбрдмреНрд▓реНрдпреВ , рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╕рднреА рдмрдлрд░ рдХрдорд╛рдВрдб
рдЗрд╕ рд╕рдордп рдЦрд┐рдбрд╝рдХреА рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдШреГрдгрд┐рдд рдХреНрд╖рдорддрд╛ рд╣реИ
рд╡реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ (рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдпрд╣ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХрдорд╛рддреНрд░ рдЦрд┐рдбрд╝рдХреА рдирд╣реАрдВ рд╣реИ)ред
рдпрд╣ рд╕рдорд╕реНрдпрд╛
bufkill.vim рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдФрд░ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХреА рдЧрдИ рд╣реИ
: BW (: BD ,: BUN) рдХреЗ рдмрдЬрд╛рдп
: bw (: bd ,: bun) ред
рдЖрджреЗрд╢
: q рдХреЛ рд╡рд┐рдо рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реНрдерд┐рддрд┐ рдФрд░ рджреВрд░ рд╕реЗ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
рд╕рд╣рдЬред рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
: рдмрдВрдж рдХрд░реЗрдВ , рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рдмрдВрдж рдХрд░реЗрдВ
рдЕрдВрддрд┐рдо рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╡рд┐рдо рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ
рдмрдлрд░ рд╡рд┐рд▓реЛрдкрди рдХрдорд╛рдВрдб (рднрд▓реЗ рд╣реА рдмрдлрд░ рдЕрдВрддрд┐рдо рд╣реЛ)ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рд░рд┐рдХреНрдд рдмрдлрд╝рд░ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛, рдЕрдВрддрд┐рдо рд╡рд┐рдВрдбреЛ
рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдПрдХ рдЦреЗрд▓ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ "рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпрд╛
рдХрдорд╛рдВрдб рдХрд╛ рдЕрдм рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП -: bw ,: BW ,: q рдпрд╛: рдХрд░реАрдмред " рдХреЗ рдмрд╛рдж
рдордВрдЪреЛрдВ рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╣реБрдП, рдореБрдЭреЗ рдкрд╣рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдордЬрдмреВрдд рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐
рдЬреИрд╕рд╛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП рдерд╛, рдореИрдВрдиреЗ рдХрднреА рдирд╣реАрдВ рдкрд╛рдпрд╛ред рдореБрдЭреЗ рдЬреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдкрд░рд┐рдЪрд┐рдд рдерд╛ (рджреВрд╕рд░реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░)
рд╕рдВрдкрд╛рджрдХреЛрдВ) рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рддрд░реАрдХрд╛ рд╣реИ, рдФрд░ рдЦреБрдж рдХреЛ рд╡рд┐рдоред
рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рд╕рдм рдХреБрдЫ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рд╕рд╛рдорд╛рдиреНрдп" рддрд░реАрдХреЗ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рд╣реИ
рдКрдкрд░ред рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕ рддрд░рд╣ рдмрди рдЧрдпрд╛ рд╣реИ:

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ
рдЙрдирдХреЗ рд╕реНрдерд╛рди рдмреЗрд╢рдХ, рдпрд╣ рд░рд╛рдордмрд╛рдг рдирд╣реАрдВ рд╣реИ - рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ (рдмрдлрд╝рд░реНрд╕ рдирд╣реАрдВ) рдХреЛ рдЕрднреА рднреА рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧ
: рдХрд░реАрдм ред
рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
function! CountListedBuffers() let cnt = 0 for nr in range(1,bufnr("$")) if buflisted(nr) let cnt += 1 endif endfor return cnt endfunction function! SmartExit() let s:BufferToKill = bufnr('%') let s:EmptyBuffer = 0 if bufname('%') == '' && ! &modified && &modifiable if &buftype == 'nofile' && &swapfile == 0 " Is scratch buffer, not empty else let s:EmptyBuffer = 1 endif endif " Get a list of all windows which have this buffer loaded let s:WindowListWithBufferLoaded = [] let i = 1 let buf = winbufnr(i) while buf != -1 if buf == s:BufferToKill let s:WindowListWithBufferLoaded += [i] endif let i = i + 1 let buf = winbufnr(i) endwhile " Check that the buffer is last if(CountListedBuffers() < 2) let s:LastBuffer = 1 else let s:LastBuffer = 0 endif if s:LastBuffer if len(s:WindowListWithBufferLoaded) > 1 execute "close" else if ! s:EmptyBuffer execute "bw | bw" else execute "q" endif endif else let g:BufKillActionWhenBufferDisplayedInAnotherWindow="kill" execute "BW" let g:BufKillActionWhenBufferDisplayedInAnotherWindow="confirm" endif endfunction
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрдерд╛рдкрд┐рдд bufkill.vim рдЪрд╛рд╣рд┐рдПред
рдирддреАрдЬрддрди, "рд╕рдм рдХреБрдЫ рдФрд░ рд╕рдм рдХреБрдЫ рдмрдВрдж рдХрд░рдиреЗ" рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдореИрдкрд┐рдВрдЧ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
"рд╕реНрдорд╛рд░реНрдЯ" рдмрдВрдж
nmap qq: рдХреЙрд▓ рдХрд░реЗрдВ SmartExit () "рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдмрдлрд░ рдХреЛ рди рд╣рдЯрд╛рдПрдВ
nmap qw <CW> c
qq рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрдХреНрд╕рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╡рд╣реА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ
рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдХреНрдпреВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдирд╣реАрдВ рд╣реИред
рдЕрдВрдд
рдкрд░рд┐рдгрд╛рдо
рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд┐рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЖрднрд╛рд╕ рд╣реЛ рдЧрдпрд╛ рд╣реИ
рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреА рдмреИрд╕рд╛рдЦреА рдФрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛! рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛
рдкрд╛рдк рдХрд░рдирд╛ рдмреЗрд╣рдж рд░реЛрдорд╛рдВрдЪрдХ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдорд┐рдиреА-рдкреНрд▓рдЧрдЗрди рдпрд╛
рдЗрд╕ рд▓реЗрдЦ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред
PS рд╣реЛрд▓реАрд╡рд╛рд░рд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рд▓реЗрдХрд┐рди Emacs рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
PPS рдореИрдВ рдЯреИрдм (рдЯреИрдм) рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдХреНрд░реАрди рдХреЗ рднреАрддрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рднрд╛рдЬрди рд╣реИ,
рд▓реЗрдХрд┐рди рд╡реЗ рдмрдлрд╝рд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдХреЗрд╡рд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред