Да. Это является немного более замысловатым, чем удаление "старого" текста сначала, но:
я начинаюсь с..
line1
line2
line3
line4
old1
old2
old3
old4
я сдвиг + v выбирает line1, строка 2, 3 и 4, и удаляет их с командой
d Тогда, я удаляю старые 1-4 строки тот же путь.
Затем сделайте
"2p
, Это вставит предпоследние дергавшие строки (строка 1-4). "3p
сделает третье последнее, и так далее..
, Таким образом, я заканчиваю с [1 111]
line1
line2
line3
line4
Ссылка: документация Vim относительно пронумерованного регистра
Зацикливание файл неизбежно буферизует вещи довольно большими порциями - известная проблема со всеми реализациями Python 2. *. Он работает так, как вы предполагали в Python 3.1, причем последний цикл немного отличается:
for line in proc.stdout:
print(">>> " + str(line.rstrip()))
Если обновление до Python 3.1 нецелесообразно (а я знаю, что это будет часто!), Воспользуйтесь другим путем и напишите цикл в старом - модным способом - следующая версия цикла действительно работает так, как вы предполагали в Python 2. *:
while True:
line = proc.stdout.readline()
if not line:
break
print ">>> " + line.rstrip()