Рубрики
Без рубрики

Как использовать фрагменты кода в Vim, как ковбой 🤠️

Пришло время, чтобы увеличить вашу лошадиную власть и запись кода быстрее, чем раньше. В этом руководстве я охвачу … Теги с Vim, Go, Python, производительностью.

Пришло время, чтобы увеличить вашу лошадиную власть и запись кода быстрее, чем раньше. В этом руководстве я расскажу, как настроить и использовать кодовые фрагменты в 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. Введите «триггер фрагмента» (перечисленный ниже в столбце 1-го) и нажмите вкладку в режиме «Вставить», чтобы оценить блок-фрагмент.
  2. Использовать Ctrl. + J прыгать вперед в фрагменте.
  3. Использовать Ctrl. + к прыгать назад внутри фрагмента.
  4. Использовать 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”