asciidoc вместо markdown
This commit is contained in:
18
wiki/Vim/Vimdiff.adoc
Normal file
18
wiki/Vim/Vimdiff.adoc
Normal file
@ -0,0 +1,18 @@
|
||||
= Vim: сравнение файлов
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
Команды режима `diff` для сравнения и слияния файлов:
|
||||
|
||||
[cols="1,2",options="header",]
|
||||
|===
|
||||
|Команда |Назначение
|
||||
|`do` |Получить изменения из второго окна в текущее окно
|
||||
|`dp` |Вставить изменения из текущего окна во второе окно
|
||||
|`]c` |Перейти к следующему отличию
|
||||
|`[c` |Перейти к предыдущему отличию
|
||||
|`C-W` `C-W` |Переход между окнами
|
||||
|===
|
||||
|
||||
http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/[Видеоурок]
|
||||
по трехпутевому слиянию.
|
@ -1,19 +0,0 @@
|
||||
---
|
||||
title: "Vim: сравнение файлов"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim,
|
||||
summary:
|
||||
...
|
||||
|
||||
Команды режима `diff` для сравнения и слияния файлов:
|
||||
|
||||
Команда | Назначение
|
||||
-------------|------------
|
||||
`do` | Получить изменения из второго окна в текущее окно
|
||||
`dp` | Вставить изменения из текущего окна во второе окно
|
||||
`]c` | Перейти к следующему отличию
|
||||
`[c` | Перейти к предыдущему отличию
|
||||
`C-W` `C-W` | Переход между окнами
|
||||
|
||||
[Видеоурок](http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/)
|
||||
по трехпутевому слиянию.
|
21
wiki/Vim/Замена выделенного блока.adoc
Normal file
21
wiki/Vim/Замена выделенного блока.adoc
Normal file
@ -0,0 +1,21 @@
|
||||
= Vim: замена выделенного блока
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
Замену блока, выделенного в режиме VISUAL, можно выполнить
|
||||
последовательностью команд `y:%s/<ctrl-r>"/заменитель/g`.
|
||||
|
||||
[cols="1,3",options="header",]
|
||||
|===
|
||||
|Команда |Назначение
|
||||
|`y` |Копирование в регистр "
|
||||
|`:` |Перейти в командный режим
|
||||
|`%` |Применить ко всему буферу
|
||||
|`s` |Замена
|
||||
|`Сtrl-r` |Вставка из регистра
|
||||
|`"` |Имя регистра (будет предложено по умолчанию)
|
||||
|`/` |Разделитель
|
||||
|`заменитель` |Новый текст
|
||||
|`/` |Разделитель
|
||||
|`g` |Для всех вхождений в строке
|
||||
|===
|
@ -1,23 +0,0 @@
|
||||
---
|
||||
title: "Vim: замена выделенного блока"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim,
|
||||
summary:
|
||||
...
|
||||
|
||||
Замену блока, выделенного в режиме VISUAL, можно выполнить
|
||||
последовательностью команд `y:%s/<ctrl-r>"/заменитель/g`.
|
||||
|
||||
Команда | Назначение
|
||||
---------------|-------------
|
||||
`y` | Копирование в регистр "
|
||||
`:` | Перейти в командный режим
|
||||
`%` | Применить ко всему буферу
|
||||
`s` | Замена
|
||||
`Сtrl-r` | Вставка из регистра
|
||||
`"` | Имя регистра (будет предложено по умолчанию)
|
||||
`/` | Разделитель
|
||||
`заменитель` | Новый текст
|
||||
`/` | Разделитель
|
||||
`g` | Для всех вхождений в строке
|
||||
|
@ -1,39 +1,39 @@
|
||||
---
|
||||
title: "Vim: клавиши Leader и LocalLeader"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim,
|
||||
summary:
|
||||
...
|
||||
= Vim: клавиши Leader и LocalLeader
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
Клавиши `Leader` и `LocalLeader` представляют собой префиксы для команд.
|
||||
Их текущие значения можно посмотреть командами
|
||||
|
||||
```vim
|
||||
[source,vim]
|
||||
----
|
||||
:echo mapleader
|
||||
:echo maplocalleader
|
||||
```
|
||||
----
|
||||
|
||||
Часто их значения переназначают в файле `$HOME/.vimrc`, например так
|
||||
Часто их значения переназначают в файле `$HOME/.vim/vimrc`, например так
|
||||
|
||||
```vim
|
||||
[source,vim]
|
||||
----
|
||||
let mapleader = "\<Space>"
|
||||
let maplocalleader = ","
|
||||
```
|
||||
----
|
||||
|
||||
Новое значение команды генерируется с помощью текущих значений этих
|
||||
переменных, таким образом последовательность команд
|
||||
|
||||
```vim
|
||||
[source,vim]
|
||||
----
|
||||
let mapleader = ","
|
||||
nnoremap <Leader>a :echo "Hey there ,"<CR>
|
||||
|
||||
let mapleader = "\<Space>"
|
||||
nnoremap <Leader>a :echo "Hey there space"<CR>
|
||||
```
|
||||
----
|
||||
|
||||
приведёт к тому, что будут созданы две команды `,a` и `<Space>a`,
|
||||
следовательно для получения единообразных команд следует помещать
|
||||
переназначения в начало файла `$HOME/.vimrc`.
|
||||
переназначения в начало файла `$HOME/.vim/vimrc`.
|
||||
|
||||
`LocalLeader` отличается от `Leader` тем, что действует только для
|
||||
текущего буфера, поэтому обычно используется в плагинах, загружаемых
|
||||
@ -42,7 +42,7 @@ nnoremap <Leader>a :echo "Hey there space"<CR>
|
||||
Таймауты для ввода команд, использующих клавиши `Leader` и
|
||||
`LocalLeader`, настраиваются командой
|
||||
|
||||
```vim
|
||||
[source,vim]
|
||||
----
|
||||
set timeout timeoutlen=5000 ttimeoutlen=100
|
||||
```
|
||||
|
||||
----
|
@ -1,14 +1,12 @@
|
||||
---
|
||||
title: "Vim: клавиши PageUp и PageDown"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim,
|
||||
summary:
|
||||
...
|
||||
= Vim: клавиши PageUp и PageDown
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
Чтобы поведение клавиш `PageUp` и `PageDown` совпадало с более
|
||||
привычным, можно добавить в `$HOME/.vimrc` следующий код:
|
||||
привычным, можно добавить в `$HOME/.vim/vimrc` следующий код:
|
||||
|
||||
```vim
|
||||
[source,vim]
|
||||
----
|
||||
" Более привычные PgUp / PgDown, когда курсор остаётся в той же строке, "
|
||||
" а не переносится вверх / вниз экрана, как при стандартном PgUp / PgDown. "
|
||||
" Поскольку по умолчанию прокрутка по C-U / C-D, при которой курсор остаётся
|
||||
@ -18,5 +16,4 @@ nmap <PageUp> <C-U><C-U>
|
||||
nmap <PageDown> <C-D><C-D>
|
||||
imap <PageUp> <C-O><C-U><C-O><C-U>
|
||||
imap <PageDown> <C-O><C-D><C-O><C-D>
|
||||
```
|
||||
|
||||
----
|
@ -1,15 +1,13 @@
|
||||
---
|
||||
title: "Vim: кодировка файла"
|
||||
category: Vim
|
||||
tags: Vim,
|
||||
summary:
|
||||
...
|
||||
= Vim: кодировка файла
|
||||
:category: Vim
|
||||
:tags: Vim,
|
||||
|
||||
Для управления кодировкой файлов можно создать дополнительное меню,
|
||||
позволяющее открыть файл в выбранной кодировке, проверить её
|
||||
корректность и сохранить в нужном виде. Пример кода:
|
||||
|
||||
```vim
|
||||
[source,vim]
|
||||
----
|
||||
" кодировка для чтения файла
|
||||
set encoding=utf-8
|
||||
" кодировка терминала
|
||||
@ -29,5 +27,4 @@ menu Encoding.Open\ as\ UCS-2LE :e ++enc=ucs-2le<CR>
|
||||
menu Encoding.Open\ as\ UTF-8 :e ++enc=utf-8<CR>
|
||||
menu Encoding.Convert\ to\ UTF-8 :set fenc=utf-8<CR>
|
||||
map <F12> :emenu Encoding.<Tab>
|
||||
```
|
||||
|
||||
----
|
25
wiki/Vim/Комментирование кода.adoc
Normal file
25
wiki/Vim/Комментирование кода.adoc
Normal file
@ -0,0 +1,25 @@
|
||||
= Vim: комментирование кода
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
Отмена автоматического комментирования кода при вставке из буфера:
|
||||
|
||||
[source,vim]
|
||||
----
|
||||
autocmd FileType * setlocal formatoptions-=cro
|
||||
----
|
||||
|
||||
Для управления комментированием можно использовать плагин
|
||||
https://github.com/scrooloose/nerdcommenter[NerdCommenter]. Основные
|
||||
команды:
|
||||
|
||||
[cols="1,2",options="header",]
|
||||
|===
|
||||
|Команда |Назначение
|
||||
|`[n]<leader>cc` |комментировать блок
|
||||
|`[n]<leader>cn` |комментировать с учётом вложенности
|
||||
|`[n]<leader>cl` |символ комментария помещать в начало строки
|
||||
|`[n]<leader>ci` |инвертирование комментариев
|
||||
|`<leader>cA` |добавить комментарий в конец строки
|
||||
|`[n]<leader>cu` |раскомментировать блок
|
||||
|===
|
@ -1,26 +0,0 @@
|
||||
---
|
||||
title: "Vim: комментирование кода"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim,
|
||||
summary:
|
||||
...
|
||||
|
||||
Отмена автоматического комментирования кода при вставке из буфера:
|
||||
|
||||
```Vim
|
||||
autocmd FileType * setlocal formatoptions-=cro
|
||||
```
|
||||
|
||||
Для управления комментированием можно использовать плагин
|
||||
[NerdCommenter](https://github.com/scrooloose/nerdcommenter).
|
||||
Основные команды:
|
||||
|
||||
Команда | Назначение
|
||||
----------------------|----------------------------
|
||||
`[n]<leader\>cc` | комментировать блок
|
||||
`[n]<leader\>cn` | комментировать с учётом вложенности
|
||||
`[n]<leader\>cl` | символ комментария помещать в начало строки
|
||||
`[n]<leader\>ci` | инвертирование комментариев
|
||||
`<leader\>cA` | добавить комментарий в конец строки
|
||||
`[n]<leader\>cu` | раскомментировать блок
|
||||
|
@ -1,28 +1,28 @@
|
||||
---
|
||||
title: "Vim: менеджер плагинов Plug"
|
||||
category: Vim
|
||||
tags: Vim, плагины Vim,
|
||||
summary:
|
||||
...
|
||||
= Vim: менеджер плагинов Plug
|
||||
:category: Vim
|
||||
:tags: Vim, плагины Vim,
|
||||
|
||||
Автоматическое управление плагинами в Vim можно организовать
|
||||
с помощью менеджера [Plug](https://github.com/junegunn/vim-plug),
|
||||
установить который можно командой
|
||||
Автоматическое управление плагинами в Vim можно организовать с помощью
|
||||
менеджера https://github.com/junegunn/vim-plug[Plug], установить который
|
||||
можно командой
|
||||
|
||||
```sh
|
||||
[source,sh]
|
||||
----
|
||||
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
||||
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
```
|
||||
----
|
||||
|
||||
Чтобы использовать Plug, нужно добавить в `$HOME/.vimrc`:
|
||||
Чтобы использовать Plug, нужно добавить в `$HOME/.vim/vimrc`:
|
||||
|
||||
1. Строку `call plug#begin('~/.vim/plugged')`
|
||||
2. Список строк, начинающихся с команды `Plug`, для загрузки плагинов
|
||||
3. Закончить список командой `call plug#end()`
|
||||
[arabic]
|
||||
* Строку `call plug#begin('~/.vim/plugged')`
|
||||
* Список строк, начинающихся с команды `Plug`, для загрузки плагинов
|
||||
* Закончить список командой `call plug#end()`
|
||||
|
||||
Пример:
|
||||
|
||||
```vim
|
||||
[source,vim]
|
||||
----
|
||||
" Обязательно использовать одиночные кавычки
|
||||
call plug#begin('~/.vim/plugged')
|
||||
|
||||
@ -40,5 +40,4 @@ Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
|
||||
|
||||
" Окончание списка плагинов
|
||||
call plug#end()
|
||||
```
|
||||
|
||||
----
|
@ -1,15 +1,13 @@
|
||||
---
|
||||
title: "Vim: навигация по тексту с помощью easymotion"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim,
|
||||
summary:
|
||||
...
|
||||
= Vim: навигация по тексту с помощью easymotion
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
Плагин [easymotion](https://github.com/easymotion/vim-easymotion)
|
||||
предоставляет функции для удобного перемещения по тексту.
|
||||
Пример настройки:
|
||||
Плагин https://github.com/easymotion/vim-easymotion[easymotion]
|
||||
предоставляет функции для удобного перемещения по тексту. Пример
|
||||
настройки:
|
||||
|
||||
```vim
|
||||
[source,vim]
|
||||
----
|
||||
" Не включать команды по умолчанию
|
||||
let g:EasyMotion_do_mapping = 0
|
||||
|
||||
@ -49,5 +47,4 @@ omap / <Plug>(easymotion-tn)
|
||||
" different highlight method and have some other features )
|
||||
map n <Plug>(easymotion-next)
|
||||
map N <Plug>(easymotion-prev)
|
||||
```
|
||||
|
||||
----
|
14
wiki/Vim/Навигация по буферам.adoc
Normal file
14
wiki/Vim/Навигация по буферам.adoc
Normal file
@ -0,0 +1,14 @@
|
||||
= Vim: навигация по буферам
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
[cols="1,2",options="header",]
|
||||
|===
|
||||
|Команда |Назначение
|
||||
|`:bn` |следующий буфер
|
||||
|`:bp` |предыдущий буфер
|
||||
|`:ls` |список открытых буферов
|
||||
|`:bd` |закрыть текущий буфер
|
||||
|`:b имя_буфера` |переключиться на буфер
|
||||
|`:bdа имя_буфера` |удалить буфер по имени
|
||||
|===
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
title: "Vim: навигация по буферам"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim,
|
||||
summary:
|
||||
...
|
||||
|
||||
Команда | Назначение
|
||||
------------------|-----------------
|
||||
`:bn` | следующий буфер
|
||||
`:bp` | предыдущий буфер
|
||||
`:ls` | список открытых буферов
|
||||
`:bd` | закрыть текущий буфер
|
||||
`:b имя_буфера` | переключиться на буфер
|
||||
`:bdа имя_буфера` | удалить буфер по имени
|
||||
|
@ -1,14 +1,12 @@
|
||||
---
|
||||
title: "Vim: нумерация строк"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim,
|
||||
summary:
|
||||
...
|
||||
= Vim: нумерация строк
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
Для переключения режимов отображения слева столбца нумерации
|
||||
строк можно добавить в `$HOME/.vimrc` следующий код:
|
||||
Для переключения режимов отображения слева столбца нумерации строк можно
|
||||
добавить в `$HOME/.vimrc` следующий код:
|
||||
|
||||
```vim
|
||||
[source,vim]
|
||||
----
|
||||
" Нумерация строк включена
|
||||
set number
|
||||
" Нумерация строк абсолютная
|
||||
@ -28,7 +26,7 @@ function! ChangeNumbering()
|
||||
endfunc
|
||||
|
||||
map <LocalLeader># <Esc>:call ChangeNumbering()<CR>
|
||||
```
|
||||
----
|
||||
|
||||
В результате по команде `<LocalLeader>#` будет осуществляться
|
||||
циклическое переключение между абсолютной, относительной нумерацией
|
@ -1,14 +1,12 @@
|
||||
---
|
||||
title: "Vim: проверка орфографии"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim, словарь, орфография,
|
||||
summary:
|
||||
...
|
||||
= Vim: проверка орфографии
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim, словарь, орфография,
|
||||
|
||||
Код в `$HOME/.vimrc` для циклического переключения режимов проверки
|
||||
Код в `$HOME/.vim/vimrc` для циклического переключения режимов проверки
|
||||
орфографии: два языка, английский, русский и без проверки:
|
||||
|
||||
```Vim
|
||||
[source,vim]
|
||||
----
|
||||
" По умолчанию проверка орфографии для русского и английского.
|
||||
setlocal spell spelllang=ru,en
|
||||
set spellsuggest=9
|
||||
@ -35,5 +33,4 @@ map <C-F7> <Esc>:call ChangeSpellLang()<CR>
|
||||
" выбор альтернатив
|
||||
imap <F7> <Esc> z=<CR>i
|
||||
map <F7> z=<CR>
|
||||
```
|
||||
|
||||
----
|
10
wiki/Vim/Ссылки.adoc
Normal file
10
wiki/Vim/Ссылки.adoc
Normal file
@ -0,0 +1,10 @@
|
||||
= Vim: полезные ссылки
|
||||
:category: Vim
|
||||
:tags: Vim,
|
||||
|
||||
* http://vim.org[Vim]
|
||||
* http://usevim.com/[Usevim]
|
||||
* http://nvie.com/posts/how-i-boosted-my-vim/[How I boosted my Vim]
|
||||
* https://sheerun.net/2014/03/21/how-to-boost-your-vim-productivity/[How
|
||||
to boost your Vim productivity]
|
||||
* https://vimawesome.com/[Vim Awesome]
|
@ -1,12 +0,0 @@
|
||||
---
|
||||
title: "Vim: полезные ссылки"
|
||||
category: Vim
|
||||
tags: Vim,
|
||||
summary:
|
||||
...
|
||||
|
||||
* [Vim](http://vim.org)
|
||||
* [Usevim](http://usevim.com/)
|
||||
* [How I boosted my Vim](http://nvie.com/posts/how-i-boosted-my-vim/)
|
||||
* [How to boost your Vim productivity](https://sheerun.net/2014/03/21/how-to-boost-your-vim-productivity/)
|
||||
* [Vim Awesome](https://vimawesome.com/)
|
19
wiki/Vim/Управление окнами.adoc
Normal file
19
wiki/Vim/Управление окнами.adoc
Normal file
@ -0,0 +1,19 @@
|
||||
= Vim: управление окнами
|
||||
:category: Vim
|
||||
:tags: Vim, команды Vim,
|
||||
|
||||
[cols="1,2",options="header",]
|
||||
|===
|
||||
|Команда |Назначение
|
||||
|`:split filename` |открыть в новом окне (горизонтальное разделение)
|
||||
|`:vsplit filename` |открыть в новом окне (вертикальное разделение)
|
||||
|`<C-W>` `<C-W>` |перейти к следующему окну
|
||||
|`<C-W>` `q` |закрыть текущее окно
|
||||
|`<C-W>` `o` |развернуть окно полностью
|
||||
|`<C-W>` `pass:c[_]` |развернуть окно по высоте
|
||||
|`<C-W>` `\|` |развернуть окно по ширине
|
||||
|`<C-W>` `=` |выровнять размер окон
|
||||
|`<C-W>` `+` |увеличить окно на 1 строку
|
||||
|`<C-W>` `-` |уменьшить окно на 1 строку
|
||||
|`<C-W>` `стрелки` |перемещение между окнами
|
||||
|===
|
@ -1,21 +0,0 @@
|
||||
---
|
||||
title: "Vim: управление окнами"
|
||||
category: Vim
|
||||
tags: Vim, команды Vim,
|
||||
summary:
|
||||
...
|
||||
|
||||
Команда | Назначение
|
||||
--------------------|-------------------------
|
||||
`:split filename` | открыть в новом окне (горизонтальное разделение)
|
||||
`:vsplit filename` | открыть в новом окне (вертикальное разделение)
|
||||
`<C-W>` `<C-W>` | перейти к следующему окну
|
||||
`<C-W>` `q` | закрыть текущее окно
|
||||
`<C-W>` `o` | развернуть окно полностью
|
||||
`<C-W>` `_` | развернуть окно по высоте
|
||||
`<C-W>` `|` | развернуть окно по ширине
|
||||
`<C-W>` `=` | выровнять размер окон
|
||||
`<C-W>` `+` | увеличить окно на 1 строку
|
||||
`<C-W>` `-` | уменьшить окно на 1 строку
|
||||
`<C-W>` `стрелки` | перемещение между окнами
|
||||
|
Reference in New Issue
Block a user