Рубрика «vim» - 6

SageMathCloud (сокращённо SMC) — это онлайновый сервис, в котором можно написать математический или любой другой расчёт в Sage или IPython Notebook. Расчёт можно комбинировать с HTML, CSS, JavaScript, CoffeeScript, Go, Fortran, Julia, Gap, Axiom, R, Ruby, Perl, Maxima, Maple, Markdown, Wiki (и это неполный список!). При редактировании поддерживается мультикурсорность, можно включить биндинги Vim или Sublime Text. Пользователю также доступна консоль Ubuntu и доступ к проекту по ssh. Можно создавать документы LaTeX и встраивать в них код на Python, который не будет отображаться в итоговом pdf. Широкие возможности позволяют написать не просто расчёт с 2D и 3D графикой, а целое интерактивное приложение или собственный веб-сервер на Flask. Можно расшарить расчёт пользователям на редактирование, и Вы будете видеть, что они меняют и даже где стоит их курсор! При этом великолепии SageMathCloud имеет открытый исходный код, который выложен на Github.

SageMathCloud — мечта для любителей Python, математики и Linux - 1

Читать полностью »

Компания, где я работаю, разрабатывает программное обеспечение на C++ под Linux. Долгое время мы использовали Qt Creator, с редкими ребятами работающими из Emacs и Vim. Когда я сам попытался пересесть на Vim, я понял, что ситуация с плагинами для разработки на С++ очень не простая. Поработав немного с CTags, я быстро понял, что без напильника работать в Vim будет очень сложно.
К сожалению, с ростом опыта работы с Vim редактор в Qt Creator в режиме эмуляции устраивал меня все меньше, и в какой-то момент я решил потратить немного времени и разобраться, как же сделать из Vim нормальную среду.
Я очертил для себя четыре вещи, которые я бы хотел от среды разработки, и которых мне бы хватило в Vim, чтобы полностью на него перейти:

1. Автодополнение
2. Навигация по коду
3. Отладка прямо из среды
4. Интеграция с Git (в частности Blame прямо в редакторе, и Git Grep)

Автодополнение в Vim — это решенная проблема, и название у решения YouCompleteMe. Это очень качественный плагин, который реализует автодополнение для большого количества языков программирования, в частности Python и C++. Ходят слухи, что внутри Google YouCompleteMe решает и вторую проблему с навигацией кода, но использует для этого внутренные инструменты гугла для индексирования.

Интеграция с Git в какой-то степени решена с помощью vim-fugitive. Это не такая комплексная интеграция, как бывает у Jet Brains, или в Visual Studio, но сравнимая с тем, что предлагает Qt Creator. Те два сценария, которые нужны были мне: blame и grep — работают хорошо.

Отладка и навигация были проблемами, решенными гораздо хуже. В этой статье я расскажу о плагине, который мы написали для навигации по С++ коду. В конце статьи я также расскажу о том, как мы для себя решили проблему с интегрированным отладчиком. Читать полностью »

Зачем это нужно

При командной разработке важным является соблюдение определенного кодинг стандарта. Речь не всегда идет об именовании переменных, функций и т.д. Перечисленное выше во многом вопрос опыта и умения формулировать мысли в тексте. Кодинг стандарт часто начинается с определения следующих вещей:

  • Пробелы или табуляция
  • Длина строки

Несоблюдение приведенных выше параметров стиля разными людьми в пределах одного файла ведет с следующим проблемам:

  • Изрезанность кода
  • Необходимость горизонтального скроллинга

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

Vim FileStyle: проверяем открытый файл на соответствие настройкам Vim - 1

Чтобы сразу при открытии файла видеть подобные проблемы, я написал небольшой плагин.
Читать полностью »

image

Горячие клавиши (или shortcuts) позволяют ускорить работу с любым продуктом — можно вспомнить известную всем комбинацию клавиш Ctrl+C/Ctrl+V, используемую для копирования и вставки. Приложения для общения не являются исключением — например, в Gmail присутствуют десятки шорткатов. Проблема с этими клавиатурными сокращениями заключается в том, что многие из них могут не работать на различных устройствах или операционных системах.

Для того, чтобы избежать таких проблем, разработчикам приходится прибегать к нестандартным решениям. Сегодня мы расскажем о том, как внедряли в сервис Kato клавиатурные сокращения, соответствующие идеологии Unix-редактора Vim.Читать полностью »

