LINUX.ORG.RU

Незаменимые plug-in'ы Vim

 


21

12

Наверное, «незаменимые» слишком резко, но все же, какие, по вашему мнению, действительно полезные (не тривиальные, типа NERDtree, Syntastic или комплитеры) plug-in'ы для Vim вы используете?

Полагаю, эта тема будет интересна для начинающих и остальных пользователей Vim.

Из того, что использую я:

«The missing motion for Vim» полезен тем, что позволяет искать и перейти к искомому, в отличие от изкоробочного f F одного символа - по 2 или 3, также после активации опции может работать как аналог довольно неюзабельного easymotion, но главное преимущество все-таки в изначальном применении.

«simple REPL inside vim» - дико тащусь от этого малоизвестного плагина, проще посмотреть иллюстрацию по ссылке. (вкратце: получить по одному нажатию результат интерпретатора выделенного куска, :read !* отдыхает).

«Yet another rainbow parentheses plugin» - имхо лучшие цветные скобочки из существующих.

аналог имаксовского Narrow Region, когда хочешь сконцентрироваться на небольшом куске кода/текста, выделяешь, он открывается в отдельном буфере, при сохранении синхронизация с остальным.

открывает файловый менеджер или терминал в директории с редактируемым файлом.

предпросмотр :substitute в реальном времени

...

Кроме этого, может кто не знал: о самом удобном манипулировании с окнами, взаимодействии с tmux (например под любой интерпретатор/компилятор), стартовом экране, календаре-планировщике, отображении отступов, а также нескучной цветовой схеме для терминала, получше, чем блевотный solarized.

Что посоветуете?



Последнее исправление: clojure (всего исправлений: 3)

открывает файловый менеджер или терминал в директории с редактируемым файлом

А шо, так уже не модно:

" View files
map <F12> <S-tab>:e ./<cr>
vmap <F12> <esc><S-tab>:e ./<cr>
imap <F12> <esc><S-tab>:e ./<cr>

позволяет искать и перейти к искомому

Ну... <esc>/слово<cr>n и далее n, n, n для перехода к следующему сматченному. Или я о другом?

deep-purple ★★★★★
()
Ответ на: комментарий от anonymous

Попробовал, не работает.

Я не в курсе как у тебя скомпилен вим, возможно причина в этом, в общем на голом виме, без плагинов, без .vimrc, с заводскими настройками:

Запускаешь: vim -u NONE

В виме начинаешь вбивать:

:hi CursorColumn term=NONE cterm=NONE ctermbg=240
:hi CursorLine term=NONE cterm=NONE ctermbg=240
Теперь, после ввода: :set cuc! cul! - у тебя должен появиться крест-курсор, если не работает - нужно копать глубже.

clojure
() автор топика
Ответ на: комментарий от deep-purple

А шо, так уже не модно:
map <F12> <S-tab>:e ./<cr>

vim-gtfo открывает реальный терминал или файлменеджер, мало ли зачем тебе это нужно, разные вещи же.

<esc>/слово<cr>n и далее n, n, n для перехода к следующему сматченному. Или я о другом?

это прежде всего моушин со всеми вытекающими, а не поиск, подробнее указано в FAQ плагина, см. «Why not use /?» и далее.

clojure
() автор топика

В общем из нового и модного (с хорошим демо и документацией), можно посмотреть: https://github.com/szw/vim-ctrlspace (не путать с ctrlp.vim)

clojure
() автор топика
Ответ на: комментарий от clojure

Я не в курсе как у тебя скомпилен вим, возможно причина в этом

Кстати, вариант. У меня ж Gentoo, use-флаги только нужные включены.

anonymous
()

Лично для меня, в последнее время, стал действительно незаменимым плагин для выравнивания о котором я забыл сказать в первом посте, очень удобно, как только начинаешь выравнивать, пока везде и все не выровняешь - не успокоишься: https://github.com/junegunn/vim-easy-align

Работает очень просто: выделяешь кусок (есть и интерактивный режим без выделения), нажимаешь Enter, вводишь делиметр по какому выравнивать (например пробел) и его порядковый номер, если не по первому и всё, никаких регулярок. Это простой пример, плугин же дико мощный.

Пользователи tabular отправляются читать разницу между плугинами в документацию, где автор (кстати бывший пользователь tabular) объясняет преимущества vim-easy-align.

clojure
() автор топика
Ответ на: комментарий от najlus

gundo - древо изменений

сравнивал с undotree ?

Ему не нужен питон, изменения отображает онлайн (без сохранения, моментально), короче на странице плагина описана разница между gundo и undotree, рекомендую ознакомиться и попробовать.

clojure
() автор топика
Ответ на: комментарий от clojure

сравнивал с undotree ?

Только что попробовал: радует выделение изменений в самом файле, огорчает diff - тут gundo поудобней будет:
Во-первых, у gundo diff меняется автоматически, при наведении курсора на одно из состояний, у undotree же надо его применить, чтоюы увидеть разницу.
Во-вторых, его можно перенести на в нижнюю часть самого файла, а не узенькой панели (в общем смотри скриншот)
В-третьих, по нажатию «p» у gundo в diff отображается разница между текущим состоянием и выбраным, аналогичного функционала к undotree я не нашёл.

Пока останусь на gundo, но за undotree понаблюдаю.

najlus ★★★★★
()
Последнее исправление: najlus (всего исправлений: 1)

Как двигаете строку/строки вверх/вниз в normal/visual mode?

Я раньше двигал вот таким маппингом, который не работает в некоторых случаях и не умеет в count:

nnoremap  <C-j>        4jzz
nnoremap  <C-k>        4kzz

Но, есть такой удобный плагин vim-move, который и в count умеет и не снимает выделение, в общем must have.

Кто будет ставить, обратите внимание, если не работает по дефолту на alt-j/k, нужно настроить вот так, чтобы избежать проблем с обработкой alt/meta сигналов эмулятором терминала, но увидеть какая действительно там настройка можно только склонировав себе репу и заглянув в сам файл, т.к. там непечатаемые символы, которые html не показывает.

В общем как у меня.

clojure
() автор топика
Ответ на: комментарий от clojure

nnoremap <C-j> 4jzz
nnoremap <C-k> 4kzz

сорри, не то, конечно же:

nmap      <C-Up>       [e
nmap      <C-Down>     ]e
vmap      <C-Up>       [egv
vmap      <C-Down>     ]egv

clojure
() автор топика
Ответ на: комментарий от clojure

Как двигаете строку/строки вверх/вниз в normal/visual mode?

Обычным: d/move/p. Не так часто это требуется, чтобы отдельный плагин заводить.

anonymous
()

Плагин vim-pasta полезен тем, что вставляет p , P исходя из контекста и учитывая отступы, весьма удобно.

По умолчанию заремаплено в дефолтные p/P, но можно изменить, я например поставил на <Leader>p.

А вообще, внезапно в тред врывается новый сайт VimAwesome где собраны все плагины, можно выбирать по применению и т.д.

VimCasts
()

vim-paren-crosshairs - помогает понять где именно курсор, при отображении парной скобки.
Хоть используемая мною цветсхема делает их разными, но иногда реально бесило.

Ну и слегка оживляет редактирование :)

VimCasts
()

Плагин semantic-highlight.vim - раскрашивает каждую переменную в отдельный цвет, стоит попробовать.

VimCasts
()

vim-easyclip Делает работу с регистрами такой, как она должна быть изначально. «0p больше не нужен/

Спасибо топикстартеру за gruvbox - это самая лучшая темная схема из мной виденных.

emcode
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.