CSESoc Vim Workshop =================== this site: [https://hackmd.io/s/HyVewBVW](https://hackmd.io/s/HyVewBVW) #### [CSESoc Vim Cheatsheet PDF](https://goo.gl/1OUH5p) ## Beginner _(New to Vim and haven't done vimtutor)_ Aim of today is to get you started with using Vim, and to give you the tools and resources to be able to continue to learn on your own. Start by introducing yourself to the group and sharing: what text editor have you usually used to program before? - vimtutor (type ‘vimtutor’ command in the terminal) - [vimtutor-extended](https://github.com/superjer/vimtutor-extended/blob/master/vimtutor-extended) ## Intermediate _(Have completed Vim tutor and have used Vim once or twice before)_ It can be easy to fall into bad habits early on. To form good habits to edit faster, try disabling your arrow keys and be sure to escape out of insert mode whenever you stop to think! Start out by introducing yourself and share 1 cool thing that you have learnt how to do in Vim. - [Selecting columns with visual block mode](http://vimcasts.org/episodes/selecting-columns-with-visual-block-mode/) - [Simple operations using the default register](http://vimcasts.org/episodes/simple-operations-using-the-default-register/) - [Accessing the system clipboard from Vim](http://vimcasts.org/episodes/accessing-the-system-clipboard-from-vim/) - [Modal editing: undo, redo and repeat](http://vimcasts.org/episodes/modal-editing-undo-redo-and-repeat/) - [Indentation Commands](http://vimcasts.org/episodes/indentation-commands/) - [Using the changelist and jumplist](http://vimcasts.org/episodes/using-the-changelist-and-jumplist/) - Try pair programming on [this](http://adventofcode.com/day/1) problem ## Advanced _(You use Vim and want to learn more to take it to the next level)_ One of the best ways to learn vim is to pair program with it - you learn other people's tricks Start by introducing yourself and sharing you favourite most useful vim tip or two. - [Working with buffers](http://vimcasts.org/episodes/working-with-buffers/) - [Comparing buffers with vimdiff](http://vimcasts.org/episodes/comparing-buffers-with-vimdiff/) - [Working with windows](http://vimcasts.org/episodes/working-with-windows/) - [Working with tabs](http://vimcasts.org/episodes/working-with-tabs/) - [Customising your Vim config](https://github.com/CallumHoward/cli-tools) - Try pair programming on [this](http://adventofcode.com/day/1) problem :wq