victor_sudakov: (Default)

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

victor_sudakov: (Default)

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

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

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

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

Источник

victor_sudakov: (Default)

Можно отключить 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)
Если у эмулятора терминала чёрный фон, то тёмно-синие комментарии при подсветке синтаксиса vim становятся трудно читаемы.

Решение: добавить "set background=dark" в .vimrc
victor_sudakov: (Default)
В FreeBSD и Solaris после выхода из vi или less текст остаётся на экране. В Linux экран очищается, иногда это неудобно.

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

modeline

Sep. 10th, 2017 05:54 pm
victor_sudakov: (Default)
Если в ~/.vimrc поставить "set modeline" до "set nocompatible", то modeline работать не будет. Надо обязательно сперва nocompatible, потом modeline.
victor_sudakov: (Default)
После очередного обновления vim в нем появилась поддержка мыши в xterm. Но и в xterm и в PuTTY она работает как-то криво. Поэтому

echo "set mouse=" >> ~/.vimrc
victor_sudakov: (Default)
Если запустить 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)
Чтобы в vim цифровая клавиатура работала как положено, нужно в свойствах PuTTY установить Terminal -> Features -> Disable application keypad mode.

Profile

victor_sudakov: (Default)
Виктор Судаков

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 4th, 2025 07:06 am
Powered by Dreamwidth Studios