Вступление

Стартовый экран Vim содержит лишь информацию о том, как начать читать документацию по этому редактору и как правильно из него выйти. Ведь, как известно, многие инструменты имеют крутую кривую входа, а Vim к тому же еще и крутую кривую выхода. Те, кто уже научились выходить из Vim, наверняка захотят сделать стартовый экран более информативным и полезным. Чем мы и займемся.Читать полностью »

image Несмотря на провокационный заголовок, я не стремлюсь разжечь холивар. Я хочу поговорить о не используемом потенциале клавиатуры, о тех вещах, которые помогают повысить производительность программиста и избавят от лишних телодвижений в сторону мыши.
Читать полностью »

Boot to Vim (окно загрузки)

Это ответ на отличную статью от Pascal Bourguignon, в которой он рассказывает о том, как запустить Emacs с PID 1.

Как мы все знаем, никто не использует Emacs.

Предложение выше как бы намекает, что это начало очередной священной войны. Пожалуйста, начинайте. Если вам хочется что-то мне сообщить, все мои контакты у меня в блоге.

На самом деле, шутки в сторону. Я считаю, что это отличная статья, и после прочтения мне захотелось посмотреть, смогу ли я сделать что-то похожее с Vim. Не в пользовательском режиме Linux, но в действительности создав ISO для загрузки. Можно сказать, «загрузиться в Vim», если вам так хочется.
Читать полностью »

Эта публикация рассказывает о том, как экономить время при разработке для Clojure и NodeJS, а также Bash скриптов, посылая текст из vim в REPL, c использованием tmux + vim + vim-slime. Также приводятся рецепты с nodemon.

Скорее всего, vim-slime сработает и для других интерпретируемых языков (Ruby / Python / PHP / Perl ...). vim-slime также работает со screen.
На хабре достаточно освещались и vim, и tmux. Я только хотел показать, что можно получить от их комбинации.

Если вы знаете vim и tmux, и вам интересен только vim-slime — прыгайте сразу ко второй секции.

Вступление

Мы все стремимся быть производительными. После того, как код написан, мы хотим узнать, работает ли он и получить обратную связь. Мы придумали много способов ускорения обратной связи: статическое выведение типов при компиляции и в IDE, юнит-тесты, интеграционные тесты, REPL, LiveReload и т.д.

Для моих небольших проектов я использую связку REPL и юнит-тестов, что позволяет получать обратную связь мгновенно.

Я веб-разработчик. По работе и в своем проекте обычно я делаю фронтэнд и стыкующуюся с ним часть бэкэнда. В течении рабочей сессии я пишу PHP, phtml, Stylus, css, Coffeescript, Javascript, + sql запросики и пуши в гит; что обеспечивается связкой tmux и vim. Также есть пара маленьких проектов на CoffeeScript, для которых используется комбо tmux + vim + vim-slime + Coffeescript REPL. В проектной сессии увязываются Сlojure, CoffeeScript, Stylus; tmux + vim + vim-slime + Clojure REPL. Под катом я расскажу об трех сетапах для трех окружений.
Читать полностью »

О кнопке раздолбая я впервые услышал году в 2005-м. Суть устройства была в том, что нажатие спрятанной под ковром кнопки приводило к сворачиванию всех окон на мониторе, дабы внезапно нагрянувший шеф не увидел, чем вы реально занимаетесь на работе. Тогда это позиционировалось как модный гаджет для прогрессивной молодёжи.

Так бы оно и лежало в глубинах памяти, если бы не статья «Педалируем Vim». А тут как раз на столе валялись несколько аппаратных ключей на AT90USB162, что мы выпускаем для защиты своего софта.

Кнопка раздолбая и педалирование Vim
Читать полностью »

Привет. Существует такая категория браузеров ( к ней можно отнести большое количество софта, но статья только про браузеры ), которую называют «vi/vim-like». Главной их особенностью является возможность работать без мыши, используя только горячие клавиши в стиле vim. Это также означает, что изначально, как и редактор, они могут быть очень непривычны, а прирост КПД будет заметен лишь через время.
Далее я расскажу про мой путь их познания, постепенно подводя итоги.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js