Копия и вставка из внешнего источника

Можно использовать код в http://www.flipcode.com/archives/How_To_Find_Memory_Leaks.shtml со следующими модификациями: код, как дали только работает, если у Вас есть один большой гудящий' исходный файл. Я уладил это для другого вопроса на ТАК ( здесь ).

Для запуска, не делают изменение stdafx.h, делают Ваши модификации в Ваших собственных файлах.

Делают отдельный заголовочный файл mymemory.h и помещают Ваших прототипов функции в него, например (обратите внимание, что это не имеет никакого тело ):

inline void * __cdecl operator new(unsigned int size,
    const char *file, int line);

Также в том заголовке, помещенном другие прототипы для AddTrack (), DumpUnfreed (), и т.д., и #defines, определение типа и оператор экстерна:

extern AllocList *allocList;

Затем в новом mymemory.cpp (который также mymemory.h #include), помещает фактическое определение allocList наряду со всеми реальными функциями (не только прототипы) и добавляют что файл к Вашему проекту.

Затем #include "mymemory.h" в каждом исходном файле, в котором необходимо отследить память (вероятно, все они). Поскольку нет никаких определений в заголовочном файле, Вы не получите дубликаты во время ссылки и потому что объявления там, Вы не получите неопределенные ссылки также.

Имеют в виду, что это не отследит утечки памяти в коде, который Вы не компилируете (например, сторонние библиотеки), но он должен сообщить о Ваших собственных проблемах.

10
задан Mosh 13 October 2009 в 19:17
поделиться

5 ответов

Попробуйте следующее:

:vmap p "_xP
  • vmap означает создание сопоставления, которое применяется только в визуальном режиме.
  • p - ключ для создания сопоставления.
  • "_ - регистр черной дыры. Он используется в любой ситуации, когда вы хотите удалить текст, не затрагивая никакие регистры.
  • xP означает удаление выделенного текста, а затем вставку перед полученной позицией курсора.
6
ответ дан 4 December 2019 в 02:26
поделиться

Вы можете настроить сопоставление, чтобы облегчить вашу боль:

:vmap <F5> "zxP

Это удалит визуально выделенный текст, но поместит его в другой регистр, так что буфер обмена не будет затронут. Измените на то, что вам удобнее.

1
ответ дан 4 December 2019 в 02:26
поделиться

Я не знаю, как это сделать в Windows. В KDE в буфере обмена есть история, из которой вы можете выбирать, так что вы можете выполнить вставку, выбрать предыдущий выбор из буфера обмена и вставить в новое место.

Тем не менее, похоже, что это может иметь больше смысла чтобы вы могли иметь его только в одном месте, а затем напишите сценарий, который принимает этот ввод и создает нужный вам вывод. Не могли бы вы подробнее рассказать о том, чего вы пытаетесь достичь?

Тем не менее, похоже, что для вас может иметь больше смысла иметь его только в одном месте, а затем написать сценарий, который будет принимать этот ввод и создавать нужный вам вывод. Не могли бы вы подробнее рассказать о том, чего вы пытаетесь достичь?

Тем не менее, похоже, что для вас может иметь больше смысла иметь его только в одном месте, а затем написать сценарий, который будет принимать этот ввод и создавать нужный вам вывод. Не могли бы вы подробнее рассказать о том, чего вы пытаетесь достичь?

0
ответ дан 4 December 2019 в 02:26
поделиться

Не знаю, понял ли я вас неправильно, но я пробовал то, что вы делаете, и у меня нет проблем с этим с помощью выпадающего регистра +.

Мой рабочий процесс:

  1. скопируйте предложение во внешнем приложении (например, браузере)
  2. визуально выберите предложение в vim и замените его на "+ p или p (с буфером обмена = неназванный набор)
  3. визуально выберите другое предложение и замените его на "+ p

К сожалению, при второй вставке вам придется явно вставить из регистра +. Поэтому я бы рекомендовал сопоставление для p / P вместо использования clipboard = un named

nmap p "+p

Попробуйте использовать

:registers

, чтобы увидеть содержимое различных регистров.

1
ответ дан 4 December 2019 в 02:26
поделиться

Проверьте значение параметров "guioptions". Убедитесь, что флаг «а» не установлен. Также проверьте, что опция «буфер обмена» и убедитесь, что не установлены флаги «безымянный» или «автоматический выбор».

:set go-=a
:set clipboard-=unnamed
0
ответ дан 4 December 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: