Пришло время, чтобы увеличить вашу лошадиную власть и запись кода быстрее, чем раньше. В этом руководстве я расскажу, как настроить и использовать кодовые фрагменты в Vim или Neovim для Go, Python, Bash и Markdown (так как я имею дело с ними каждый день)
Также обратите внимание, что в этом руководстве для людей, которые недавно начали использовать VIM в качестве основного редактора, или для людей, которые ищут причины, чтобы перейти в банду VIM (не волнуйтесь, Vim имеет все, что может предоставить современный редактор и многое другое! Несомненно
- Вступление
- Установка плагинов
- Как использовать Ultisnips
- Кодовые фрагменты для Go
- Кодовые фрагменты для Python
- Кодовые фрагменты для сценариев Bash/Shell
- Кодовые фрагменты для Markdown
- Как создать свои собственные фрагменты
Вступление
Кодовый фрагмент экосистемы в VIM сегрегирован в разные плагины, вот как это выглядит как в общем порядке
--------------------- | Snippet Provider | [vim-snippets] --------------------- | v --------------------- | Snippet Manager | [Ultisnips, snipMate] --------------------- | v -------------------- | Code Completion | [YCM, deoplete, coc] --------------------
Установка плагинов
Для этого учебника мы будем устанавливать Ultisnips и Vim-фрагменты.
Если вы используете Подключить С
Plug 'SirVer/ultisnips' Plug 'honza/vim-snippets'
Для Vundle,
Plugin 'SirVer/ultisnips' Plugin 'honza/vim-snippets'
Для Vanilla Vim запустите следующие команды
mkdir -p ~/.vim/pack/bundle/start && cd $_ git clone https://github.com/SirVer/ultisnips.git git clone https://github.com/honza/vim-snippets.git
Дайте мне знать, если вышеуказанные команды не работают на ванили VIM, я Nuked Mine 😛️
Как только вы установили как плагины, откройте свой Vimrc или init.vim Чтобы настроить некоторые ключевые сопоставления для ULTISNIPS
let g:UltiSnipsExpandTrigger="" " list all snippets for current filetype let g:UltiSnipsListSnippets=" "
Как использовать Ultisnips
- Введите «триггер фрагмента» (перечисленный ниже в столбце 1-го) и нажмите вкладку в режиме «Вставить», чтобы оценить блок-фрагмент.
- Использовать
Ctrl.
+J
прыгать вперед в фрагменте. - Использовать
Ctrl.
+к
прыгать назад внутри фрагмента. - Использовать
Ctrl
+л
Чтобы перечислить все фрагменты, доступные для текущего типа файла
Ниже приведены некоторые из Самые распространенные фрагменты Вы должны начать использовать прямо сейчас!
Кодовые фрагменты для Go
Иди функция | веселье |
Идти методом | парус |
Бесконечный для петли | для |
Диапазон на основе цикла | затруднительное положение |
Перейти базовую обработку ошибок | ошибаться |
Импортные пакеты | я |
FMT. Printf (…) | ПФ |
FMT. Println (…) | пронзительный |
FMT. Спринтф (…) | PS. |
Если ключ на карте | ом |
Go Basic Если выписка | если |
Go Basic If / Evel | ite. |
Выявление переключения | потрясение |
Перейти выбрать для каналов | SL. |
Гурутина анонимной функции | гА |
Пройдите тестовую функцию | тестовое задание |
Пойти настольная тестовая функция | тест |
Все шутки Отказ Также см. Ультиснисты, специфичные фрагменты
Кодовые фрагменты для Python
Новый класс Python | чемодан |
Новое определение функции Python | деф |
Определение функции async python | Adef. |
Перейти базовую обработку ошибок | ошибаться |
Попробуйте / кроме блока | пытаться |
Попробуйте / кроме / else блок | тренировка |
Попробуйте / кроме / наконец-то блок | портить |
Попробуйте / кроме / else /, наконец, блок | Треф |
Python Docstring. | “ |
Python Basic Если выписка | если |
Python Basic Else заявление | эль |
Диапазон на основе цикла | для |
Список понимания | lecp. |
Все фрагменты Python Отказ Также см. Ультиснисты, специфичные фрагменты
Бонус Фрагменты Django
Кодовые фрагменты для оболочки
Основные для петли с итератором | для |
Диапазон на основе цикла | предсказание |
Bash Basic в то время как петля | в то время как |
Выявление переключателя Bash | кейс |
Bash Basic Если выписка | если |
Определение базовой функции Bash | веселье |
Shebang с безопасной гвардией | sbash. |
Все фрагменты оболочки Отказ Также см. Ультиснисты, специфичные фрагменты
Кодовые фрагменты для Markdown
Маталический текст | * |
Жирный текст | ** |
Markdown / HTML комментарий | /* |
Блок кода | каприз |
Ссылка на размече | ссылка или [ |
Образ отметки | IMG или! [ |
Детали / Сводка | деталь |
Расчетная таблица | туалет |
Отзывчивая таблица | TBN, М. |
(TB12 создает таблицу с 1 строкой и 2 столбцами) |
Все фрагменты оболочки Отказ Также см. Ультиснисты, специфичные фрагменты
Вы также можете включить примечание, принимающую заметку с помощью нескольких плагинов, таких как VIM-Markdown & таблична
Как создать свои собственные фрагменты
Vim-фрагменты хранит свои кодовые фрагменты в 2 разных каталогах:
$ HOME/.CONFIG/NVIM/STOPELD/VIM-фрагменты/фрагменты/
Snipmate совместим$ HOME/.CONFIG/NVIM/BLOPELD/VIM-фрагменты/ULTISNIPS/
Для людей, которые используют Vim-фрагменты с ULTISNIPS (Формат фрагмента отличается)
Переменная G: UltisnipssnippetDireteries
Может использоваться для указания различных мест для поиска фрагментов
let g:UltiSnipsSnippetDirectories=["UltiSnips", $HOME.'/Documents/.Varshney/snippets/']
Создание фрагмента, довольно просто, основной формат выглядит следующим образом
snippet"Description" [options] # code block endsnippet
Узнайте больше о вариантах фрагмента в Руководстве : помогите Ultisnips-Snippet-options
Ниже приведен пример Jekyll Post Header от My dotfiles.
snippet head "Jekyll Post Header" b --- layout: post comments: true title: ${1:title} description: ${2:description} tags: ${3:tags} image: ${4:image} --- $0 endsnippet
Часть в брекетах {1: название}
называется заполнителем. Когда фрагмент расширен, Ctrl.
+ J
Визуально выберите следующий заполнитель, чтобы вы могли изменить текст. Точно так же, Ctrl
+ к
визуально выберет ранее введенный заполнитель
Вот краткосрочная демо того, как это работает
Узнайте больше о авторских фрагментах в Руководстве : помогите Ultisnips-authoring-raphets
Это это для этого учебника, почему бы вам не поделиться своими фрагментами кода ниже 👇️
Кажется интересным?, Подписаться 🚀 Чтобы получить больше таких прохладных вещей или просто связаться со мной на Twitter Отказ
Оригинал: “https://dev.to/bhupesh/how-to-use-code-snippets-in-vim-like-a-cowboy-3pig”