Инструменты пользователя

Инструменты сайта


public:pavel:develop:vim

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
public:pavel:develop:vim [2015/02/18 05:39] – [Плагины] pavelpublic:pavel:develop:vim [2025/09/11 01:17] (текущий) – внешнее изменение 127.0.0.1
Строка 15: Строка 15:
   - [[https://github.com/amiorin/vim-project|vim-project]] --- плагин для работы с проектами. Предоставляет стартовый экран, выполнение функций при открытии проектов (например, догрузку vim-скрипта для проекта)   - [[https://github.com/amiorin/vim-project|vim-project]] --- плагин для работы с проектами. Предоставляет стартовый экран, выполнение функций при открытии проектов (например, догрузку vim-скрипта для проекта)
   - [[https://github.com/mhinz/vim-startify|vim-startify]] --- ещё один стартовый экран (закладки, сессии и т.п.)   - [[https://github.com/mhinz/vim-startify|vim-startify]] --- ещё один стартовый экран (закладки, сессии и т.п.)
 +  - [[https://github.com/jiangmiao/auto-pairs|Auto Pairs]] --- автоматическая вставка парных символов (скобки, кавычки и т.п.) 
 +  - [[https://ctags.io/|Universal Tags]] --- продолжение ctags ([[https://github.com/universal-ctags/ctags|github]])
 ===== JavaScript IDE ===== ===== JavaScript IDE =====
  
Строка 158: Строка 159:
 </code> </code>
  
-==== Динамическая загрузка скриптов vim-а ====+==== Загрузка скриптов vim-а с проверкой существования файла ====
  
 Использую для загрузки вспомогательного конфига с перечнем проектов Использую для загрузки вспомогательного конфига с перечнем проектов
Строка 166: Строка 167:
     so ~/.vimrc.projects     so ~/.vimrc.projects
 endif endif
 +</code>
 +
 +==== Регулярные выражения ====
 +
 +=== Начало текста в строках ===
 +
 +Допустим, есть текст:
 +
 +<code>
 +aaa
 +   bbb
 +ccc
 +     ddd
 +</code>
 +
 +Хотим получить:
 +
 +<code>
 +ggg.aaa
 +   ggg.bbb
 +ggg.ccc
 +      ggg.ddd
 +</code>
 +
 +Варианты решения:
 +
 +<code>
 +:%s/\v(\s|^)@<=(\w)@=/ggg./
 +:%s/\v</ggg./
 +</code>
 +
 +==== Сортировка строчек ====
 +
 +Запись всех строчек файла в обратном порядке. Можно сделать с помощью команды "tac":
 +
 +<code vim>
 +:.!tac %
 +</code>
 +===== Основы =====
 +
 +==== Copy&paste ====
 +
 +  - Выделяем текст для копирования
 +  - Нажимаем на клавишу ''d'' чтобы вырезать или ''y'' чтобы скопировать
 +  - Перемещаемся на место вставки
 +  - Нажимаем на клавишу ''p'' (после курсора) или ''P'' (до курсора)
 +
 +Чтобы обратиться к какому-то конкретному регистру надо жать ''<nowiki>"<register></nowiki>'', где вместо ''<nowiki><register></nowiki>'' можно указывать цифру или букву. Так будет выглядеть копирование и вставка через регистр ''a'':
 +
 +  * ''<nowiki>"ay</nowiki>'' --- копирование в регистр ''a''
 +  * ''<nowiki>"ap</nowiki>'' --- вставка из регистра ''a''
 +
 +В качестве системного буфера обмена выступает регистр ''+''
 +
 +Чтобы вставить в командную строку vim-а надо нажимать ''<nowiki><ctrl+r>"ap</nowiki>'', где ''<nowiki><ctrl+r></nowiki>'' --- позволяет выполнять команды в командной строке vim-а, затем пойдёт обычная команда из нормального режима, ''<nowiki>"a</nowiki>'' --- обращение к регистру //a//, ''p'' --- вставка.
 +
 +==== Макросы ====
 +
 +Начать запись макроса можно с помощью: ''q<register>'', где вместо ''<register>'' какая-нибудь буква или цифра. Например, ''qa'' --- начнёт запись макроса в регистр //a//. Теперь все выполняемые действия будут записаны в макрос. Чтобы прекратить запись надо в нормальном режиме нажать ''a''.
 +
 +Чтобы выполнить макрос жмём ''@<register>'', например ''@a'' --- выполнит макрос записанный в регистр //a//.
 +
 +===== Help =====
 +
 +Синтаксис поиска описания комбинаций клавиш: '':help i_CTRL-P'' --- где ''i'' - режим, ''CTRL-P'' - комбинация. Другой пример: '':help i_CTRL-X_CTRL_O''
 +
 +===== Neovim GUI =====
 +
 +<code javascript>
 +#!/usr/bin/env node
 +
 +var proc = require('child_process');
 +
 +var args = process.argv.concat([]);
 +args.splice( 0, 2 );
 +args.unshift( 'nvim' );
 +
 +var nvimCmd = args.join(' ');
 +
 +var termCmd = 'xfce4-terminal --command="' + nvimCmd + '"';
 +proc.execSync(termCmd);
 </code> </code>
  
public/pavel/develop/vim.1424237955.txt.gz · Последнее изменение: (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki