diff --git a/roles/root-config/tasks/main.yml b/roles/root-config/tasks/main.yml
index 0a8bb1acb85f43661172ca4ba72f9394020dbf53..97ebfabde167f5a0a71a7250e8da6614d2e34b62 100644
--- a/roles/root-config/tasks/main.yml
+++ b/roles/root-config/tasks/main.yml
@@ -1,5 +1,10 @@
 ---
 - name: Create or rewrite .nanorc for root
   template:
-    src: nanorc.j2
-    dest: /root/.nanorc
+    src: '{{ item.src }}.j2'
+    dest: '/root/{{ item.dest }}'
+  loop:
+    - src: nanorc
+      dest: .nanorc
+    - src: vimrc
+      dest: .vimrc
diff --git a/roles/root-config/templates/vimrc.j2 b/roles/root-config/templates/vimrc.j2
new file mode 100644
index 0000000000000000000000000000000000000000..1c49511b04258530f788ea16c079b370bb6f2791
--- /dev/null
+++ b/roles/root-config/templates/vimrc.j2
@@ -0,0 +1,42 @@
+if has('autocmd')
+  filetype plugin indent on
+endif
+if has('syntax') && !exists('g:syntax_on')
+  syntax enable
+endif
+
+set viminfo=
+
+set autoindent
+set backspace=indent,eol,start
+set complete-=i
+set smarttab
+set tabstop=4
+set shiftwidth=4
+set expandtab
+
+set laststatus=2
+set ruler
+set showcmd
+set wildmenu
+
+set incsearch
+
+set encoding=utf-8
+
+if &listchars ==# 'eol:$'
+  set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+
+endif
+
+set formatoptions+=j
+
+set autoread
+
+if &tabpagemax < 50
+  set tabpagemax=50
+endif
+
+set whichwrap+=<,>,h,l,[,]
+
+highlight ExtraWhitespace ctermbg=lightgreen guibg=lightgreen
+match ExtraWhitespace /\s\+$/