Как установить vim в undedent, когда встречает пустую строку в Python? - PullRequest
3 голосов
/ 21 сентября 2011

Это может быть полезно, если vim может делать удаление автоматически, когда я набираю пустую строку, но кажется, что это не стандартное поведение. Это было бы особенно полезно для Python. Может ли Vim быть настроен на это?

1 Ответ

2 голосов
/ 21 сентября 2011

Я сделал несколько собственных модов indent/python.vim, чтобы включить полный отступ при вводе третьей пустой строки. Возможно, вы сможете адаптировать это к вашим потребностям.

diff --git a/python.vim b/python.vim
index 0c04e81..c60c30e 100644
--- a/python.vim
+++ b/python.vim
@@ -142,8 +142,14 @@ function GetPythonIndent(lnum)
       " If not, recommend one dedent
       return indent(plnum) - &sw
     endif
-    " Otherwise, trust the user
-    return -1
+
+       " Is user trying to break out of this function?
+       if plnum < a:lnum - 2
+         return 0
+       else
+         " Otherwise, trust the user
+         return -1
+       endif
   endif

   " If the current line begins with a keyword that lines up with "try"
@@ -186,6 +192,11 @@ function GetPythonIndent(lnum)
     return plindent
   endif

+  " Double linebreaks means we're starting a new function (probably)
+  if plnum < a:lnum - 2
+       return 0
+  endif
+
   return -1

 endfunction
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...