Привет. Существует такая категория браузеров ( к ней можно отнести большое количество софта, но статья только про браузеры ), которую называют «vi/vim-like». Главной их особенностью является возможность работать без мыши, используя только горячие клавиши в стиле vim. Это также означает, что изначально, как и редактор, они могут быть очень непривычны, а прирост КПД будет заметен лишь через время.
Далее я расскажу про мой путь их познания, постепенно подводя итоги.
Читать полностью »
Рубрика «vim» - 7
Vim-like браузеры
2014-08-07 в 22:09, admin, рубрики: dwb, pentadactyl, usability, uzbl, vim, vimperator, браузер, браузерыПедалируем Vim
2014-08-06 в 7:03, admin, рубрики: arduino, beetle, DIY, diy или сделай сам, made in china, vim, педаль, сделай самВ этом посте пойдёт речь о широко известной в узких кругах педали для переключения Vim из Normal mode в Insert mode и обратно. Вдохновившись примерами подобных поделок на просторах сети, я решил сделать свой вариант, с преферансом и поэтессами.
Задача
Сделать педаль, представляющую собой USB HID-устройство, при нажатии и удержании которой печатается i
, а при отпускании Esc
.
Решение
Заказать китайскую педаль PCsensor USB footswitch и запрограммировать её соответствующим образом.
Макросы в Vim
Очень странно, с одной стророны тема довольно банальная, а с другой ни тут, ни на просторах интернета не видно хорошего понимания такой важной темы, которая может иногда сильно упростить задачу редактирования текста. К написанию меня подтолкнуло обсуждение макросов в Emacs в блоге Avdi Grimm'а, где в своё время никто не смог внятно объяснить, что в Vim есть то, чего ожидает автор поста от достойного текстового редактора. Исправим это, в первую очередь в себе, а потом пойдём и скажем этим из интернета, что они не правы.
Какие задачи редактирования текста помогут решить макросы? Например, такую: вот в этой самой строке, которую вы читаете, взять и все запятые поменять на 0. Можно вспомнить регулярные выражения, но не все их любят, и уж тем более не все помнят, как вставлять с их помощью перенос строки, а если вам нужно заменять какие-то символы, которые используются в регулярных выражениях как служебные, вы уже отвлеклись от своей основной задачи и вместо редактирования текста занимаетесь написанием регулярного выражения для поиска и замены, пробуя и ошибаясь.
Макросы позволят это сделать быстрее, с меньшим отвлечением на вспоминание и написание чего-либо. Запомнить как работают макросы очень легко, и это войдёт в ваш ежедневный аресенал наряду с прыжками по тексту.
В этом топике мы научимся использовать макросы с этой самой задачей.
Давайте сначала вспомним, как это сделать вручную.
f,r0
После чего можно нажимать последовательно ;
для повторного поиска и .
для повторения предыдущего действия. Но в какой-то момент это может стать не так просто, например, вам нужно добавить пару каких-то знаков между делом. Точка уже не сработает и нужно будет опять нажимать r0
. Или этих запятых окажется довольно много, и щёлкать поочерёдно ;
и .
придётся довольно много раз. В этот момент что-то вам уже подсказывает, что такой механический труд можно автоматизировать.
Основы
Многократные повторения и рекурсивный вызов
Редактирование макросов
Вечные макросы
Всякое
Читать полностью »
VIM как IDE для разработки на Python
2014-06-02 в 18:40, admin, рубрики: python, vim, vimscript, метки: .vimrc, python, vim, vimscript
Данная статья будет посвящена настройке vim, в которой я поделюсь своим «скромным» пониманием того, каким должен быть текстовый редактор, чтобы в нем было удобно/приятно/легко (нужное подчеркнуть) писать код также, как это сейчас возможно во всевозможных IDE типа PyCharm, SublimeText и т.п.
Весь процесс постараюсь описать как можно более подробно, чтобы вопросов по мере чтения для начинающих осваивать vim возникало как можно меньше.
Читать полностью »
Почему вам стоит использовать Vim
2014-05-26 в 16:02, admin, рубрики: IDE, rubymine, sublime text, vim, Программирование, редактор кода, редакторы, метки: IDE, rubymine, sublime text, vim, редактор кода, редакторыVim — замечательный редактор, лучший выбор для программиста!
Краткий список причин, почему вам стоит его изучить:
1. Консольный интерфейс
Ваш любимый редактор готов в любой момент на любой машине.
Гуй это для девочек, настоящие программисты пользуются исключительно консолью.
2. Скроллинг
Чтобы переместиться на 42 строки ниже, достаточно просто набрать 42j, а если вы хотите пролистать документ на половину экрана ниже, тогда воспользуйтесь комбинацией Ctrl+d. И забудьте про скроллинг с использованием мыши (не говоря уже про трекпад). Просматривать код рывками без плавности интерфейса на много удобней!
3. Множественная замена (несколько курсоров)
Отличная фича! Не переживайте о том, что у вас ее нет. Вы всегда можете найти готовый плагин (тысячи их) или даже написать свой если найденный не устроит.
Читать полностью »
Храним пароли с помощью редактора vim
2014-05-20 в 7:17, admin, рубрики: password, password manager, vim, информационная безопасность, метки: password, password manager, vim
Старина Сноуден Мюллер говорил: «Верить, в наше время, нельзя никому. Порой даже, самому себе.»
Себе я не верю и пароли забываю начисто.
Онлайн-сервисам для хранения паролей не доверяю.
Есть опенсорсные программы для хранения паролей к ним доверия побольше, но лень их устанавливать, держать у себя, да и большая часть функций мне не нужна.
Vim как менеджер паролей
Neovim: современный клон текстового редактора Vim
2014-02-22 в 11:19, admin, рубрики: C89, cmake, IDE, open source, vim, Софт, метки: C89, cmake, IDE, vimVim — мощный текстовый редактор, у которого большая аудитория. Хотя программе более 20 лет, её функциональность продолжают улучшать через скрипты vimscript. Последняя версия свободного редактора Vim 7.4 вышла в августе 2013 года.
Проблема в том, что за два десятилетия Vim разросся до страшных размеров: около 300 000 строк кода на C89. «Очень мало людей могут понять этот код или имеют смелость изменять его. Есть проблема и с добавлением нового кода и патчей в Vim: единственный мейнтейнер не успевает за развитием экосистемы плагинов», — пишет бразильский программист Тиаго де Арруда Падилья (Thiago de Arruda Padilha), который создал проект Neovim — обновлённую и улучшенную версию Vim для 21 века.
Читать полностью »
Установка плагина
mkdir ~/.vim
cd ~/.vim
curl http://www.vim.org/scripts/download_script.php?src_id=21048 -o perl-support.zip
unzip perl-support.zip
rm perl-support.zip
echo "filetype plugin on" >> ~/.vimrc
yum install perl-Perl-Critic perltidy
Создание нового файла
Переводчик из меня совершенно никакой, но я просто не мог пройти мимо этой статьи, ибо она излучает волны крутости, а концентрация дзена в ней зашкаливает. Поэтому welcome.
Введение
Недавно я обнаружил интересную игру под названием VimGolf. Цель этой игры заключается в том, чтобы преобразовать кусок текста из одной формы в другую наименьшим возможным количеством нажатий клавиш. Пока я играл на этом сайте с разными пазлами, мне стало любопытно — а какие привычки редактирования текста есть у меня? Мне захотелось лучше понять способы манипулирования текстом в Vim и проверить, смогу ли я найти неэффективные моменты в моем рабочем процессе. Я провожу огромное количество времени в моем текстовом редакторе, поэтому устранение даже незначительных шероховатостей может привести к значительному увеличению производительности. В этом посте я расскажу о своем анализе и о том, как я уменьшил количество нажатий клавиш при использовании Vim. Я назвал эту игру Vim-крокет.
Читать полностью »
Как я классы в Vim писал
2014-01-31 в 7:22, admin, рубрики: vim, велосипедостроение, ооп, Программирование, прототипирование, метки: vim, велосипедостроение, ооп, прототипирование
Предисловие
Уже около четырех лет увлекаюсь языком JS, а особенно привлекает в нем прототипная реализации объектной ориентации и замыкания. Так как я большой любитель «велотренажеров» в программировании и обожаю изучать что-то новое на практических примерах, давно хотел попробовать реализовать подобное самостоятельно, и совсем недавно шанс выпал. Одним холодным зимним днем я увлекся редактором Vim и, изучая его скриптовый язык, обратил внимание на некоторые важные особенности, а именно ассоциативные массивы и передача функций по ссылки. Я не смог пройти мимо и реализовал свою прототипную объектную ориентацию в Vim с наследованием и полиморфностью.
Хочу сразу обрадовать тех, кто не знаком с синтаксисом скриптового языка Vim, я постараюсь сопровождать код подробными комментариями. Оговорюсь, что целью этой работы было не создание полноценной объектной ориентации в Vim, а практика в реализации объектной парадигмы через прототипирование. Я, конечно, пытался сделать реализацию максимально легковесной и быстрой, но все равно сомневаюсь, что полученный результат можно эффективно применять в «боевых» скриптах, потому, прошу относится к этому соответственно.