diff --git a/runtime/indent/rmd.vim b/runtime/indent/rmd.vim
index 83fe4e4..8fd5725 100644
--- a/runtime/indent/rmd.vim
+++ b/runtime/indent/rmd.vim
@@ -2,7 +2,7 @@
 " Language:	Rmd
 " Author:	Jakson Alves de Aquino <jalvesaq@gmail.com>
 " Homepage:     https://github.com/jalvesaq/R-Vim-runtime
-" Last Change:	Sun Aug 19, 2018  09:14PM
+" Last Change:	Sun Mar 28, 2021  08:05PM
 
 
 " Only load this indent file when no other was loaded.
@@ -13,7 +13,7 @@
 let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
 let b:did_indent = 1
 
-setlocal indentkeys=0{,0},:,!^F,o,O,e
+setlocal indentkeys=0{,0},<:>,!^F,o,O,e
 setlocal indentexpr=GetRmdIndent()
 
 if exists("*GetRmdIndent")
@@ -23,6 +23,21 @@
 let s:cpo_save = &cpo
 set cpo&vim
 
+" Simple Python indentation algorithm
+function s:GetPyIndent()
+  let plnum = prevnonblank(v:lnum - 1)
+  let pline = getline(plnum)
+  let cline = getline(v:lnum)
+  if pline =~ '^s```\s*{\s*python '
+    return 0
+  elseif pline =~ ':$'
+    return indent(plnum) + &shiftwidth
+  elseif cline =~ 'else:$'
+    return indent(plnum) - &shiftwidth
+  endif
+  return indent(plnum)
+endfunction
+
 function s:GetMdIndent()
   let pline = getline(v:lnum - 1)
   let cline = getline(v:lnum)
@@ -37,13 +52,14 @@
 endfunction
 
 function s:GetYamlIndent()
-  let pline = getline(v:lnum - 1)
+  let plnum = prevnonblank(v:lnum - 1)
+  let pline = getline(plnum)
   if pline =~ ':\s*$'
-    return indent(v:lnum) + shiftwidth()
+    return indent(plnum) + shiftwidth()
   elseif pline =~ '^\s*- '
     return indent(v:lnum) + 2
   endif
-  return indent(prevnonblank(v:lnum - 1))
+  return indent(plnum)
 endfunction
 
 function GetRmdIndent()
@@ -52,9 +68,11 @@
   endif
   if search('^[ \t]*```{r', "bncW") > search('^[ \t]*```$', "bncW")
     return s:RIndent()
-  elseif v:lnum > 1 && search('^---$', "bnW") == 1 &&
-        \ (search('^---$', "nW") > v:lnum || search('^...$', "nW") > v:lnum)
+  elseif v:lnum > 1 && (search('^---$', "bnW") == 1 &&
+        \ (search('^---$', "nW") > v:lnum || search('^\.\.\.$', "nW") > v:lnum))
     return s:GetYamlIndent()
+  elseif search('^[ \t]*```{python', "bncW") > search('^[ \t]*```$', "bncW")
+    return s:GetPyIndent()
   else
     return s:GetMdIndent()
   endif
