рд╡рд┐рдо рд╕реЗ рдмрд╛рд╣рд░ рдХреИрдВрдбреА рдмрдирд╛рдирд╛

рдЖрдкрдиреЗ рдЕрдзрд┐рдХ рд╕рдлрд▓ рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдпрд╛ рд╕рд╛рдереА рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рджрдмрд╛рд╡ рдореЗрдВ, рдПрдХ рд╣рддрд╛рд╢ рдХрджрдо рдкрд░ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ "рдкрд╣рд▓реЗ" рдФрд░ "рдмрд╛рдж рдореЗрдВ" (рдЖрдк vimtutor рдкрд╛рд╕ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ) рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдм рдЖрдк рдЕрдкрдиреА рдирдИ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ? рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрднреА рднреА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдИрдбреАрдИ рдореЗрдВ рдмреИрдареЗ рд╣реЛрдВ рдФрд░ рдЖрдкрдХреЛ "рдЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдиреЛрдЯрдмреБрдХ" рдФрд░ "рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рдо " рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рди рд╣реЛ? рдлрд┐рд░ рд╡рд╛рдкрд╕ рдмреИрдареЛ рдФрд░ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдиреАрдВрдмреВ рдкрд╛рдиреА рдбрд╛рд▓реЛ, рдЕрдм рдореИрдВ рд╕рдм рдХреБрдЫ рдЕрд▓рдорд╛рд░рд┐рдпреЛрдВ рдкрд░ рд░рдЦреВрдВрдЧрд╛ред



(рдЕрдиреБрдХреНрд░рдорд┐рдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛ рдиреАрдЪреЗ рджреА рдЧрдИ рд╣реИ)


  1. рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
  2. рдкреНрд▓рдЧрдЗрди рдкреНрд░рдмрдВрдзрдХ
  3. рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдорд┐рд▓рд╛рд╡рдЯ
  4. рд░реВрд╕реА рднрд╛рд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди
  5. рдмрд╛рд╣рд░реА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг
  6. (рдмреА) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ
  7. рдирд┐рд╖реНрдХрд░реНрд╖


рдЪрд▓реЛ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ


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


рдПрдХ рдХрд╛рд░реНрдп рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдореЗрдВ рдПрдХ рд╕рдВрдХрд▓рдХ, рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХрдВрд╕реЛрд▓, GUI рддрддреНрд╡реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдкрд╛рджрдХ, рдПрдХ рдбрд┐рдмрдЧрд░, рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдкрд╛рджрдХ рдЗрд╕ рдкрд╣реЗрд▓реА рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреБрдХрдбрд╝рд╛ рд╣реИред


рдПрдХ IDE рдПрдХ рдЬрдЧрд╣ рдкрд░ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╕реНрдерд▓ рд╣реИред рдмреЗрд╢рдХ, рд╡рд╣рд╛рдБ Emacs (рдмрд╛рдж рдореЗрдВ Emax рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд) рдЬреИрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВ, рдЬрд╣рд╛рдБ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ рдЬреЛ рдЖрдк рдЙрдЪрд┐рдд рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдПрдХ рддреИрдпрд╛рд░ рдкреИрдХреЗрдЬ рд╣реИред


" рдЕрдЧрд░ рдореБрдЭреЗ IDE рдореЗрд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ Wim рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?"


рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕рдХрд╛ рд▓реЗрдЖрдЙрдЯ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддрд░реНрдХ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдХреЗ рд▓рд┐рдП рдпрд╣ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рдкрд╛рда рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЖрдзреБрдирд┐рдХ рдЗрдореИрдХреНрд╕-рдЬреИрд╕реЗ рдорд▓реНрдЯреА-рдмрдЯрди рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, Neovim рдФрд░ VSCodeVim рдЬреИрд╕реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рд╣рд░ рдЬрдЧрд╣ рд╣реИред


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддрд░реНрдХ рд╣реИ - рдкреНрд░рджрд░реНрд╢рдиред рдЖрдИрдбреАрдИ рдореЗрдВ рдЕрдХреНрд╕рд░ рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рднрд╛рд░реА рд▓реЛрдб рдХрд░рддреА рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХрд╛ рдореИрдХрдмреБрдХ Pyharm рд╕реЗ рдПрдХ рд▓рдбрд╝рд╛рдХреВ рдХреА рддрд░рд╣ рдирд╣реАрдВ рдЪрд┐рд▓реНрд▓рд╛рддрд╛ рд╣реИ рдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ Visual Studio рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ (рдЬреЛ рдХрд┐ рдЕрд╕рдВрднрд╡ рд╣реИ, рддреЛ рдЖрдк рдореЗрд░реЗ рдЭреВрдареЗ рд╣реИрдВ) , рдФрд░ Emax рдХрд╛ рдПрдХрд▓-рд╕реВрддреНрд░рдг рдЖрдкрдХреЛ рдкрд╣рд▓реЗ Crysis рдпрд╛ STALKER рдХреА рдпрд╛рдж рдирд╣реАрдВ рджрд┐рд▓рд╛рддрд╛ рд╣реИ, рдКрд░реНрдЬрд╛ рдХреА рдЦрдкрдд рдХрд╛ рд╕рд╡рд╛рд▓ рдЕрднреА рднреА рдЙрдарддрд╛ рд╣реИ рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдФрд░ред рдмреИрдЯрд░реА рдЬреАрд╡рдиред рд▓рд┐рдирдХреНрд╕ рд╕рдореБрджрд╛рдп рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдореЗрдо рд╢рдмреНрдж "рдмреНрд▓реЛрдЯ" рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред



- рд╡рд┐рдо рдХреНрдпреЛрдВ?


рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рднреА рдЖрдХрд░реНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд╣реИ ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдПрдХ рдЖрджрдореА рджреНрд╡рд╛рд░рд╛ рдПрдХ рдирдП рдЦрд┐рд▓реМрдиреЗ рдХреА рдЫрд╛рдк рдХреЗ рддрд╣рдд рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реЛрдлреЛрдореЛрд░ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рд▓реЗрд╡рд▓ (рдЕрдиреБрдорд╛рди рдХреНрдпреЛрдВ) рдерд╛ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЗрд╕рдореЗрдВ рдЗрддрдиреА рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЕрд░реНрде рд╣реБрдЖ рдХрд┐ рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рдмреНрд▓реИрдХ рд╣реЛрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реБрдЖред рдЦреИрд░, рдХрдо рд╕реЗ рдХрдо рдордЬреЗрджрд╛рд░ рддрд╕реНрд╡реАрд░реЗрдВ рддреЛ рд╕рдлрд▓ рд░рд╣реАрдВ ...


рдПрдХ рд╕рд╛рд▓ рдХреЗ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж рдЕрдм рдореИрдВ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ?


  1. рд╡рд╣ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред рдЗрд╕рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг, рд╡рд┐рдо рдХреЗ рдкрд╛рд╕ рдЕрдиреНрдп рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЕрдиреНрдп рд╕рдВрдкрд╛рджрдХ рдЧреИрд░-рдЬрд┐рдореНрдореЗрджрд╛рд░ рд▓рдЧрддреЗ рд╣реИрдВ, рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд░реЛрдХреНрдд рдЖрдИрдбреАрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреБрдк рд╣реВрдВред
  2. рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЗ рдмрд╛рдж рддреАрд╕рд░реЗ рдбрд╛рд░реНрдХ рд╕реЛрд▓реНрд╕ рдХреЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред рдкрд╣рд▓реЗ рддреЛ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдФрд░ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЦреЗрд▓ рддреЗрдЬ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЖрд░рдкреАрдЬреА рдШрдЯрдХ рдХреА рдорджрдж рд╕реЗ рдХрдИ рдХрдард┐рди рдХреНрд╖рдгреЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддрдм рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЦреЗрд▓ рд╕рд╣реА рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рд╣реИ, рдФрд░ рд▓рдЧрднрдЧ рд╕рднреА рдмреЙрд╕ рджреВрд╕рд░реА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рд▓рдЧ рдЬрд╛рддреЗ рд╣реИрдВред
  3. рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░реЛрдЯреА рдкрд░ рднреА рдЪрд▓рддрд╛ рд╣реИ, рдЬреЛ рдмреИрдЯрд░реА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред

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


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо Wim рдХреЛ рдЧрдВрднреАрд░ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдкрд╛рдЪреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рдПрдВрдЧреЗ, рдФрд░ рдЙрд╕реЗ рдХреБрдЫ рддреГрддреАрдп-рдкрдХреНрд╖ рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рджреЛрд╕реНрддреА рдХрд░рдирд╛ рднреА рд╕рд┐рдЦрд╛рдПрдВрдЧреЗред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рд╣реБрдЖ рдерд╛, рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджрд┐рд▓рдЪрд╕реНрдк рд╕реБрдЭрд╛рд╡ рд╣реИрдВ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░реЗрдВред



рдкреНрд▓рдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЪреБрдЯрдХреБрд▓рд╛ рдбрд╛рд▓реЗрдВ


