Skip to content

Instantly share code, notes, and snippets.

@sergey-glushakov
Last active August 15, 2022 19:47
Show Gist options
  • Save sergey-glushakov/f0c3ca58683638723cab61ff3a443633 to your computer and use it in GitHub Desktop.
Save sergey-glushakov/f0c3ca58683638723cab61ff3a443633 to your computer and use it in GitHub Desktop.
NVIM - Полезняшки

Сборник полезных вещей для VIM/NVIM (Дополняется)

1. Сворачивание (folding) в VIM

=================================== Часто когда работаешь с большими файлами, особенно исходниками программ, тяжело окинуть быстрым взглядом все методы/функции т.к. их тело мешает обзору. В VIM есть удобная возможность сворачивать текстовые блоки в одну линию (для кода – все тело метода сворачивается в заголовок метода).

VIM может сворачивать текстовые блоки по следующим правилам:

ручное сворачивание по метке (описано в :help fold-manual) сворачивание на основании отступов в начале строк (описано в :help fold-indent) использование выражений для сворачивания (описано в :help fold-expr) сворачивание на основании синтаксиса (описано в :help fold-syntax) использование разницы – сворачивание не изменившегося текста (описано в :help fold-diff) вставка в тексте маркеров для обозначения точки сворачивания (описано в :help fold-marker) Для начала использования необходимо активировать возможность сворачивания :set foldenable Затем задать правило для сворачивания, например, :set foldmethod=indent (сворачивание на основании отступов в начале строк)

Команды для создания свертки блоков

zf#j - создает свертку от текущей позиции до # строк вниз

zf/подстрока - создает свертку от текущей позиции и до первой найденной подстроки

v/V и zf - выделение блока и создание свертки

Команды для управления

zc – свернуть блок

zo – развернуть блок

zM – закрыть все блоки

zR – открыть все блоки

za – инвертирование (если открыто – закрыть, если закрыто – открыть)

zj - переход к следующей свертке

zk - переход к предыдущей свертке

zd - удалить свертку под курсором

zD - удалить все свертки

[z - перейти к началу текущей свертки

]z - перейти к концу текущей свертки

После закрытия vim все свертки забываться, для сохранения сверток в открытом файле используется команда :mkview, для загрузки - loadview.

2. Как включить функцию +python в Vim

Debian

Вам нужно скомпилировать Vim самостоятельно или получить готовый пакет Vim, скомпилированный с поддержкой Python.

Если вы работаете в системе на основе Debian, проще всего загрузить пакет vim-gnome или vim-gtk из apt( apt install vim-gtkнапример). В других дистрибутивах может быть аналогичный пакет со встроенной поддержкой Python.

sudo apt install vim-gtk

Если вы предпочитаете скомпилировать Vim самостоятельно, загрузите репозиторий Vim и передайте его --enable-pythoninterpследующим образом:

cd /tmp && git clone https://github.com/vim/vim.git && cd vim
./configure --enable-pythoninterp --prefix=/usr
make && sudo make install
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment