LINUX.ORG.RU

Vim 8.1

 


4

4

Доступен минорный релиз Vim 8.1, в котором были исправлены многие ошибки, обновлена документация, добавлены новые возможности и т. д.

Vim — мощный текстовый редактор с полной свободой настройки, являющийся клоном vi. Распространяется под свободной GPL-совместимой лицензией. Может использоваться как в консольном, так и в графическом режиме.

Основной особенностью данного релиза является поддержка запуска терминала в окне редактора. Эта возможность основана на асинхронных средствах, добавленных в Vim 8.0. Окно терминала может быть использовано для множества целей, например:

  • запуск сборки в процессе редактирования файлов в других окнах;
  • запуск команд в shell;
  • отладка с помощью нового отладочного плагина и т. д.

Особенно полезной такая функция оказывается в случае работы через ssh, когда открытие дополнительных терминалов невозможно или неудобно. Запустить терминал можно командой :terminal, а переключаться между окнами комбинацией CTRL-W w.

>>> Подробности



Проверено: maxcom ()

Ответ на: комментарий от anonymous

notepad++ подсветка и поиск/замена тоже капитально тормозят

каком количестве файлов (и от какого объема) капитально тормозит поиск/замена?

captain_cat ()
Ответ на: комментарий от ugoday

Сами себе находят проблемы — земля пухом этому большинству.

Exmor_RS ★★ ()
Ответ на: комментарий от andreyu

Пока что единственный активно развиваемый и полнофункциональный вариант — cquery и LanguageClient-neovim (который я тыкал палочкой, насчёт Vim не знаю). В дальнейшем можно будет посмотреть на clangd, но он пока не готов.

commagray ★★★★★ ()
Последнее исправление: commagray (всего исправлений: 1)
Ответ на: комментарий от commagray

Пока что единственный активно развиваемый и полнофункциональный вариант — cquery.

Его первым и установил. Какой плагин для вима нужен? Я попробовал natebosch/vim-lsc, но cquery ругается «cacheDirectory cannot be empty».

А как ему указать путь к директории я не могу понять.

if executable('cquery')
    Plug 'natebosch/vim-lsc'

    let g:lsc_auto_map = v:true " Use defaults
    let g:lsc_server_commands = {
                \ 'c': 'cquery',
                \ 'cpp': 'cquery',
                \ 'objc': 'cquery',
                \ 'objcpp': 'cquery'
                \ }
endif

Это .cquery:

%clang
%c -std=gnu11
%cpp -std=c++11
-pthread

-Isrc
# project specific includes...

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Сделал так:

    let g:lsc_server_commands = {
                \ 'c': 'cquery --init="{\"cacheDirectory\": \"/tmp/cquery\"}',
                \ 'cpp': 'cquery --init="{\"cacheDirectory\": \"/tmp/cquery\"}',
                \ 'objc': 'cquery --init="{\"cacheDirectory\": \"/tmp/cquery\"}',
                \ 'objcpp': 'cquery --init="{\"cacheDirectory\": \"/tmp/cquery\"}'
                \ }

Но это глобальный путь к кешу, а как задать путь к кешу для проекта локально?

andreyu ★★★★★ ()
Ответ на: комментарий от next_time

В виме своя переключалка языков, но ей неудобно пользоваться. Если же пользоваться системной, то в русской локали часть вимовских команд перестает работать. Ремап русскх букв на английские в normal mode проблему решает, но лишь отчасти

makoven ★★★★★ ()
Ответ на: комментарий от commagray

Комплитер работает как-то так:
- есть метод set(...);
- ввожу set;
- появляется попап со списком методов, а набранный set при этом может удалиться.

От чего это зависит я не понял. Возможно от скорости ветра за окном. Но удобства это не добавляет.

В лог периодически сыплются разные ошибки. Например:

[lsc:Error] StdErr from cquery --init=«{\„cacheDirectory\“: \»/tmp/cquery\«}: 2018-05-19 12:28:19.564 ( 577.875s) [querydb
  ]  working_files.cc:533   WARN| Could not close /Users/andrey/projects/worms-zone/__lsc_preview__ because it was not open

Возможно LSP/cquery/lsc когда-нибудь разовьются до чего-либо юзабельного, но сейчас это хреново работающие недоделия.

Возвращаюсь на youcompleteme, который выполняет свою задачу хорошо, а настраивается легко.

andreyu ★★★★★ ()
Ответ на: комментарий от zoloz

«чем оно лучше leafpad ?» тем что работает везде и не требует ни gtk ни даже X если их нет.

anonymous ()
Ответ на: комментарий от pacify

«На Android Linux работает?» даже на просто андроид работал. с 2.3 версии этого самого андроида

anonymous ()
Ответ на: комментарий от Exmor_RS

«Практически им не пользуюсь (в качестве редактора общего назначения) из-за того что нельзя быстро скопировать мышуном текст (надо мучаться с выделением, кликать левой КМ, потом ПК мыши). GVim/Macvim выглядят страшно. И опять же ими неудобно пользоваться.

Если набираешь текст своей нетленки, то вим богоподобен — если нужно работать с кучей файлов из разных мест, вон тот быстро посмотреть и что-то скопировать или поправить текстовик (не путать с конфигом на удалённом сервере по SSH) — то всё печально.

Это вроде всё можно сделать и в виме и нужно только привыкнуть, но как только ты один раз делаешь это по-старому, то понимаешь насколько вим неудобен в современных реалиях, когда у тебя есть мышь и графические интерфейсы.»

использование мыши убирает 50% мотороной эффективности (реально больше - мышь держат правой рукой) и добрую четверть внимания..

оставте мышь там где она (или планшет) основной инструмент - в дизайне

ps

а не потому ли современный хипстерский софт такой глючный и толстый что пишут его методом выделения текста мышом ?

anonymous ()
Ответ на: комментарий от andreyu

cquery + vim-lsp - торт и хакабельно оба два. Есть ещё поделка на расте (клиент для вима) LanguageClientNeovim(с вим тоже работает). Она функционально - побогаче, но там адское месиво из rust, python и viml.

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

Попроси уже денег на комп, могущий запустить иксы

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

использование мыши убирает 50% мотороной эффективности (реально больше - мышь держат правой рукой) и добрую четверть внимания..

Божешки вы мои! Правда?! Вы правда считаете, что пользователь вим'а (я) не понимает или не ценит отказ от мыши? Или ты думаешь, что я текст на экранной клавиатуре набираю?

а не потому ли современный хипстерский софт такой глючный и толстый

Стараюсь не пользоваться поделками на электроне.

Удобство перевешивает фичи.
Саблайм сейчас наиболее близкая замена виму для меня (ну и вимом продолжаю пользоваться и вообще разнообразие это гуд, конечно если это разнообразие не на электроне).

Exmor_RS ★★ ()
Ответ на: комментарий от andreyu

А, тоже то ещё месиво из технологий:) Хотя, они одни из первых кто предложил вариант клиент-сервер для реализации комплита и навигации.

Если хочется попробовать максимум, что умеет выдавать связка, то как клиент всё-же лучше пробовать LanguageClientNeovim. vim-lsc самый сырой из основной тройки клиентов для vim.

Что бы оценить по достоинству cquery по сравнению с ycmd, надо взять проект пожирнее. Например - тот же qtc или ядро, автор например запилил его ради комфортного хакинга chromium.

pon4ik ★★★★★ ()

Ждём Vim на Qt. Очень нужен. И VimScript заменить на QtScript.

anonymous ()
Ответ на: комментарий от makoven

Но зачем, если можно работать на 24головых серверах, при этом без шума и пыли, со временем полной пересборки проекта на 1кк строчек за десятки секунд, с любого калькулятора который устраивает тебя по весу и автономности?

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

По мне лучше на JUCE. Тулкитофобы про джюс не знают много и будут считать просто либой. Виму нужна полноценная дефолтная реализация сервер-клиент, чтобы трекать запущенные инстансы, быстрый движок подсветки, переименовать табы в лейауты и запретить дефолтное создание нового лейаута файла при драг-н-дропе, асинхронность внедрить и будет крутой редактор на следующие 20 лет (можно будет в могилу с ним лечь).

Будет дрим-редактор, и в консольке запустить и графический клиент для быстрых правок.

Жаль у меня лапки, а то сам бы реализовал.

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

В GTA5 таких называли прото-хипстерами (ещё бы, ВИМ, вместо АТОМа).

Exmor_RS ★★ ()
Ответ на: комментарий от r3lgar

Эта фича есть в neovim с бородатых версий.

А у neovim-а есть бородатые версии?

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

Это тот, который можно встроить и в Qt, и в GTK, и в EFL, и в браузер.

commagray ★★★★★ ()
Ответ на: комментарий от ugoday

Просто интересно, а синдром дефицита внимания бывает только у >>детей или у взрослых тоже встречается?

Схожие симптомы встречается, но скорее как сопутствующая патология. Например при таких недугах как болезни Паркинсона или Альцгеймера, при некоторых формах шизофрении, их комплексах итд.

ChAnton ★★ ()

Уже пора перейменовать neovim в vim, а vim в vim-legacy.

anonymous ()
Ответ на: комментарий от commagray

Package: neovim

Depends: ... libqt5core5a, libqt5gui5, libqt5network5, libqt5widgets5...

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

Это хорошо. Весь софт должен быть на Qt.

anonymous ()
Ответ на: комментарий от ChAnton

При Паркинсоне же руки трясутся? Тут по-моему мышь как инструмент сразу исключается.

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

У тебя неправильный NeoVim. Qt-морда — это сторонний проект.

Depends On: jemalloc libtermkey libuv msgpack-c unibilium libvterm luajit
commagray ★★★★★ ()
Последнее исправление: commagray (всего исправлений: 1)
Ответ на: комментарий от makoven

Ну, лично я не вижу других причин инвестировать время в vim/emacs/kak/e.t.c. В случае наличия ui есть более другие инструменты. Которые, в силу больших возможностей осуществления ввода вывода с пользователем, могут оказаться ощутимо эффективней.

pon4ik ★★★★★ ()

Спасибо! Отличная новость. Сам вимом давно пользуюсь. Да, конечно, привыкнуть нужно, но когда привыкаешь, взглянув в сторону других редакторов, хочется блевать...ну а для местной, лоровской школоты и хипстоты, хочу дать совет. Перепишите vim на electron и будет вам счастье.

Odalist ★★★★★ ()
Ответ на: комментарий от pon4ik

В случае наличия ui есть более другие инструменты.

калечные инвалиды все как один по сравнению с emacs

ugoday ★★★★★ ()
Ответ на: комментарий от Odalist

Перепишите vim на electron и будет вам счастье.

Микросакс им уже сделал крутейший жоэс-блокнот, зачем они набигают в треды о вим загадка. Болит наверно пониже спины.

anonymous ()
Ответ на: комментарий от Exmor_RS

JUCE

Этот? А чем оно таки лучше Qt? (В статье пишут про большие аудиовозможности, упоминания других киллерфич не нашёл.)

Ещё вижу отсутствие LGPL-версии. Это и хорошо, и плохо. Хорошо тем, что меньше паразитов, плохо тем, что даже «паразиты» в конечном счёте вливаются в сообщество, популяризируют тулкит и др. Qt сейчас очень сильно раскрутилась благодаря тройной лицензии, и как не крути, это даёт обратную связь, не даёт проекту загнивать и др.

Тулкитофобы про джюс не знают много и будут считать просто либой

Да и Qt по большому счёту - не более чем набор либ, и их (кроме QtCore) можно использовать по отдельности.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от ugoday

Особенно фронтэнды отладчика просто хлам по сравнению с emacs. В любом, какой не возьми.

pon4ik ★★★★★ ()
Ответ на: комментарий от hobbit

А чем оно таки лучше Qt?

Буквально: чем Qt.
Тулкитофобов полно, а JUCE не такой тулкитный, вот и всё.
Больше никаких преимуществсвтвств. Но этого хватает.

Мне вообще без разницы на самом деле, главное чтобы было няшно и без фанатизма в сторону какого-то одного DE.

Exmor_RS ★★ ()
Ответ на: комментарий от pon4ik

И на этой частности вы пытаетесь построить какие-то выводы?

ugoday ★★★★★ ()
Ответ на: комментарий от Exmor_RS

Ну я ещё статью почитал - он, оказывается, распространяется как набор классов в исходниках. Идея здравая на самом деле: ту же Qt я могу собрать статикой, но собирать её всё равно надо отдельно и довольно долго. Но если этот JUCE не просто юзать для 2-3 программ, а иметь МНОГО программ на одном тулките, это уже превращается в недостаток.

Будем иметь в виду, что такое в природе существует. :)

hobbit ★★★★★ ()
Ответ на: комментарий от Odalist

Да, конечно, привыкнуть нужно, но когда привыкаешь, взглянув в сторону других редакторов, хочется блевать

Вот так вылупляется линуксоид, оглядывается на таких как ты и ему начинает казаться, что в линуксе все пишут на Си, причем большинство используют вим, а самые крутые - емакс. И выпадает юный красноглазый романтик из сообщества адекватных програмистов на ближайшие лет 10. А то и навсегда..

makoven ★★★★★ ()
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от hobbit

а иметь МНОГО программ на одном тулките, это уже превращается в недостаток

Ты из стана ненавистников дублирования библиотек?
Это красивая и чистая идея, которая не имеет ничего общего с реальной практикой (ну и плюс это какая-то уравниловка-рпц-фашизм).

Exmor_RS ★★ ()
Ответ на: комментарий от makoven

Но вимом действительно удобнее набирать код, для отладки удобнее IDE. Придумали себе ложную дихотомию. На самом деле нет печальнее зрелища, чем взращенный в IDE кодер, абсолютно беспомощный за ее пределами.

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

Как хорошо ты Qt-кодеров описал.

anonymous ()
Ответ на: комментарий от makoven

Я думал в emacs можно всё что угодно перепривязать, для вендузятников есть даже отдельный мод — CUA.

Deleted ()
Ответ на: комментарий от Exmor_RS

А какие редакторы удачнее на ваш взгляд?

Deleted ()

Вот зачем они все убогий терминал тащат в редактор, когда и так все его запускают через полноценный tmux/screen? Послать команду в tmux из vim элементарно же.

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