рд╣рдорд╛рд░реЗ рдорд┐рддреНрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рд╣рдерд┐рдпрд╛рд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рдХреЗрд╡рд▓ VimScript рдХреЛрдб рд╡рд╛рд▓реА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЕрдкрдиреА рдХрдорд╛рдВрдб рдлрд╛рдЗрд▓ (~ / .vimrc рдпрд╛ ~ / .config / nvim / init.vim) рд╕реЗ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд╛рдлреА рджрд░реНрджрдирд╛рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдорд╛рдирд╡ рдЬрд╛рддрд┐ рдХреЗ рдорд╣рд╛рди рджрд┐рдорд╛рдЧ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдП ... рд╡рд┐рдо рдХреЗ рд▓рд┐рдП!


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


рд╣рдорд╛рд░рд╛ рд╡рд╛рд░реНрдб рдЖрдЬ рд╡рд┐рдо-рдкреНрд▓рдЧ рд╣реЛрдЧрд╛ ред рд▓реЗрдХрд┐рди, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:


filetype plugin indent on "   , ...
"...      
set encoding=utf-8 "  UTF-8
set nocompatible "    Vi
syntax enable "  

. . Vim Neovim, . :


if empty(glob('~/.vim/autoload/plug.vim')) " vim-plug  
  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs " 
    \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 
  "   
  "    PlugInstall,     
  autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif

, , . , curl, Neovim ~/.vim ~/.local/share/nvim/site. , . Neovim :


call plug#begin('~/.vim/bundle') "     
"    
call plug#end() "  

. :


Plug '/' "    
"    ...
"...    :PlugInstall   

vim-plug , , , . , , . / , .



...




, , , 90% тАФ . , , . .


(MacVim) :





. . , Sublime Text тАФ Monokai, .


...
Plug 'ErichDonGubler/vim-sublime-monokai' "    
...

colorscheme sublimemonokai "     

( ), . , Darcula, Solarized Dark ...





status bar. , tmux WM , . Airline:


...
Plug 'vim-airline/vim-airline' "  
...

"   
let g:airline_powerline_fonts = 1 "  Powerline 
let g:airline#extensions#keymap#enabled = 0 "   
let g:airline_section_z = "\ue0a1:%l/%L Col:%c" "   
let g:Powerline_symbols='unicode' " unicode
let g:airline#extensions#xkblayout#enabled = 0 "   

Powerline , , , тАФ , . Keymap , ( ). \ue0a1 тАФ "ln", , .


Airline :



:





, . , gui Powerline. , :


"16        
set guifont=____:h16

. -, . , тАФ Fira Code, ( ). -, Devicons, Airline Nerdtree ( ) .


...
Plug 'ryanoasis/vim-devicons' "      
...

.



, Powerline , Nerd Font, Fira Code . , MacOS brew :


#  
brew tap homebrew/cask-fonts
brew cask install font-firacode-nerd-font

( GUI. , "" ):


set guifont=Fura\ Code\ Light\ Nerd\ Font\ Complete:h16 " light 

:





. ( :help) ( ). , :


set guioptions= "    GUI
set showtabline=0 "   ( FTW)

"   number    
"relativenumber -     
set number relativenumber "   .  

"wrap      
" nowrap     
set wrap linebreak nolist "    wrap...
"...     ,   

"    soft wrapping
"       ...
"...      :
set textwidth=80 " 80       

set cursorline "       

"     ,   NeoVim, ...
"...        :
set ttimeoutlen=10 "   escape 
let &t_SI.="\e[5 q" "SI =  
let &t_SR.="\e[3 q" "SR =  
let &t_EI.="\e[1 q" "EI =  
" 1 -   
"2 -  
"3 -  
"4 -  
"5 -   
"6 -   

set macligatures "    MacVim
"    


?


, , тАФ . , - , , , .


. , . тАФ , . , ( ) .


, . , gVim MacVim, ( ). :



Langmap


, , :


set langmap=;ABCDEFGHIJKLMNOPQRSTUVWXYZ,;abcdefghijklmnopqrstuvwxyz

. . , , .



Keymap


:


"    qwerty,   mac  win
set keymap=russian-jcukenmac
"     - 
set iminsert=0
"   
set imsearch=0

, тАФ тАж <C-^>тАж , . , , .


, , . , , ( ) Keymap .



Xkb-switch


. . Xkb-switch , , , MacOS. .


#     
git clone https://github.com/myshov/xkbswitch-macosx
#        $PATH
cp xkbswitch-macosx/bin/xkbswitch /usr/local/bin/xkbswitch
#     -  
git clone https://github.com/myshov/libxkbswitch-macosx
cp libxkbswitch-macosx/bin/libxkbswitch.dylib /usr/local/lib/libxkbswitch.dylib

