%! TeX program = lualatex
\documentclass[]{beamer} 

\setbeamercolor{title}{fg=black}
\setbeamercolor{frametitle}{fg=black}
\setbeamercolor{caption}{fg=black}
\setbeamercolor{caption name}{fg=black}

\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{itemize item}{\color{black}$\bullet$}

% packages
\usepackage{fontspec}
\setmainfont{EB Garamond}
\usefonttheme{serif}
\setmonofont[Scale=MatchLowercase]{Deja Vu Sans Mono}

\usepackage{microtype}      % Slightly tweak font spacing for aesthetics
\usepackage[english]{babel} % Language hyphenation and typographical rules

\usepackage{minted}
\usemintedstyle{algol_nu}
\usepackage{xcolor}

\usepackage{pgfplots}
\pgfplotsset{width=\textwidth,compat=1.9}

\usepackage{caption}
\newenvironment{code}{\captionsetup{type=listing, skip=0pt}}{}

\usepackage[yyyymmdd]{datetime}
\renewcommand{\dateseparator}{--}

\usepackage{titlesec}

\author{Andrew Hayes (ID: 21321503)}
\title{Why Vim is My Favourite Text Editor}
\subtitle{CT3112 Professional Skills: Assignment 01}
\institute{University of Galway}

\begin{document}

\titlegraphic{\includegraphics[width=3cm]{./images/vim_logo.png}}
\frame{\titlepage}

\begin{frame}{Introduction}
    By the end of this presentation, I intend for you to have gained an understanding of:
    \begin{itemize}
        \item   What Vim is.
        \item   The benefits of Vim.
        \item   The drawbacks of Vim.
        \item   Why I prefer Vim for all my text-editing work.
        \item   Whether or not Vim might be the right text editor for you.
    \end{itemize}
\end{frame}

\begin{frame}{What is Vim?}
    \begin{itemize}
        \item   \textbf{Vim} is terminal-based, modal text editor released in 1991, designed to be minimal \& fast to
                use.
        \item   It has a number of fast, mnemonic keybindings that make typical text-editing tasks much faster.
        \item   A \textbf{terminal-based} text editor is a text-only editor that is ran from the command line or
                terminal.
        \item   A \textbf{modal} text editor is one in which there are a number of different \textbf{modes} that the 
                editor can be in at any one time. 
    \end{itemize}
\end{frame}

\begin{frame}
    \begin{figure}[h]
        \includegraphics[width=\textwidth]{./images/screenshot.png}
        \caption{A Screenshot of Vim Being Used to Write this Presentation (in {\LaTeX})}
    \end{figure}
\end{frame}

\begin{frame}{What is a Terminal?}
    \begin{itemize}
        \item   A \textbf{terminal} is a text-based interface for a computer, originating from when computers did not
                have any graphics.
        \item   It is typically interacted with via a \textbf{command line}, where text commands are written to start
                programs.
        \item   To start Vim from the command line, simply type \mintinline{bash}{vim file_name.txt}
    \end{itemize}

    \begin{figure}[h]
        \includegraphics[width=0.4\textwidth]{./images/terminal.png}
        \caption{A Computer Terminal from 1978}
    \end{figure}
\end{frame}

\begin{frame}{What are the Vim Modes?}
    \begin{itemize}
        \item   \textbf{Normal mode} (\texttt{ESC}) is for the navigation \& manipulation of the text in the file
                being edited, via the shortcut keybindings.
                It is the default mode of the program.
        \item   \textbf{Insert mode} (\texttt{i}) is for inserting new text. This mode is similar to the
                default to the default behaviour of a more traditional text editor such as Notepad: text can be typed
                or removed with the backspace key, and navigation or selection can be done with the mouse or arrow
                keys.
        \item   \textbf{Visual mode} (\texttt{v}) is for the selection of text blocks for manipulation, with the
                selected text being highlighted, similar to selecting text with the mouse in other text editors.
                Visual mode has two sub-modes: \textbf{visual block} (\texttt{CTRL+v}) \& \textbf{visual line}
                (\texttt{V}), in which text can be selected either vertically by columns or horizontally by line.
    \end{itemize}
\end{frame}

\begin{frame}{What are the Vim Keybindings?}
    \begin{itemize}
        \item   Too many to list here!
        \item   Navigation in normal mode can be done with the \texttt{hjkl} (direction) keys, which correspond to
                the left, down, up, \& right arrow keys respectively, allowing quick navigation without removing your
                fingers from the home row.
    \end{itemize}
\end{frame}


\end{document}
