Compare commits
12 Commits
f56fff2bd3
...
adoc
Author | SHA1 | Date | |
---|---|---|---|
c36bbc9678 | |||
5661034292 | |||
322cd0643e | |||
bf0c4a6c26 | |||
3b34f960b5 | |||
02568f482b | |||
e312541ae7 | |||
f3206726a0 | |||
adb7098d1c | |||
f8a740a624 | |||
0003a98c30 | |||
0bc4923a7b |
2
.gitignore
vendored
2
.gitignore
vendored
@ -7,4 +7,6 @@ __pycache__
|
||||
wiki/trash
|
||||
wiki/notes.sqlite
|
||||
upload.sh
|
||||
wiki/**/*.png
|
||||
wiki/**/*.png.cache
|
||||
|
||||
|
8
Makefile
8
Makefile
@ -1,9 +1,9 @@
|
||||
build:
|
||||
pelican
|
||||
pelican -s pelicanconf.py
|
||||
|
||||
pdf:
|
||||
pelican -s pelicanconf-full.py
|
||||
web:
|
||||
pelican -s pelicanconf-web.py
|
||||
|
||||
clean:
|
||||
rm -rf cache-html cache-full cache __pycache__
|
||||
rm -rf cache __pycache__
|
||||
|
||||
|
@ -1,6 +1,11 @@
|
||||
Сайт ДСП
|
||||
========
|
||||
|
||||
```sh
|
||||
sudo apt-get install pelican asciidoctor ruby-asciidoctor-pdf plantuml yui-compressor
|
||||
sudo gem install asciidoctor-diagram
|
||||
```
|
||||
|
||||
Установка:
|
||||
|
||||
```sh
|
||||
|
@ -36,7 +36,7 @@ SITENAME = 'ДСП'
|
||||
SITEURL = 'https://dsp.246060.ru'
|
||||
|
||||
PATH = 'wiki'
|
||||
CACHE_PATH = 'cache-full'
|
||||
CACHE_PATH = 'cache'
|
||||
|
||||
TIMEZONE = 'Europe/Moscow'
|
||||
|
||||
@ -75,7 +75,7 @@ I18N_GETTEXT_DOMAIN = 'messages'
|
||||
JINJA_ENVIRONMENT = {'extensions': ['jinja2.ext.i18n']}
|
||||
|
||||
PLUGIN_PATHS = ["plugins/official", "plugins/thirdparty"]
|
||||
PLUGINS = [i18n(), "pelican-css", "pelidoc", "series", "subcategory", "tag_cloud", "tipue_search", "replacer", "asciidoctor"]
|
||||
PLUGINS = [i18n(), "pelican-css", "series", "subcategory", "tag_cloud", "tipue_search", "replacer", "asciidoctor"]
|
||||
|
||||
|
||||
ASCIIDOCTOR_CMD = "asciidoctor"
|
||||
@ -87,6 +87,7 @@ ASCIIDOCTOR_EXTRA_OPTIONS = [
|
||||
'--attribute=pygments-css=class',
|
||||
'--attribute=lang=ru',
|
||||
'--attribute=figure-caption=Рис.',
|
||||
'--attribute=toc-title=Содержание',
|
||||
'--attribute=experimental',
|
||||
]
|
||||
|
@ -75,7 +75,7 @@ I18N_GETTEXT_DOMAIN = 'messages'
|
||||
JINJA_ENVIRONMENT = {'extensions': ['jinja2.ext.i18n']}
|
||||
|
||||
PLUGIN_PATHS = ["plugins/official", "plugins/thirdparty"]
|
||||
PLUGINS = [i18n(), "pelican-css", "pelidoc", "series", "subcategory", "tag_cloud", "tipue_search", "replacer", "asciidoctor"]
|
||||
PLUGINS = [i18n(), "pelican-css", "series", "subcategory", "tag_cloud", "tipue_search", "replacer", "asciidoctor"]
|
||||
|
||||
|
||||
ASCIIDOCTOR_CMD = "asciidoctor"
|
||||
@ -99,7 +99,7 @@ YUICOMPRESSOR_EXECUTABLE = "yui-compressor"
|
||||
YUICOMPRESSOR_EXTRA_OPTIONS = ["--nomunge"]
|
||||
#PLUGINS += ["yuicompressor-opt"]
|
||||
|
||||
#PDF_PROCESSOR = True
|
||||
PDF_PROCESSOR = True
|
||||
|
||||
# Blogroll
|
||||
LINKS = ()
|
||||
|
2
plugins/thirdparty/asciidoctor
vendored
2
plugins/thirdparty/asciidoctor
vendored
Submodule plugins/thirdparty/asciidoctor updated: 9e0019a728...288c5aeba0
Submodule themes/bootstrap4 updated: 905ab86433...ce6b18660a
@ -1,8 +1,8 @@
|
||||
= LaTeX: висячие строки
|
||||
:title-separator: {sp}|
|
||||
:category: LaTeX
|
||||
:tags: LaTeX, текст,
|
||||
|
||||
|
||||
Пакет https://www.ctan.org/pkg/nowidow[`nowidow`] используется для
|
||||
изменения алгоритма размещения висячих строк. Пример:
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= LyX: редактирование ЕСПД
|
||||
:title-separator: {sp}|
|
||||
:category: LaTeX
|
||||
:tags: LaTeX, текст, LyX,
|
||||
|
||||
@ -10,7 +11,7 @@
|
||||
sudo apt-get install lyx texlive-xetex
|
||||
----
|
||||
|
||||
Установить стили LaTeX для ЕСПД:
|
||||
Установить стили LaTeX для http://tiny.cc/u8eo7y[ЕСПД]:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
@ -34,54 +35,71 @@ git clone https://git.246060.ru:/f1x1t/lyx-layout-espdx.git ~/.lyx/layouts
|
||||
|
||||
Пример настройки:
|
||||
|
||||
[.text-center]
|
||||
.Класс документа
|
||||
image::lyx-espdx/01.png[Класс документа]
|
||||
|
||||
[.text-center]
|
||||
.Модули
|
||||
image::lyx-espdx/02.png[Модули]
|
||||
|
||||
[.text-center]
|
||||
.Шрифты
|
||||
image::lyx-espdx/03.png[Шрифты]
|
||||
|
||||
[.text-center]
|
||||
.Макет текста
|
||||
image::lyx-espdx/04.png[Макет текста]
|
||||
|
||||
[.text-center]
|
||||
.Макет страницы
|
||||
image::lyx-espdx/05.png[Макет страницы]
|
||||
|
||||
[.text-center]
|
||||
.Поля страницы
|
||||
image::lyx-espdx/06.png[Поля страницы]
|
||||
|
||||
[.text-center]
|
||||
.Язык
|
||||
image::lyx-espdx/07.png[Язык]
|
||||
|
||||
[.text-center]
|
||||
.Нумерация и содержание
|
||||
image::lyx-espdx/08.png[Нумерация и содержание]
|
||||
|
||||
[.text-center]
|
||||
.Библиография
|
||||
image::lyx-espdx/09.png[Библиография]
|
||||
|
||||
[.text-center]
|
||||
.Предметный указатель
|
||||
image::lyx-espdx/10.png[Предметный указатель]
|
||||
|
||||
[.text-center]
|
||||
.Свойства PDF / Общие
|
||||
image::lyx-espdx/11.png[Свойства PDF / Общие]
|
||||
|
||||
[.text-center]
|
||||
.Свойства PDF / Гиперссылки
|
||||
image::lyx-espdx/12.png[Свойства PDF / Гиперссылки]
|
||||
|
||||
[.text-center]
|
||||
.Свойства PDF / Закладки
|
||||
image::lyx-espdx/13.png[Свойства PDF / Закладки]
|
||||
|
||||
[.text-center]
|
||||
.Параметры математики
|
||||
image::lyx-espdx/14.png[Параметры математики]
|
||||
|
||||
[.text-center]
|
||||
.Размещение плавающих объектов
|
||||
image::lyx-espdx/15.png[Размещение плавающих объектов]
|
||||
|
||||
[.text-center]
|
||||
.Форматы
|
||||
image::lyx-espdx/16.png[Форматы]
|
||||
|
||||
[.text-center]
|
||||
.Преамбула LaTeX
|
||||
image::lyx-espdx/17.png[Преамбула LaTeX]
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= LaTeX: защита команд
|
||||
:title-separator: {sp}|
|
||||
:category: LaTeX
|
||||
:tags: LaTeX, текст,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= LaTeX: лигатуры
|
||||
:title-separator: {sp}|
|
||||
:category: LaTeX
|
||||
:tags: LaTeX, шрифты,
|
||||
|
||||
|
@ -1,11 +1,12 @@
|
||||
= LyX: многостраничные таблицы
|
||||
:title-separator: {sp}|
|
||||
:category: LaTeX
|
||||
:tags: LaTeX, текст, LyX, таблицы,
|
||||
|
||||
* Создать таблицу как минимум с четырьмя строками.
|
||||
* Щелкнуть правой кнопкой мыши на таблице, выбрать во всплывающем меню
|
||||
* Щёлкнуть правой кнопкой мыши на таблице, выбрать во всплывающем меню
|
||||
*Длинная таблица*.
|
||||
* Щелкнуть правой кнопкой мыши на таблице, выбрать во всплывающем меню
|
||||
* Щёлкнуть правой кнопкой мыши на таблице, выбрать во всплывающем меню
|
||||
*Настройки*.
|
||||
* Установить курсор на первой строке таблицы, в окне настроек перейти на
|
||||
вкладку *Длинная таблица*.
|
||||
@ -17,9 +18,9 @@
|
||||
* Нажать *Применить*.
|
||||
* Установить курсор на третьей строке таблицы, в окне настроек перейти
|
||||
на вкладку *Длинная таблица*.
|
||||
* Выбрать *Заголовок* и *Первый заколовок*.
|
||||
* Выбрать *Заголовок* и *Первый заголовок*.
|
||||
* Нажать *Применить*.
|
||||
* Щелкнуть правой кнопкой мыши на второй строке таблицы, выбрать в меню
|
||||
* Щёлкнуть правой кнопкой мыши на второй строке таблицы, выбрать в меню
|
||||
*Подпись (Ненумерованный)*.
|
||||
* На первой строке таблицы установить метку и ввести текст подписи к
|
||||
таблице на начальной странице.
|
||||
|
@ -1,4 +1,5 @@
|
||||
= LaTeX: переносы строк
|
||||
:title-separator: {sp}|
|
||||
:category: LaTeX
|
||||
:tags: LaTeX, текст,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= LaTeX: русский язык в выходном PDF
|
||||
:title-separator: {sp}|
|
||||
:category: LaTeX
|
||||
:tags: LaTeX, текст, PDF,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Astra: авторизация в PostgreSQL через PAM
|
||||
:title-separator: {sp}|
|
||||
:category: Linux
|
||||
:tags: Linux, Astra, postgresql, базы данных,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= CUPS: команды
|
||||
:title-separator: {sp}|
|
||||
:category: Linux
|
||||
:tags: Linux, печать, CUPS,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= GnuPG: шифрование файлов
|
||||
:title-separator: {sp}|
|
||||
:category: Linux
|
||||
:tags: Linux, GnuPG, безопасность
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= runit: система инициализации
|
||||
:title-separator: {sp}|
|
||||
:category: Linux
|
||||
:tags: Debian, Ubuntu, Linux, инициализация, runit,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Linux: полезные ссылки
|
||||
:title-separator: {sp}|
|
||||
:category: Linux
|
||||
:tags: Linux, ссылки,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Libgen: локальная база данных для Windows
|
||||
:title-separator: {sp}|
|
||||
:category: Windows
|
||||
:tags: windows, libgen, библиотеки, книги,
|
||||
|
||||
@ -13,7 +14,6 @@ http://gen.lib.rus.ec/dbdumps/[здесь]. В архиве базы с имен
|
||||
Для обработки полного архива потребуется около 30 ГБ свободного
|
||||
пространства. Последовательность действий:
|
||||
|
||||
[arabic]
|
||||
* https://yadi.sk/d/j_ToPE7D3SHGN6[Скачать] и распаковать программу
|
||||
Libgen.
|
||||
* Скачать архив базы данных, распаковать его в каталог `upload` и
|
||||
|
@ -1,7 +1,7 @@
|
||||
= CMake: управление проектом
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, cmake,
|
||||
|
||||
:toc:
|
||||
|
||||
== Полезные ссылки
|
||||
@ -40,7 +40,7 @@ Hitchhiker’s Guide to the CMake]
|
||||
|
||||
Назначение каталогов приведено в таблице.
|
||||
|
||||
[cols=",",options="header",]
|
||||
[cols="1,3",options="header",]
|
||||
|===
|
||||
|Каталог |Назначение
|
||||
|`cmex/_build` |Результаты компиляции
|
||||
@ -76,6 +76,14 @@ Hitchhiker’s Guide to the CMake]
|
||||
|
||||
== Начало проекта
|
||||
|
||||
Проект, в котором выполнены приведённые ниже действия, можно посмотреть
|
||||
https://git.246060.ru/f1x1t/cmex[здесь] или сделать его копию командой:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git clone --recursive https://git.246060.ru/f1x1t/cmex
|
||||
----
|
||||
|
||||
В каталоге `cmex` нужно создать файл `CMakeLists.txt`:
|
||||
|
||||
[source,cmake]
|
||||
@ -91,12 +99,17 @@ project(cmex VERSION 0.2.0 LANGUAGES C CXX)
|
||||
Значение версии следует формировать согласно правилам
|
||||
https://semver.org/lang/ru/[семантического версионирования].
|
||||
|
||||
В каталог `cmake/cmlib` установить субмодуль CMLib, содержащий функции
|
||||
для CMake:
|
||||
В каталоге `cmex` нужно инициализировать репозиторий и установить
|
||||
подмодули, содержащие функции для CMake:
|
||||
|
||||
....
|
||||
git submodule add ssh://git@gitlab-server/root/cmlib cmake/cmlib
|
||||
....
|
||||
[source,sh]
|
||||
----
|
||||
git init .
|
||||
git submodule add https://git.246060.ru/f1x1t/cmlib cmake/cmlib
|
||||
git submodule add https://git.246060.ru/f1x1t/cmake-find cmake/find
|
||||
git submodule add https://git.246060.ru/f1x1t/cmake-generators cmake/generators
|
||||
git submodule update --remote --init
|
||||
----
|
||||
|
||||
и подключить в файле `CMakeLists.txt`:
|
||||
|
||||
@ -390,7 +403,7 @@ include(ExternalProject)
|
||||
|
||||
ExternalProject_Add(cmext
|
||||
EXCLUDE_FROM_ALL TRUE
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libcmext
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/cmext
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
DOWNLOAD_COMMAND ""
|
||||
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libcmext.a
|
||||
@ -536,7 +549,7 @@ int main(int argc, char **argv) {
|
||||
После сборки проекта в каталоге `cmex/l10n` появится файл
|
||||
`cmex_app_ru_RU.ts`, в котором нужно отредактировать переводы с помощью
|
||||
программы `linguist`. После сохранения переводов проект нужно
|
||||
пересобрать, файл переводов в скопилированном виде будет встроен в
|
||||
пересобрать, файл переводов в скомпилированном виде будет встроен в
|
||||
исполняемый файл `cmex`, а доступ к нему будет осуществляться с помощью
|
||||
кода:
|
||||
|
||||
@ -694,7 +707,7 @@ target_link_libraries(${current_target} Qt5::Widgets)
|
||||
----
|
||||
|
||||
Во время сборки проекта в файл переводов `cmex/l10n/cmex_app_ru_RU.ts`
|
||||
будут добавлены повые строки, их нужно перевести с помощью `linguist` и
|
||||
будут добавлены новые строки, их нужно перевести с помощью `linguist` и
|
||||
снова скомпилировать проект.
|
||||
|
||||
== Удаление установленных файлов
|
||||
@ -704,7 +717,7 @@ target_link_libraries(${current_target} Qt5::Widgets)
|
||||
|
||||
== Архивирование проекта
|
||||
|
||||
Стандарный модуль `CPack` осуществляет архивирование проекта. В файле
|
||||
Стандартный модуль `CPack` осуществляет архивирование проекта. В файле
|
||||
`cproj/cmake/etc/cpack_ignore.txt` определён список типовых масок файлов
|
||||
для исключения из архива:
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Intel Parallel Studio: установка в образ для чтения
|
||||
:title-separator: {sp}|
|
||||
:category: Linux/Программы
|
||||
:tags: Linux, Intel, компилятор, C++,
|
||||
|
||||
@ -27,7 +28,7 @@ sudo setcap cap_sys_ptrace=eip /opt/intel/vtune_amplifier/bin64/amplxe-perf
|
||||
. Создать образ
|
||||
`mksquashfs /opt/intel/* /home/user/intel.sfs -comp xz -Xbcj x86 -all-root -b 512K`
|
||||
. Удалить содержимое каталога `/opt/intel`.
|
||||
. Подмонтировать образ:
|
||||
. Примонтировать образ:
|
||||
`mount -t squashfs /home/user/intel.sfs /opt/intel`
|
||||
. Добавить в файл `/home/user/.bashrc` строки:
|
||||
|
||||
|
@ -70,7 +70,7 @@ Analysis, GA). Включить дополнительные правила мо
|
||||
....
|
||||
|
||||
Выбор типов предупреждений осуществляется на основе побитовой маски из
|
||||
приведенных выше типов. Чтобы выполнить анализ, исключив проверки MISRA,
|
||||
приведённых выше типов. Чтобы выполнить анализ, исключив проверки MISRA,
|
||||
нужно выполнить
|
||||
|
||||
[source,sh]
|
||||
|
@ -39,7 +39,7 @@ perf report -g graph --no-children
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
opcontrol --setup --vmlinux=/boot/vmlinux-`uname -r`
|
||||
opcontrol --setup --vmlinux=/boot/vmlinux-`uname -r`
|
||||
----
|
||||
|
||||
== Systemtap
|
||||
|
@ -1,4 +1,4 @@
|
||||
= Построение профиля местности в QGis
|
||||
= Построение профиля местности в Gis
|
||||
:category: Картография
|
||||
:tags: картография, qgis, sxf, shp, gdal,
|
||||
|
||||
@ -11,11 +11,11 @@
|
||||
image:qgis-heights/1.png[Слои карты]
|
||||
|
||||
[arabic, start=3]
|
||||
. На панели *Панель слоёв* правой кнопкой мыши щелкнуть на слое,
|
||||
. На панели *Панель слоёв* правой кнопкой мыши щёлкнуть на слое,
|
||||
содержащем данные о высотах, и выбрать *Фильтр…*.
|
||||
. Построить выражение выбирающие только данные с высотами, например,
|
||||
`"CLNAME" ILIKE '%ГОРИЗОНТАЛИ ОСНОВ%'` и нажить *OK*.
|
||||
. На панели *Панель слоёв* правой кнопкой мыши щелкнуть на слое,
|
||||
. На панели *Панель слоёв* правой кнопкой мыши щёлкнуть на слое,
|
||||
содержащем данные о высотах, и выбрать *Сохранить как…*. Появившийся
|
||||
новый слой *heights* следует удалить.
|
||||
. В появившемся диалоговом окне выбрать имя выходного файла, например,
|
||||
@ -27,7 +27,7 @@ image:qgis-heights/2.png[Имя выходного файла]
|
||||
. В каталоге `/home/a/work/map` выполнить команду, которая в файле
|
||||
`heights.shp` из слоя `heights` берёт данные о высотах из поля `SC_4` и
|
||||
генерирует матрицу высот размером 2000 на 2000 в формате BMP. Настойки
|
||||
алгоритма посторения матрицы можно изменять с помощью параметра `-a`:
|
||||
алгоритма построения матрицы можно изменять с помощью параметра `-a`:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
|
@ -1 +0,0 @@
|
||||
{"checksum":"81886ef1b8d31cdb2b865473bbeb2cf9","width":671,"height":550}
|
@ -1 +0,0 @@
|
||||
{"checksum":"e76d88ee3db613b3f806d8c773281fdc","width":685,"height":363}
|
@ -1,4 +1,5 @@
|
||||
= Git: автоматическое сохранение в репозиторий
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, git,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Git: замена адреса подмодуля
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, git,
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
= Git: основные команды
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, git
|
||||
:toc:
|
||||
|
||||
== Ссылки
|
||||
|
||||
@ -19,7 +21,7 @@ sudo apt-get install git
|
||||
|
||||
== Термины
|
||||
|
||||
[width="100%",cols="16%,17%,67%",options="header",]
|
||||
[width="100%",cols="18%,20%,62%",options="header",]
|
||||
|===
|
||||
|Термин |Англ |Определение
|
||||
|Рабочий каталог |working tree, working directory |Набор файлов в
|
||||
@ -29,7 +31,7 @@ sudo apt-get install git
|
||||
файлов проекта
|
||||
|
||||
|Индекс |index, staging area |Область между рабочим каталогом и
|
||||
репозиторием, в которой осуществляется подготовка к фиксации
|
||||
репозиторием, в котором осуществляется подготовка к фиксации
|
||||
|
||||
|SHA-1 |SHA-1 |Уникальный идентификатор, отражающий информацию об
|
||||
истории
|
||||
@ -47,16 +49,23 @@ sudo apt-get install git
|
||||
== Состояния
|
||||
|
||||
Файлы в рабочем каталоге могут отслеживаться системой контроля версий
|
||||
(tracked) или нет (untracked). Отслеживаемые файлы, которые на диаграмме
|
||||
(tracked) или нет (untracked). Отслеживаемые файлы, которые на
|
||||
<<states,диаграмме>>
|
||||
обозначены зелёным фоном, могут быть неизменёнными (unmodified),
|
||||
изменёнными (modified) или подготовленными к фиксации (staged).
|
||||
изменёнными (modified) или подготовленными к фиксации (indexed).
|
||||
|
||||
|
||||
[[states]]
|
||||
[.text-center]
|
||||
.Состояния
|
||||
[plantuml]
|
||||
----
|
||||
@startuml
|
||||
skinparam padding 16
|
||||
|
||||
participant untracked as "Неотслеживамые\n(untracked)"
|
||||
box "Отслеживаемые"
|
||||
participant staged as "Подготовленные к фиксации\n(staged)" #55FF55
|
||||
participant staged as "Подготовленные к фиксации\n(indexed)" #55FF55
|
||||
participant unmodified as "Неизменённые\n(unmodified)" #99FF99
|
||||
participant modified as "Изменённые\n(modified)" #77FF77
|
||||
end box
|
||||
@ -72,12 +81,16 @@ staged -> untracked: git rm --cached
|
||||
----
|
||||
|
||||
Основные команды, осуществляющие взаимодействие между рабочим каталогом,
|
||||
индексом, локальным и удалённым репозиторием, приведены на диаграмме
|
||||
ниже.
|
||||
индексом, локальным и удалённым репозиторием, приведены на <<commands,диаграмме>>.
|
||||
|
||||
[[commands]]
|
||||
[.text-center]
|
||||
.Команды
|
||||
[plantuml]
|
||||
----
|
||||
@startuml
|
||||
skinparam padding 16
|
||||
|
||||
participant workspace as "Рабочий каталог\n(working dir)"
|
||||
participant index as "Индекс\n(index)" #77FF77
|
||||
participant local as "Локальный репозиторий\n(local repository)" #FF7777
|
||||
@ -104,9 +117,49 @@ index -[#blue]> workspace : git diff
|
||||
@enduml
|
||||
----
|
||||
|
||||
Пример последовательности действий, выполняемых пользователем в совместном
|
||||
проекте, приведён на <<workflow,диаграмме>>.
|
||||
|
||||
[[workflow]]
|
||||
[.text-center]
|
||||
.Последовательность действий
|
||||
[plantuml]
|
||||
----
|
||||
@startuml
|
||||
skinparam defaultFontSize 24
|
||||
skinparam padding 16
|
||||
|
||||
participant workspace as "Рабочий каталог\n(working dir)"
|
||||
participant index as "Индекс\n(index)" #77FF77
|
||||
participant local as "Локальный репозиторий\n(local repository)" #FF7777
|
||||
participant remote as "Удалённый репозиторий\n(remote repository)" #7777FF
|
||||
|
||||
[-> workspace : <font color=red>Начало работы</font>
|
||||
activate workspace
|
||||
remote -> local : <font color=red>Получение изменений с сервера</font>\n<b>git fetch</b>
|
||||
remote -> local : <font color=red>Обновление подмодулей</font>\n<b>git submodule update --remote</b>
|
||||
workspace <-> local : <font color=red>Просмотр информации</font>\n<b>git status</b>
|
||||
workspace <-> local : <font color=red>Переход на ветку master</font>\n<b>git checkout master</b>
|
||||
local -> workspace : <font color=red>Слияние с удалённой веткой</font>\n<b>git merge origin/master</b>
|
||||
local <-> workspace : <font color=red>Создание новой ветки</font>\n<b>git branch temp</b>
|
||||
local <-> workspace : <font color=red>Переход на новую ветку</font>\n<b>git checkout temp</b>
|
||||
workspace ->o workspace : <font color=red>Редактирование</font>
|
||||
workspace <-> local : <font color=red>Просмотр изменений</font>\n<b>git diff</b>
|
||||
workspace -> index : <font color=red>Занесение файлов в индекс</font>\n<b>git add</b>
|
||||
index -> local : <font color=red>Фиксация изменений</font>\n<b>git commit</b>
|
||||
local ->o local : <font color=red>Присвоение ветки осмысленного названия</font>\n<b>git branch -m temp branch_name</b>
|
||||
local ->o local : <font color=red>Переход на ветку</font>\n<b>git checkout branch_name</b>
|
||||
remote -> local : <font color=red>Получение изменений с сервера</font>\n<b>git fetch</b>
|
||||
local ->o local : <font color=red>Слияние изменений с сервера в текущую ветку (branch_name)</font>\n<b>git merge origin/master</b>
|
||||
local -> remote : <font color=red>Отправка ветки на сервер</font>\n<b>git push origin branch_name</b>
|
||||
remote ->] : <font color=red>Создание запроса на слияние</font>
|
||||
deactivate workspace
|
||||
@enduml
|
||||
----
|
||||
|
||||
== Настройка
|
||||
|
||||
[width="100%",cols="16%,38%,46%",options="header",]
|
||||
[width="100%",cols="15%,35%,50%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git config` |`--global user.name "John Doe"` |Имя текущего
|
||||
@ -122,7 +175,7 @@ index -[#blue]> workspace : git diff
|
||||
|
||||
== Инициализация
|
||||
|
||||
[width="100%",cols="19%,27%,54%",options="header",]
|
||||
[width="100%",cols="15%,35%,50%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git init` |`<dir>` |Создать пустой репозиторий в каталоге `<dir>`
|
||||
@ -137,11 +190,11 @@ index -[#blue]> workspace : git diff
|
||||
|
||||
== Подмодули
|
||||
|
||||
[width="100%",cols="19%,27%,54%",options="header",]
|
||||
[width="100%",cols="15%,25%,60%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git submodule` |`add <giturl> <dir>` |Добавить в каталог `<dir>`
|
||||
текущего рапозитория подмодуль, находящийся по адресу `<giturl>`
|
||||
текущего репозитория подмодуль, находящийся по адресу `<giturl>`
|
||||
|
||||
|`git submodule` |`update --recursive --remote` |Обновить подмодули
|
||||
|
||||
@ -159,233 +212,135 @@ git rm <path/to/submodule>
|
||||
|
||||
== Фиксация
|
||||
|
||||
[width="100%",cols="19%,27%,54%",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git add` |`<filename>` |Подготовить файл `<filename>` к фиксации
|
||||
|
||||
|
||||
|`git commit` | |Зафиксировать подготовленные файлы
|
||||
|
||||
|`git commit` |`-a` |Зафиксировать все отслеживаемые файлы, которые были
|
||||
изменены
|
||||
|===
|
||||
|
||||
== Удаление
|
||||
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git rm` |`<filename>` |Удалить файл из индекса и рабочего каталога
|
||||
|
||||
|`git rm` |`-f <filename>` |Force deletion of files from disk
|
||||
|`git rm` |`-f <filename>` |Принудительное удаление файла
|
||||
|
||||
|`git rm` |`--cached <filename>` |Untrack file (without deleting)
|
||||
|`git rm` |`--cached <filename>` |Удаление файла из проекта, но не из
|
||||
рабочего каталога
|
||||
|===
|
||||
|
||||
== Информация
|
||||
|
||||
[width="100%",cols="20%,20%,60%",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git status` |`-s` |Вывод информации о рабочем каталоге в
|
||||
краткой форме
|
||||
|
||||
|`git status` |`-s` |Вывод информации о рабочем каталоге в краткой форме
|
||||
|`git log` |`--oneline` |Вывод журнала изменений в краткой форме
|
||||
|
||||
|`git ls-files` | |Вывод списка отслеживаемых и подготовленных файлов
|
||||
|===
|
||||
|
||||
== $push branches (see tags for pushing tags)
|
||||
== Удалённый репозиторий
|
||||
|
||||
[cols=",,",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git push` |`<remotename> <branchname>` |Push branch to remote
|
||||
|`git push` |`<remotename> --all` |Push all branches to remote
|
||||
|`git push` |`--d <remotename> <branchname>` |`--delete` remote branch
|
||||
|`git remote` |`-v` |Список адресов удалённых репозиториев
|
||||
|
||||
|`git branch` |`-r` |Список веток в удалённых репозиториях
|
||||
|
||||
|`git remote` |`add <name> <url>` |Создать ссылку `<name>` на удалённый
|
||||
репозиторий, находящийся по адресу `<url>`
|
||||
|
||||
|`git remote` |`rename <old> <new>` |Переименовать ссылку `<old>` на
|
||||
`<new>`
|
||||
|
||||
|`git remote` |`rm <name>` |Удалить ссылку `<name>`
|
||||
|===
|
||||
|
||||
== $remote
|
||||
* Обращение к удалённому репозиторию осуществляется по ссылке,
|
||||
создаваемой командой `git remote`
|
||||
* Команда `git clone` автоматически создаёт ссылку `origin`
|
||||
|
||||
* Remote connections are like bookmarks named after remote repos
|
||||
* `git clone` automatically creates a remote connection usually called
|
||||
`origin`
|
||||
== Отправка изменений
|
||||
|
||||
[width="100%",cols="36%,26%,38%",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git remote` |`-v` |List remote repository endpoints
|
||||
|`git push` |`<remote> <branch>` |Отправить ветку `<branch>` в удалённый
|
||||
репозиторий `<remote>`
|
||||
|
||||
|`git branch` |`-r` |List remote repository branches
|
||||
|`git push` |`<remote> --all` |Отправить все ветки в удалённый
|
||||
репозиторий `<remote>`
|
||||
|
||||
|`git remote` |`add <name> <url>` |Create namespaced connection to a
|
||||
remote repository
|
||||
|
||||
|`git remote` |`rename <oldname> <newname>` |Rename connection
|
||||
|
||||
|`git remote` |`rm <name>` |Remove connection
|
||||
|
||||
|`git remote` |`add origin <url>` |Set remote origin
|
||||
|`git push` |`--d <remote> <branch>` |Удалить ветку `<branch>` из
|
||||
удалённого репозитория `<remote>`
|
||||
|===
|
||||
|
||||
Reference: https://git-scm.com/docs/git-remote
|
||||
== Получение изменений
|
||||
|
||||
*Remove remote origin:*
|
||||
|
||||
[source,shell]
|
||||
----
|
||||
# Remove `origin` settings from .git/config
|
||||
git remote rm origin
|
||||
|
||||
# Remove `FETCH_HEAD` which still points to remote
|
||||
git rm .git/FETCH_HEAD
|
||||
----
|
||||
|
||||
== $fetch-pull
|
||||
|
||||
[cols=",,",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git fetch` |`<remote>` |Fetch all branches from remote (without merge)
|
||||
|`git fetch` |`<remote> <branch>` |Fetch specific branch
|
||||
|`git merge` |`<remote>/<branch>` |Merge fetched remote
|
||||
|`git pull` |`<remote>` |Fetch and merge in one command
|
||||
|`git fetch` |`<remote>` |Получить изменения из всех веток репозитория
|
||||
`<remote>`, но не выполнять слияние
|
||||
|
||||
|`git fetch` |`<remote> <branch>` |Получить изменения из ветки
|
||||
`<branch>` репозитория `<remote>`, но не выполнять слияние
|
||||
|
||||
|`git merge` |`<remote>/<branch>` |Выполнить слияние с веткой `<branch>`
|
||||
репозитория `<remote>`
|
||||
|
||||
|`git pull` |`<remote>` |Получение и слияние
|
||||
|===
|
||||
|
||||
Reference: https://git-scm.com/docs/git-fetch,
|
||||
https://git-scm.com/docs/git-pull
|
||||
== Ветки
|
||||
|
||||
== $branch
|
||||
|
||||
[cols=",,",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git branch` | |List branches
|
||||
|`git branch` |`-a` |Список локальных и удалённых веток
|
||||
|
||||
|`git branch` |`<branchname>` |Create new branch
|
||||
|`git branch` | |Список локальных веток
|
||||
|
||||
|`git checkout` |`<sha-1>` |Switch to branch, or commit
|
||||
|`git branch` |`<branch>` |Создать ветку `<branch>`
|
||||
|
||||
|`git branch` |`-m <branchname> <newname>` |Rename branch
|
||||
|`git checkout` |`<sha-1>` |Перейти к фиксации с идентификатором
|
||||
`<sha-1>`
|
||||
|
||||
|`git merge` |`<branchname>` |Merge changes from `<branchname>` to
|
||||
current branch
|
||||
|`git branch` |`-m <old> <new>` |Переименовать ветку `<old>` в `<new>`
|
||||
|
||||
|`git branch` |`-d <branchname>` |`--delete` branch
|
||||
|`git merge` |`<branch>` |Слить изменения из ветки `<branch>` в текущую
|
||||
ветку
|
||||
|
||||
|`git branch` |`-d <branch>` |Удалить ветку `<branch>`
|
||||
|===
|
||||
|
||||
Reference: https://git-scm.com/docs/git-branch
|
||||
== Сравнение
|
||||
|
||||
== $diff
|
||||
|
||||
[cols=",,",options="header",]
|
||||
[width="100%",cols="15%,20%,65%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git diff` | |Compare *`working directory`* and *`index`*
|
||||
| |`–-cached` |Compare *`index`* and *`latest commit`*
|
||||
| |`HEAD` |Compare *`latest commit`* and *`working directory`*
|
||||
| |`--stat` |Optional short format
|
||||
| |`<sha-1> <sha-1>` |2 points in time to compare
|
||||
| |`<dir> | <file>` |Compare whole directory or limit to file
|
||||
|`git diff` | |Сравнить рабочий каталог и индекс
|
||||
|
||||
|`git diff` |`–-cached` |Сравнить индекс и последнюю фиксацию
|
||||
|
||||
|`git diff` |`HEAD` |Сравнить последнюю фиксацию и рабочий каталог
|
||||
|
||||
|`git diff` |`--stat` |Краткий вывод результатов
|
||||
|
||||
|`git diff` |`<sha-1> <sha-1>` |Сравнить две точки с указанными
|
||||
идентификаторами
|
||||
|
||||
|`git diff` |`<dir>` `<file>` |Сравнивать только указанный каталог
|
||||
`<dir>` или файл `<file>`
|
||||
|
||||
|`git difftool` | |Отобразить результаты сравнения в программе,
|
||||
определяемой переменной `diff.tool`
|
||||
|===
|
||||
|
||||
Reference: https://git-scm.com/docs/git-diff
|
||||
|
||||
*Examples:*
|
||||
|
||||
[source,shell]
|
||||
----
|
||||
## compare changes made to README.md between working tree (default) and latest commit (HEAD)
|
||||
$ git diff --stat HEAD ./path/README.md
|
||||
|
||||
## compare changes made to README.md between 2 specific points in time (e.g. 2 commits)
|
||||
$ git diff --stat a649900 24bdd58 ./path/README.md
|
||||
----
|
||||
|
||||
== $tag
|
||||
|
||||
[width="100%",cols="36%,26%,38%",options="header",]
|
||||
|===
|
||||
|Команда |Ключи |Описание
|
||||
|`git tag` | |List tags
|
||||
|
||||
|`git tag` |`<v1.0.0>` |Create tag, from latest commit, lightweight
|
||||
|
||||
|`git tag` |`-a <v1.0.0> -m "<msg>"` |Create tag, with `--annotate`,
|
||||
from latest commit
|
||||
|
||||
|`git tag` |`-a <v1.0.0> -m "<msg>" <SHA-1>` |Create tag, with
|
||||
`--annotate`, from specific commit
|
||||
|
||||
|`git tag` |`-d <v1.1.0>` |`--delete` tag
|
||||
|
||||
|`git show` |`<v1.0.0>` |Show tag data and message
|
||||
|
||||
|`git checkout` |`<v1.0.0>` |Switch to specific point tag (not editable)
|
||||
|
||||
|`git push` |`<remote> <tag>` |Push specific tag to `<remote>`
|
||||
(recommended)
|
||||
|
||||
|`git push` |`<remote> --tags` |Push all tags to `<remote>` (only if
|
||||
necessary)
|
||||
|===
|
||||
|
||||
Инициализация репозитория в каталоге `dir`:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git init dir
|
||||
----
|
||||
|
||||
Клонирование репозитория `repo`, принадлежащего пользователю `user`, с
|
||||
сервера `gitlab.2` в каталог `dir`:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git clone git@gitlab.2:user/repo.git dir
|
||||
----
|
||||
|
||||
Просмотр состояния рабочего каталога и репозитория:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git status
|
||||
----
|
||||
|
||||
Краткая форма вывода состояния:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git status -s
|
||||
----
|
||||
|
||||
Добавление файла `README.md` под версионный контроль и подготовка к
|
||||
фиксации:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git add README.md
|
||||
----
|
||||
|
||||
Удаление файла `README.md` из индекса репозитория:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git rm --cached README.md
|
||||
----
|
||||
|
||||
Зафиксировать файлы, подготовленные к фиксации:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git commit
|
||||
----
|
||||
|
||||
Зафиксировать все отслеживаемые файлы, которые были изменены:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git commit -a
|
||||
----
|
||||
|
||||
Отправить все ветки репозитория на сервер с меткой `origin`:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git push origin
|
||||
----
|
||||
|
@ -1,6 +1,8 @@
|
||||
= Git: распаковка объекта
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, git,
|
||||
:toc:
|
||||
|
||||
В случае повреждения репозитория можно восстановить отдельные объекты,
|
||||
которые сохраняются в формате zlib. Пример команды:
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Git: репозиторий на переносном устройстве
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, git,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Git: частичная копия репозитория
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, git,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= GitLab: выполнение по расписанию
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, gitlab, git,
|
||||
|
||||
|
38
wiki/Prog/Lang/CPP/Qt/Qt обмен бинарными данными с БД.adoc
Normal file
38
wiki/Prog/Lang/CPP/Qt/Qt обмен бинарными данными с БД.adoc
Normal file
@ -0,0 +1,38 @@
|
||||
= Qt: обмен бинарными данными с БД
|
||||
:title-separator: {sp}|
|
||||
:category: Программирование
|
||||
:tags: программирование, qt, postgresql, бд
|
||||
|
||||
Таблица, с которой осуществляется обмен:
|
||||
|
||||
[source,sql]
|
||||
----
|
||||
CREATE TABLE example (
|
||||
id INTEGER,
|
||||
bin_data BYTEA
|
||||
);
|
||||
----
|
||||
|
||||
Запись данных:
|
||||
|
||||
[source,cpp]
|
||||
----
|
||||
const char cart[] = {0x04, 0x43, 0x00, 0x9A};
|
||||
QByteArray binDataArray(QByteArray::fromRawData(cart, 4));
|
||||
QSqlQuery query;
|
||||
query.prepare(QString("INSERT INTO example (id, bin_data) VALUES(:id, :bin_data)");
|
||||
query.bindValue(":id", 10, QSql::In);
|
||||
query.bindValue(":bin_data", binDataArray, QSql::In | QSql::Binary);
|
||||
query.exec();
|
||||
----
|
||||
|
||||
Чтение данных:
|
||||
|
||||
[source,cpp]
|
||||
----
|
||||
QSqlQuery query;
|
||||
query.exec("SELECT id, bin_data FROM example LIMIT 1");
|
||||
query.next();
|
||||
QByteArray binDataArray = query.value(query.record().indexOf("bin_data")).toByteArray();
|
||||
----
|
||||
|
@ -19,7 +19,7 @@ https://ru.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms[BLAS]
|
||||
* https://github.com/skystrife/cpptoml[cpptoml]: чтение
|
||||
https://github.com/toml-lang/toml[TOML]
|
||||
* https://github.com/martinmoene/gsl-lite/[gsl-lite]: реализация
|
||||
рекомедаций https://github.com/isocpp/CppCoreGuidelines[C++ Core
|
||||
рекомендаций https://github.com/isocpp/CppCoreGuidelines[C++ Core
|
||||
Guidelines]
|
||||
* http://www.holoborodko.com/pavel/mpfr[mpfrc++]: C++ интерфейс для
|
||||
https://www.mpfr.org/[MPFR]
|
||||
|
@ -1,14 +1,12 @@
|
||||
= Работа с датами и временем
|
||||
:category: Программирование
|
||||
:tags: программирование, время, часы, дата,
|
||||
|
||||
:toc:
|
||||
:tags: программирование, время, часы, дата
|
||||
:toc: auto
|
||||
|
||||
== Временные шкалы
|
||||
|
||||
В идеале системы учёта времени должны обладать тремя характеристиками:
|
||||
|
||||
[arabic]
|
||||
. _точность_ (время базируется на атомном стандарте, каждая секунда
|
||||
отсчитывается как секунда в системе СИ, нет високосных секунд, переводов
|
||||
на зимнее или летнее время и т.п.);
|
||||
@ -18,7 +16,6 @@
|
||||
На практике есть возможность выбрать шкалу только с двумя
|
||||
характеристиками из трёх.
|
||||
|
||||
[arabic]
|
||||
. точность и календарные дни. Примером такой шкалы является UTC, в
|
||||
которой отсчёт дней и секунд ведётся разными методами (секунды
|
||||
исчисляются по атомному стандарту, а дни по суточному вращению Земли), а
|
||||
@ -32,7 +29,6 @@ Std 1003.1-1988), в которой день всегда равен 86400 се
|
||||
|
||||
Время можно условно поделить на два класса: физическое и гражданское.
|
||||
|
||||
[arabic]
|
||||
. _Физическое_ время представляет собой точки на непрерывной шкале,
|
||||
такую концепцию достаточно точно отражает UTC, если можно пренебречь
|
||||
_секундой координации_ (дополнительная секунда, добавляемая к UTC 30
|
||||
@ -73,7 +69,6 @@ _секундой координации_ (дополнительная секу
|
||||
|
||||
Правила хранения и отображения времени:
|
||||
|
||||
[arabic]
|
||||
. Время всегда хранится в UTC. При необходимости дополнительно
|
||||
сохраняется информация о временной зоне (смещение и/или название).
|
||||
. Для вывода на экран время переводится в местное.
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: сравнение файлов
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: замена выделенного блока
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: клавиши Leader и LocalLeader
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: клавиши PageUp и PageDown
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: кодировка файла
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: комментирование кода
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: менеджер плагинов Plug
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, плагины Vim,
|
||||
|
||||
@ -14,7 +15,6 @@ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
||||
|
||||
Чтобы использовать Plug, нужно добавить в `$HOME/.vim/vimrc`:
|
||||
|
||||
[arabic]
|
||||
* Строку `call plug#begin('~/.vim/plugged')`
|
||||
* Список строк, начинающихся с команды `Plug`, для загрузки плагинов
|
||||
* Закончить список командой `call plug#end()`
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: навигация по тексту с помощью easymotion
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: навигация по буферам
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: нумерация строк
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: проверка орфографии
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim, словарь, орфография,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: полезные ссылки
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim,
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
= Vim: управление окнами
|
||||
:title-separator: {sp}|
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 39 KiB |
Binary file not shown.
Before Width: | Height: | Size: 32 KiB |
Reference in New Issue
Block a user