victor_sudakov: (Default)
2023-01-31 01:10 pm

HCL for vim

vim syntax highlighting for HashiCorp Configuration Language (HCL) used by Consul, Nomad, Packer, Terraform, and Vault

victor_sudakov: (Default)
2020-10-07 03:23 pm

vim хорошо вставляет

Если вставляешь текст из системного буфера обмена в консольный vim, жди неприятных спецэффектов: могут появиться лишние отступы, покорежиться комментарии, и вообще весь autoindent в исходном тексте поломается. Происходит это оттого, что при вставке текста из буфера обмена в консольное приложение ОС эмулирует ввод с клавиатуры. С точки зрения vim - это пользователь печатает текст, поэтому после прихода <enter> надо сделать отступ или вставить символ комментария, и пофиг что в буфере обмена он уже есть.

Но vim можно явно сообщить, что сейчас пойдет вставка из буфера, переключив в специальный режим:

:set paste
:set nopaste
:set pastetoggle=<F2>

gvim естественно в этом не нуждается, так как имеет возможность определить, что вставляют из буфера обмена, а не печатают на клавиатуре.

Источник

victor_sudakov: (Default)
2020-07-27 10:13 pm

Избавление от alternate screen

Можно отключить alternate screen в vim в ~/.vimrc

set t_ti= t_te=

или в less установкой переменной среды:

setenv LESS "-X"

но если хочется отключить глобально - приходится делать это настройкой в программе-эмуляторе терминала. PuTTY умеет ("Disable switching to the alternate screen"), xterm умеет ("XTerm*titeInhibit: true" в ~/.Xresources), а Xfce Terminal и прочие производные от Gnome Terminal - не умеют.

Радикальное решение - запускать внутри такого терминала tmux, а в ~/.tmux.conf прописать

set-window-option -g alternate-screen off

victor_sudakov: (Default)
2020-06-23 03:41 pm

Подсветка синтаксиса vim в PuTTY, Xfce Terminal и других тёмных терминалах

Если у эмулятора терминала чёрный фон, то тёмно-синие комментарии при подсветке синтаксиса vim становятся трудно читаемы.

Решение: добавить "set background=dark" в .vimrc
victor_sudakov: (Default)
2018-06-21 10:52 am

Не очищать экран при закрытии программы

В FreeBSD и Solaris после выхода из vi или less текст остаётся на экране. В Linux экран очищается, иногда это неудобно.

Наверное можно радикально решить путем правки termcap (кстати как?), но пока проще оказалось прописать "set t_ti= t_te=" в ~/.vimrc и добавить -X в переменную среды $LESS.
victor_sudakov: (Default)
2017-09-10 05:54 pm

modeline

Если в ~/.vimrc поставить "set modeline" до "set nocompatible", то modeline работать не будет. Надо обязательно сперва nocompatible, потом modeline.
victor_sudakov: (Default)
2014-11-28 09:24 am

Отключение поддержки мыши в vim

После очередного обновления vim в нем появилась поддержка мыши в xterm. Но и в xterm и в PuTTY она работает как-то криво. Поэтому

echo "set mouse=" >> ~/.vimrc
victor_sudakov: (Default)
2014-09-04 08:55 am

vim, xterm, screen, клавиши Home и End

Если запустить vim внутри screen, а потом работать с ним из xterm, могут не работать клавиши Home и End: вместо перемещения курсора в начало или конец строки вставляют в редактируемый текст левые буквы.

На FreeBSD 9.3 решилось переназначением клавиш в xterm. В ~/.Xresources или аналогичном месте

XTerm*VT100.translations: #override \n\
        Home: string(0x1b) string("[1~") \n \
        End: string(0x1b) string("[4~") \n


UPD В freebsd-questions подсказали другой способ:
XTerm*keyboardType: vt220
victor_sudakov: (Default)
2011-11-07 04:14 pm

show special characters in vim

Всё время забываю.

:set list
:set nolist
victor_sudakov: (Default)
2011-03-11 03:09 pm

vim, PuTTY, numpad

Чтобы в vim цифровая клавиатура работала как положено, нужно в свойствах PuTTY установить Terminal -> Features -> Disable application keypad mode.