Assassin’s Creed: Odyssey has been received to fan fanfares, with players and critics alike praising the game. Odyssey is continuing to move the Assassin’s Creed series into the action RPG territory, which in part is responsible for the praise the latest installment in the series has received.
However, the way Assassin’s Creed: Odyssey handles protagonist leveling and player progression leaves to be desired.
Leveling systems in role-playing video games come from tabletop RPGs. Levels in table-top games serve several purposes:
- Showcase character progression. Character level increases, they now can dish out more damage and take more beating. It feels like they became stronger by overcoming in-game challenges.
- Something else here, right?
In addition, video games leverage leveling systems to solve a few more problems:
- Control player progression.
Vim comes with a set of often outdated and counter-intuitive defaults. Vim has been around for around 30 years, and it only makes sense that many defaults did not age well.
Neovim addresses this issue by being shipped with many default options tweaked for modern editing experience. If you can’t or don’t want to use Neovim - I highly recommend setting some these defaults in your
if !has('nvim') set nocompatible syntax on set autoindent set autoread set backspace=indent,eol,start set belloff=all set complete-=i set display=lastline set formatoptions=tcqj set history=10000 set incsearch set laststatus=2 set ruler set sessionoptions-=options set showcmd set sidescroll=1 set smarttab set ttimeoutlen=50 set ttyfast set viminfo+=! set wildmenu endif
The defaults above enable some of the nicer editor features, like
autoindent (respecting existing indentation),
incsearch (search as you type), or
wildmenu (enhanced command-line completion). The defaults also smooth out some historical artifacts, like unintuitive backspace behavior. Keep in mind, this breaks compatibility with some older Vim versions (but it’s unlikely to be a problem for most if not all users).
If you’re using a custom color scheme (why wouldn’t you?) in conjunction with a terminal mode in Vim (again, why wouldn’t you?), you may have noticed that the terminal status bar has no respect for your color scheme.
:term, and you’ll be greeted to the default status bar:
Since terminal mode is still in beta in Vim 8.1, we have to manually set the highlighting groups. It’ll require a bit of digging.
Navigate to the directory containing your current color scheme. Depending on the plugin manager, the color schemes are located in different places. On Linux, default color schemes often live in
/usr/share/vim/vimcurrent/colors. In this example, I’m using PaperColor scheme, and I have it installed using vim-plug in
colors/PaperColor.vim is the file we’re looking for.
StatusLineNC (tip: you can do a whole word search in Vim by running
/\<StatusLine\>), and note the values used (you might have to jump through a few variables if the color scheme author decided to be fancy). You’re interested in
You might find something like this:
hi StatusLine ctermbg=24 ctermfg=254 guibg=#004f87 guifg=#e4e4e4 hi StatusLineNC ctermbg=252 ctermfg=238 guibg=#d0d0d0 guifg=#444444
Copy those lines to your
StatusLineTerm, and change
" Manually set the status line color. hi StatusLineTerm ctermbg=24 ctermfg=254 guibg=#004f87 guifg=#e4e4e4 hi StatusLineTermNC ctermbg=252 ctermfg=238 guibg=#d0d0d0 guifg=#444444
:w | so %), and the terminal mode status line should have the same colors as your color scheme:
hi is a shorthand for
highlight, which is used to define highlight group colors.
StatusLineTermNC define the highlight groups for terminal mode status line (in active and inactive windows respectively). Options
guibg define the background color, and
guifg are responsible for the foreground (text) color.
Over the past six to nine months I’ve been working on a book - Mastering Vim. Mastering Vim is a passion project which is meant to take the reader (you) from zero to a hero (future you): from knowing nothing about Vim, to becoming a power user. I cover many of Vim’s mysterious commands, philosophy behind the beloved editor, configuration tips, a plethora of community created plugins, as well as creating your own plugins.
Mastering Vim was written with support from Packt Publishing and was kindly reviewed by Bram Moolenaar (website) - the creator of Vim. Many people made this book possible, including VimConf Japan crew, who kindly hosted me earlier this year. Thank you to everyone for making Mastering Vim happen!
Give it a read and let me know what you think, Mastering Vim is available on Amazon!
P.S: This post, like many others, is written in Vim.
I’ve recently switch to vim-plug, a lightweight Vim plugin manager.
It comes with a little
.vimrc snippet which downloads the plugin, but it only works for Unix. I use Vim across all three platforms regularly, so I updated the snippet:
" Download and install vim-plug (cross platform). if empty(glob( \ '$HOME/' . (has('win32') ? 'vimfiles' : '.vim') . '/autoload/plug.vim')) execute '!curl -fLo ' . \ (has('win32') ? '\%USERPROFILE\%/vimfiles' : '$HOME/.vim') . \ '/autoload/plug.vim --create-dirs ' . \ 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' autocmd VimEnter * PlugInstall --sync | source $MYVIMRC endif
The above should work across all three major OSes, since Windows 10 recently received