Самый простой способ вычислить правильное перемещение мыши или позицию перемещения мыши на событии холста - использовать это небольшое уравнение:
canvas.addEventListener('click', event =>
{
let bound = canvas.getBoundingClientRect();
let x = event.clientX - bound.left - canvas.clientLeft;
let y = event.clientY - bound.top - canvas.clientTop;
context.fillRect(x, y, 16, 16);
});
Если холст имеет padding-left или padding-top, вычесть x и y через:
x -= parseFloat(style['padding-left'].replace('px'));
y -= parseFloat(style['padding-top'].replace('px'));
дерево КОМПЬЮТЕРНОГО ФАНАТА позволяет Вам исследовать свою файловую систему и открывать файлы и каталоги. Это представляет файловую систему Вам в форме дерева, которым Вы управляете с клавиатурой и/или мышью. Это также позволяет Вам выполнять простые операции файловой системы.
дерево может быть переключено легко с: NERDTreeToggle, который может быть отображен на более подходящем ключе. Сочетания клавиш в дереве КОМПЬЮТЕРНОГО ФАНАТА также легки и интуитивны.
Редактирование: Добавленное резюме
Я действительно люблю Плагин snippetsEmu. Это эмулирует часть поведения Отрывков от редактора OS X TextMate, в особенности переменный возврат и заменяющее поведение.
цветовая схема Zenburn и хорошие шрифты - [Droid Sans Mono] ( http://en.wikipedia.org/wiki/Droid_ (шрифт)) на Linux, Consolas в Windows.
Я использую следующие два плагина все время:
у Папы Римского Tim есть некоторые kickass плагины. Я люблю его , окружают плагин.
Taglist, плагин браузера исходного кода для Vim, в настоящее время является вершиной, оценил плагин в веб-сайт Vim и мой любимый плагин.
Очень хорошая grep замена для GVim Ack. Поисковый плагин, записанный в Perl, который бьет внутреннюю grep реализацию Vim и внешне вызванные власти, также. Это также пропусками по умолчанию любые каталоги CVS в каталоге проекта, например, '.svn'. Этот блог показывает способ интегрировать Ack с энергией.
A.vim является большим небольшим плагином. Это позволяет Вам быстро переключаться между заголовочными и исходными файлами с единственной командой. Значение по умолчанию :A
, но я повторно отобразился, оно к F2
уменьшает нажатия клавиш.
Мне действительно нравится плагин Супервкладки , он позволяет Вам использовать клавишу Tab, чтобы сделать все Ваши завершения вставки.
Я недавно начал использовать плагин, который выделяет различия в Вашем буфере от предыдущей версии в Вашей системе RCS (Подрывная деятельность, мерзавец, безотносительно). Просто необходимо нажать клавишу для переключения различного дисплея вкл\выкл. Можно найти его здесь: http://github.com/ghewgill/vim-scmdiff . Приветствующиеся патчи!
Не плагин, но я советую любому пользователю Mac переключаться на распределение MacVim , которое значительно превосходит официальный порт.
Что касается плагинов, я использовал ЛАТЕКС VIM для моего тезиса и был очень удовлетворен повышением удобства использования. Мне также нравится плагин Taglist, который использует ctags
библиотека.
Tomas Restrepo отправленный на [приблизительно 111] большие сценарии/плагины Vim . Он также указал на некоторые хорошие цветные темы на своем блоге, также. Проверьте его категория Vim .
Плагин vcscommand предоставляет глобальные команды ex для управления исходными файлами с контролем версий и поддерживает CVS, SVN и некоторые другие репозитории.
Вы можете выполнять почти все задачи, связанные с репозиториями, с помощью in vim:
* Взятие разницы текущего буфера с копией репозитория
* Добавление новых файлов
* Возврат текущего буфера в копию репозитория путем отмены локальных изменений ....
Никто еще не сказал matchit? Делает суп HTML / XML намного приятнее http://www.vim.org/scripts/script.php?script_id=39
For vim I like a little help with completions. Vim has tons of completion modes, but really, I just want vim to complete anything it can, whenver it can.
I hate typing ending quotes, but fortunately this plugin obviates the need for such misery.
Those two are my heavy hitters.
This one may step up to roam my code like an unquiet shade, but I've yet to try it.
Расширенный синтаксис JavaScript - То же, что и выше.
РЕДАКТИРОВАТЬ: Комментарии - Отличный маленький плагин для [отмены] комментариев куски текста. Включено распознавание языка ("#", "/", "/ * .. * /" и т. Д.).
Я люблю snipMate . Это похоже на snippetsEmu, но имеет гораздо лучший синтаксис для чтения (например, Textmate).
Просто назову несколько, которых я здесь не видел, но которые я все еще считаю чрезвычайно полезными:
Txtfmt (The Vim Highlighter) Снимки экрана
Плагин Txtfmt дает вам своего рода возможность выделения «форматированного текста», аналогичную той, что предоставляется редакторами RTF и текстовыми редакторами. Вы можете использовать его для добавления цветов (передний план и фон) и атрибутов форматирования (все комбинации жирного шрифта, подчеркивания, курсива и т. Д.) В ваши текстовые документы в Vim.
Преимущество этого плагина перед чем-то вроде Latex заключается в том, что с Txtfmt ваши изменения выделения видны «в реальном времени», и, как и в текстовом процессоре, выделение выполняется WYSIWYG. Txtfmt встраивает специальные токены непосредственно в файл для выполнения выделения, поэтому выделение не изменяется при перемещении файла, даже с одного компьютера на другой. Специальные токены скрыты синтаксисом; каждый отображается как единое пространство.
Мне нравятся taglist и fuzzyfinder, это очень классный плагин
Если у вас Mac, вам нужно использовать peepopen , fuzzyfinder на стероидах.
Этот сценарий основан на списке задач eclipse. Он будет искать в файле FIXME, TODO и XXX (или настраиваемый список) и помещать их в удобный список для просмотра, который в то же время обновляет местоположение в документе, чтобы вы могли точно увидеть, где находится тег. расположена. Что-то вроде интерактивного "cw"
Во время обслуживания очень большого и старого проекта C ++ я создал два плагина, и это единственные те, которые я использую:
0scan заменяет мне taglist, buflist, проводники файлов и другие вещи, такие как быстрый удобный поиск файлов.
SourceCodeObedience очень удобный просмотр cscope и ctags кода с сохраненной историей из всех ваших поисков с помощью функции «Фильтр».
Я использую их не потому, что они мои, а потому, что они выполняют всю работу и помогают мне поддерживать ~ 1 ГБ незнакомой кодовой базы.
Я беру buftabs.vim и localvimrc.vim со мной, куда бы я ни пошел!
buftabs: Минималистичные вкладки буфера, экономящие место на экране
Локальная конфигурация: Используйте разные настройки для разных каталогов.
neocomplcache, он ведет себя несколько похоже на автозаполнение scribes.