PostgreSQL coub express.js freeware git jquery laravel links linux macos mysql node.js php powershell python ubuntu vim virtualbox анекдот блог игры интересно стихи цитаты

Проблема: в vim ломается цветовая схема под screen в терминале (у меня стандартный терминал прижился, но похоже в iTerm тоже самое).
Коротко решение - установить screen из brew и убедиться что загружен именно он. Никакие игры с $TERM тут не помогут просто, проблема в самом screen-e.
### default mac os (10.10) screen
$ /usr/bin/screen -v
Screen version 4.00.03 (FAU) 23-Oct-06
### brew screen
$ /usr/local/bin/screen -v
Screen version 4.02.01 (GNU) 28-Apr-14
### default screen have to be
$ which screen
/usr/local/bin/screen
Thank's to Phillip Hallstrom After much googling I figured out that the default ‘screen’ in OSX doesn’t support 256 colors. Annoying.


А дело в том что включен автоиндент. Он и пытается "всё исправить". Вариант решения такой может быть
# перед вставкой кода
:set paste
# после вставки
:set nopaste
vim


Поскольку с регистрами я до сих пор не разобрался, забываю эту ерунду постоянно. В визуальном режиме выбираем область для копирования и выполняем команду ниже
"+y
# для копирования в консоль под линукс, почему-то работает этот регистр
"*y
На эту тему есть небольшой скринкаст.
vim


Вообще элементарная штука, но полезная, можно прикрутить что-то при необходимости. Суть простая - читаем результат какой-то команды выполненной в консоли и вставляем его в текущий открытый файл и положение курсора в этом файле соответственно.
В виме смотрим короткое описание :h read + помним что выполнение внешней команды в виме начинается с восклицательного знака :!ls -1
Итого имеем вот такие примеры использования
:r!ls -l1
:r!fortune
:r!df -H
:r!date +\%F_\%H_\%M
С учетом того что команды мы можем повесить на выбранные хоткеи или их последовательности/комбинации, то возможность на мой взгляд достаточно интересная.
vim



А теперь по порядку что тут такое происходит
  1. Печатаем какую-то строку в режиме insert (i)
  2. Переходим в режим normal (Esc) устанавливаем курсор на нашу строку и делаем так yy7p. То есть просто дублируем строку 7 раз.
  3. Входим в режим визуальный блок Ctrl+q и тянем курсор вниз на все наши строчки. Теперь есть вариант: выбрать ввод после символа под курсором (нажать A), или перед символом (нажать I)
  4. Вводим собственно то, что должно быть напечатано во всех выбранных строках.
  5. Нажимаем Esc
Думаю может быть интересно поиграть с режимом визуального блока.
Немного почитать о нем можно так :h ctrl-q
vim


aghr