diff --git a/.vim/ftplugin/python.vim b/.vim/ftplugin/python.vim
index c0e3390c183a72445d1eae5ded4fb5082cf2c10d..63df0a54295d54cbf0c639603186fe5fc98998f1 100644
--- a/.vim/ftplugin/python.vim
+++ b/.vim/ftplugin/python.vim
@@ -1,4 +1,5 @@
 " Python specific settings.
+" --- Config ---{{{
 setlocal colorcolumn=80
 setlocal encoding=utf-8 
 setlocal fileformat=unix 
@@ -6,9 +7,27 @@ setlocal foldlevel=99
 setlocal foldmethod=indent 
 setlocal formatoptions=croql
 setlocal textwidth=79 
+nnoremap <space> za
+vnoremap <buffer> <localleader>cc :s/^/#<cr>
+vnoremap <buffer> <localleader>cu :s/^#//<cr>
+" set foldmethod=indent
+let python_highlight_all=1
+" Use the below highlight group when displaying bad whitespace is desired.
+highlight BadWhitespace ctermbg=red guibg=red
 
-" Coc recomended settings ------------------ {{{
+" Display tabs at the beginning of a line in Python mode as bad.
+autocmd BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/
+
+" Make trailing whitespace be flagged as bad.
+autocmd BufRead,BufNewFile *.py,*.pyw match BadWhitespace /\s\+$/
+
+" Remove trailing whitespace 
+autocmd BufWritePre *.py,*.pyw %s/\s\+$//e
+" }}}
+
+" --- Coc recomended settings --- {{{
 " if hidden is not set, TextEdit might fail.
+if has_key(plugs,'coc.nvim')
 set hidden
 
 " Some servers have issues with backup files, see #649
@@ -136,8 +155,11 @@ nnoremap <silent> <space>j  :<C-u>CocNext<CR>
 nnoremap <silent> <space>k  :<C-u>CocPrev<CR>
 " Resume latest coc list
 nnoremap <silent> <space>p  :<C-u>CocListResume<CR>
-" }}}
+endif
+"za }}}
 
+"--- vim-slime --- {{{
+if has_key(plugs,'vim-slime)'
 let g:slime_target = "vimterminal"
 let g:slime_vimterminal_config = {"term_name":"REPL" , "vertical" : "1"}
 let g:slime_vimterminal_cmd = "ipython"
@@ -159,18 +181,21 @@ imap <s-f5> <c-o>:%SlimeSend<CR>
 " imap <F5> <esc>:w<CR>:!clear;python3 %<CR>
 " nmap <F5> :w<CR>:!clear;python3 %<CR>
 " nmap <F6> :w<CR>:!python3 % 
+endif
+" }}}
 
-nnoremap <space> za
-vnoremap <buffer> <localleader>cc :s/^/#<cr>
-vnoremap <buffer> <localleader>cu :s/^#//<cr>
-
+"--- Rope --- {{{
+if has_key(plugs, 'ropevim')
 " let ropevim_vim_completion=1
 " let ropevim_extended_complete=1
 " let g:ropevim_autoimport_modules = ["os", "shutil"]
 " setlocal omnifunc=RopeCompleteFunc
 " let g:ropevim_prefer_py3=1
 " let b:ropevim_prefer_py3=1
+endif
+" }}}
 
+" --- Pyls --- {{{
 " if executable('pyls')
 "     au User lsp_setup call lsp#register_server({
 "         \ 'name': 'pyls',
@@ -178,7 +203,10 @@ vnoremap <buffer> <localleader>cu :s/^#//<cr>
 "         \ 'whitelist': ['python'],
 "         \ })
 " endif
+" }}}
 
+" --- vim-lsc --- {{{
+if has_key(plugs, 'vim-lsc')
 "     lsc   let g:lsc_server_commands = {
 "     lsc    \  'python': {
 "     lsc    \    'command': 'pyls',
@@ -197,10 +225,11 @@ vnoremap <buffer> <localleader>cu :s/^#//<cr>
 "     lsc   let g:lsc_enable_diagnostics   = v:false
 "     lsc   let g:lsc_reference_highlights = v:false
 "     lsc   let g:lsc_trace_level          = 'off'
+endif
+: }}}
 
-" set foldmethod=indent
-let python_highlight_all=1
-"
+" --- ALE --- {{{
+if has_key(plugs,'ale')
 " " Check Python files with flake8 and pylint.
 " let b:ale_linters = ['pyls', 'flake8', 'pylint', 'pycodestyle', 'pydocstyle', 'bandit', 'mypy', 'prospector', 'pyflakes', 'pylama', 'pyre', 'vulture']
 " 
@@ -209,17 +238,6 @@ let python_highlight_all=1
 " 
 " " Disable warnings about trailing whitespace for Python files.
 " let b:ale_warn_about_trailing_whitespace = 0
-
-" Use the below highlight group when displaying bad whitespace is desired.
-highlight BadWhitespace ctermbg=red guibg=red
-
-" Display tabs at the beginning of a line in Python mode as bad.
-autocmd BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/
-
-" Make trailing whitespace be flagged as bad.
-autocmd BufRead,BufNewFile *.py,*.pyw match BadWhitespace /\s\+$/
-
-" Remove trailing whitespace 
-autocmd BufWritePre *.py,*.pyw %s/\s\+$//e
-
+endif
+" }}}
 
diff --git a/.vimrc b/.vimrc
index 9e964ea5b93696c833170d20b98f97d5ac3ef7b5..1744d39b115621dd15f3b4e53fc2a2ea7e21e9c8 100644
--- a/.vimrc
+++ b/.vimrc
@@ -1,6 +1,6 @@
 " ~/.vimrc (configuration file for vim only){{{
 "
-" Plugged Plugins -------------------------{{{
+" Plugged Plugins --- {{{
 call plug#begin('~/.vim/plugged')
 "
 " Plug 'dense-analysis/ale'
@@ -50,7 +50,7 @@ call plug#end()
 
 " }}}
 
-" Configuration settings ------------------{{{
+" Configuration settings --- {{{
 "
 " allow backspacing over everything in insert mode
 set autoindent      " always set autoindenting on
@@ -81,10 +81,13 @@ filetype indent on
 
 syntax on
 syntax enable
+" }}}
 
 " -----------------------------------------------------------------{{{
 " Solarized8 Colorscheme Config
 " ------------------------------------------------------------------
+" --- solarized8 --- {{{
+if has_key(plugs, 'vim-solarized8')
 colorscheme solarized8_high
 let g:solarized_diffmode = "high"
 let g:solarized_enable_extra_hi_groups = 0
@@ -122,6 +125,7 @@ if &diff
         autocmd VimResized * wincmd =
     augroup END
 endif
+endif
 " }}}
 " }}}