:


...
Plug 'lyokha/vim-xkbswitch'
...

let g:XkbSwitchEnabled = 1 " 

. . Airline, Xkb-switch? , ( ) , .


. Xkb-switch , , vice versa. . .




, .



...



Slime


, тАФ Slime. Ctrl-C-C, REPL . :


...
Plug 'jpalardy/vim-slime'
...

, , Slime screens , . , tmux (, ). :


" tmux
let g:slime_target = "tmux"

"  
let g:slime_target = "vimterminal"

"  
let g:slime_target = "neovim"


Jupyter


, . Jupyter тАФ iPython, matplotlib. notebook lab, тАФ .


тАж , , Jupyter:


jupyter qtconsole --generate-config
vim ~/.jupyter/jupyter_qtconsole_config.py


#c.ConsoleWidget.include_other_output = False

, False True.


Jupyter-vim:


...
Plug 'jupyter-vim/jupyter-vim'
...

, Python ( ), ( ## #%%) Jupyter. :


jupyter qtconsole &


:JupyterConnect "  ,   

\X ( \ тАФ <localleader>) Jupyter , , \R . .


, . , :


nnoremap <leader>jc :call jupyter#Connect()<CR> " 

Jupyter , . , , , .


, , . , тАФ .



LaTeX


, , . "" " " тАФ (, ?). , .


, , ? , LaTeX! , , . Vimtex.


...
Plug 'lervag/vimtex'
...

let g:tex_flavor = 'latex' "  

"    Quickfix
let g:vimtex_quickfix_mode = 0

, .tex <localleader>ll ( :VimtexCompile), , Quickfix Location , pdf.


MacOS Preview . Zathura, , . :


#     MacOS (   XQuartz)
brew tap zegervdv/zathura
brew install zathura --with-synctex
brew install zathura-pdf-poppler

#   (   )
mkdir -p $(brew --prefix zathura)/lib/zathura
ln -s $(brew --prefix zathura-pdf-poppler)/libpdf-poppler.dylib $(brew --prefix zathura)/lib/zathura/libpdf-poppler.dylib

#     
#     Vimtex
#     
brew install xdotool

Vimtex zathura :


let g:vimtex_view_method = 'zathura'

Linux pdf. , : Vim <C-z>, zathura _.pdf & тАФ fg.



, ~/.config/zathura/zathurarc (, )


set recolor true
set recolor-darkcolor "#dcdccc"
set recolor-lightcolor "#1f1f1f"


Markdown


, LaTeX . . Markdown.


Markdown ( " ") тАФ , HTML. ( ). , , тАФ .


Livedown. тАФ vimtex markdown. . Nodejs :


#   MacOS
brew install node
# 
npm install -g livedown

:


...
Plug 'shime/vim-livedown'
...

"      
nnoremap <leader>ld :LivedownToggle<CR>

<leader>ld ( ) . , HTML , , markdown , "" .


, markdown тАФ . Markdown-preview. , Livedown, ( ). , .




, , () . , , :





. тАФ , . , .


Vim, Sublime Text . . , .


, gdb, lldb .




:make, . , , , ( ).


, YouCompleteMe , Neomake:


...
Plug 'Valloric/YouCompleteMe'
Plug 'neomake/neomake'
...
" ,  YCM     
": python3 ~/.vim/bundle/YouCompleteMe/install.py --clang-completer

let g:ycm_show_diagnostics_ui = 0 " YCM

"     Neomake
let g:neomake_cpp_clang_maker = {
   \ 'exe': 'clang++',
   \ 'args': ['-I/usr/local/include/wx-3.0', '-std=c++17'],
   \ }



<C-]>, . . ctags:


#     
ctags -R &

, ( YCM):


"       :
:YcmCompleter GoToDeclaration

, тАФ . . ...




. , .


тАФ ( , ). , , . 8 ( NeoVim ) API . , , .


AsyncRun. Vim 8, NeoVim ( ).


...
Plug 'skywind3000/asyncrun.vim'
...

nnoremap <F3> :AsyncRun ctags -R<CR>

F3 ctags. AsyncRun Quickfix. AsyncStop.


, zathura :


:AsyncRun zathura mew.pdf


Git


Git, . IDE , , , . - Fugitive, .


, , , . :Gfetch :Gpush :Make, :


command! -bang -nargs=* -complete=file Make AsyncRun -program=make @ <args>



, IDE , , , . , , . , , , - . .


, , ( NeoVim) ...



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


All Articles