2009-08-29 2 views
2

Одна вещь, которая меня беспокоила vi, заключается в том, что paste (p) вставляет строки после строки, в которой я включен, что делает невозможным вставить вещи в начало файла ,vi: вставить в начало файла

Например, скажем, я прохожу и добавления объявления UTF-8 в верхней части несколько файлов:

# -*- coding: utf-8 -*- 

уу и это рывком. Хорошо.

переключиться на другой файл, чтобы получить гг до вершины, и р вставить, и я в конечном итоге с чем-то вроде этого:

import sys 
# -*- coding: utf-8 -*- 

, который не то, что я хочу.

Теперь я всегда нахожу новые вещи, которые я могу сделать с vi, поэтому я понял, что это то, что я должен был бы сделать, но просто не знал, как это сделать. Однако поиск не дает очень полезных результатов, так как все и их мать имеют кибер-таблицу vi (m), причем в ней находятся как p, так и gg. Таким образом, я прихожу к SO: возможно ли это, и если да, то как?

+0

В стороне - в основном все, что вы хотели бы сделать, возможно в vim. Некоторые интересные новые вещи, о которых я узнал в последнее время, меняют линию до определенной точки (ct ?, где? Является символом, который вы хотите изменить до), и возвращаетесь обратно в свою оболочку для выполнения команд (! Cmd, т.е. ! ls) – nfm

+0

Ну, да, я подумал, что это возможно; проблема в том, что с таким большим количеством вещей, которые вы можете сделать, иногда трудно найти то, что вы хотите в каких-либо ссылках. Я также немного ограничен в том, что я использую редактор с vi-эмуляцией, поэтому Vim-специфические вещи мне не помогают. –

ответ

22

P (столица) вставки выше/перед тем, как p (нижний) вставка ниже/после.

o и O аналогичны. o вставляет строку после текущей, а O вставляет ранее. Я часто использую эти команды.

Вы можете получить в начало файла с помощью [[, 1G, gg или :1<CR>.

+0

Очень правильно. Я помню дни не зная об этом - давным-давно. – gahooa

+0

Ах, ха! Я знал о o и O, но я не связывался с p. –

+1

@gahooa, я помню темные времена, когда я не знал о «а» и всегда использовал «я», и мне приходилось удалять символы в конце строк каждый раз, когда я хотел что-то добавить. xD – strager