Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Vim

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9

Открыть новую тему     Написать ответ в эту тему

8AleX8



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
Vim

 
Vim (Вим) — один из двух существующих в мире текстовых редакторов ;-) свободный, кроссплатформенный, расширяемый текстовый редактор, сколь угодно настраиваемый и автоматизируемый; и вообще, в представлении не нуждающийся.
 



 
Ресурсы:

Документация:
  • Vim documentation
    Официальная документация (та, что :help) онлайн. Подробно и сухо.
     
  • Vim Recipes [HTML Online] [HTML+PDF Tarball] [PDF] [DEB] [SRC]
    С одной стороны, название нас не обманывает: эта небольшая книга — действительно сборник рецептов для решения конкретных задач; с другой — это именно книга, излагающая хорошо подобранный материал связно, цельно и без излишней подробности, свойственной манам. Разобранный круг вопросов: от выхода из Вима :) до кастомизации. Т. о. книжка пригодна в роли первого учебника вполне.
     
  • A Byte of Vim
    (Просто о Vim)

Эссе:
  • ‘Coming Home to Vim’ by Steve Losh
    (Возвращение к Vim)
    Опыт программиста-маковода по переходу на Вим. Изложено авторское видение вимовской «философии», приведены любопытные строчки конфига, сделан обзор необходимых плагинов.

Шпаргалки (cheet sheets, quick reference cards) — распечатать и положить под стекло:
  • VIM Quick Reference Card by Laurent Gregoire
    Шпаргалок по Виму не просто много, а очень много; эта, по крайней мере, неплоха.
     
  • Graphical cheat sheet by ViEmu
    Что делает та или иная клавиша надписано на самой клавише схеме QWERTY-клавиатуры; весьма наглядно.

 
Зачатки FAQ'а:
Q: Как быть с вводом кириллицы?
A: Увы, на настоящий момент наиболее разумным решением будет использовать собственный вимовский механизм переключения раскладок, сиречь переключать раскладки по сочетанию отличному от общесистемного (по-умолчанию: ^6 и ^^, т.е. Ctrl+6 и Ctrl+Shift+6), для чего в .vimrc добавить строку
set keymap=russian-jcukenwin
Мапинг кириллицы (map й q) в силу разного расположения на клавишах присутствующих в обеих раскладках символов оказывается существенно более неудобным.
 
 

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

Всего записей: 1813 | Зарегистр. 11-12-2001 | Отправлено: 14:38 21-05-2003 | Исправлено: Maz, 11:14 19-08-2020
0x255



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
> Если у вас типа тегов XML, тогда не знаю. Может, есть плагин, который ищет парные теги...

такой плагин имеется:

Цитата:
The matchit.vim script allows you to configure % to match more than just
single characters.  You can match words and even regular expressions.
Also, matching treats strings and comments (as recognized by the
syntax highlighting mechanism) intelligently.
The default ftplugins include settings for several languages:
Ada, ASP with VBS, Csh, DTD, Essbase, Fortran, HTML, JSP
(same as HTML), LaTeX, Lua, Pascal, SGML, Shell, Tcsh, Vim, XML.
(I no longer keep track, so there may be others.)

 

Цитата:
Чтобы в системный буфер, надо va[ob"*y?

не знаю как на винде, но в *nix "* означает буфер выделения, а "+ непосредственно системный клипборд

Всего записей: 29 | Зарегистр. 20-03-2010 | Отправлено: 09:26 12-06-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
popkov
>> va[oby
> Но куда производится копирование?
В регистры "" и "0. См. :reg[isters].
 
> Чтобы в системный буфер, надо va[ob"*y?
Да, это в PRIMARY в Иксах. А на Винде "* и "+ — синонимы.
 
Вообще, если вам не по душе обособленный буфер обмена, и вы желаете синхронизировать вимовский неименованный регистр с общепользовательским (по-моему, не лучшая идея, но хозяин — барин), то можете приказать set clipboard+=unnamedplus.


----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 09:39 12-06-2014 | Исправлено: ASE_DAG, 09:41 12-06-2014
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ASE_DAG
Ввел команду  :set clipboard+=unnamedplus, но в системный буфер по-прежнему не копирует.
 

Цитата:
См. :reg[isters]

Выполнение этой команды выводит внизу окна  
---Регистры---
Нажмите ENTER или введите команду для продолжения

и больше никакой информации!

Всего записей: 1842 | Зарегистр. 22-03-2003 | Отправлено: 10:35 12-06-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Забранная в [] часть из :reg[isters] — это необязательная часть. Можно ввести :reg, можно :regi и т. д. вплоть до :registers, но не :reg[isters] прямо так. Именно так (со скобочками) ex-команды приводятся в справке.
 
Добавлено:
> :set clipboard+=unnamedplus, но в системный буфер по-прежнему не копирует
 
Странно. Ну проверьте для начала, плюсовый регистр вообще связан с общепользовательским или нет? Т. е. "+y работает или нет?

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 10:42 12-06-2014 | Исправлено: ASE_DAG, 10:45 12-06-2014
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Т. е. "+y работает или нет?

Работает: если выделить участок текста и ввести эту команду, он копируется в системный буфер. Не работает va[oby (после выполнения этой команды содержимое системного буфера не меняется, хотя я выполнил :set clipboard+=unnamedplus). va[ob"+y работает.
 
Добавлено:
Посадил копирование блока на клавишу F2:
:nmap <F2> va[ob"+y
Достаточно удобно.
 
 
Добавлено:
Нашел правильную команду для синхронизации с системным буфером обмена:
:set clipboard=unnamed
Теперь и просто va[oby копирует блок кода в системный буфер. Спасибо за подсказки!

Всего записей: 1842 | Зарегистр. 22-03-2003 | Отправлено: 11:01 12-06-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не-не-не, это не «правильная команда», а команда, которая синхронизирует безымянный регистр с "*, а не "+. Т. е. она, конечно, вам по вышеозначенной причине подойдет, но никакой определенности, почему не имела действия :set clipboard+=unnamedplus, это не прибавляет.
 
Быть может, у вас больно старая версия Вима? Если так, то ничего хорошего. Так какая она у вас?

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 12:02 12-06-2014 | Исправлено: ASE_DAG, 12:02 12-06-2014
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ASE_DAG
Версия 7.4, скачал с офсайта только вчера, затем скопировал в директорию C:\Program Files (x86)\Vim\vim74 пакет подсветки синтаксиса для Wolfram Mathematica отсюда. Больше ничего не менял.
 
Добавлено:
Кстати, :set clipboard+=unnamedplus работает в том смысле, что, например, при удалении строки путем ввода dd она оказывается скопирована в системный буфер. А вот va[oby при этом на системный буфер влияния не оказывает. Команда :set clipboard=unnamedplus ведет себя так же.  
 
Вариант :set clipboard+=unnamed работает корректно: va[oby копирует блок в системный буфер. Кстати, чем отличаются варианты с += и без +?

Всего записей: 1842 | Зарегистр. 22-03-2003 | Отправлено: 12:22 12-06-2014 | Исправлено: popkov, 12:35 12-06-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
popkov, ну тогда ладно, черт с этим unnamedplus, если вам не нужна кроссплатформеность конфига, то нехай будет unnamed.
 
> Больше ничего не менял.
И зря. В Виме многие предустановки родом из семидесятых (у vi скоро сорокалетний юбилей, ага). Стырьте у кого-нибудь с Гитхаба добротно откомментированный .vimrc — да пробегитесь по нему глазами — думаю большую его часть вы переймете себе не задумываясь.
 
Добавлено:
> Кстати, чем отличаются варианты с += и без +?
 
Ключ 'clipboard' принимает в качестве значения не одну опцию, а множество взаимодополняющих опций (см. :h 'clipboard'). По :set clipboard=unnamed вы перезаписали все множество, а по :set clipboard+=unnamed — дополнили.
 
Добавлено:
Кстати, хорошая штука справка! Нашел, что unnamedplus и не должен у вас работать, ибо он «only available with the |+X11| feature». Ну дурость же! "+ работает, а unnamedplus — нет, да и кроссплатформенность, как я уже сказал, идет лесом. Надо будет возмущение в багтрекер накатать.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 12:32 12-06-2014 | Исправлено: ASE_DAG, 12:39 12-06-2014
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Стырьте у кого-нибудь с Гитхаба добротно откомментированный .vimrc
Спасибо за хороший совет! А можно как-то настроить VIM, чтобы он корректно работал с русским текстом? А то, например, dw удаляет слово, набранное английским алфавитом, а из набранного кириллицей удаляет лишь первые 2 символа...

Всего записей: 1842 | Зарегистр. 22-03-2003 | Отправлено: 13:25 12-06-2014 | Исправлено: popkov, 13:27 12-06-2014
0x255



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Спасибо за хороший совет! А можно как-то настроить VIM, чтобы он корректно работал с русским текстом? А то, например, dw удаляет слово, набранное английским алфавитом, а из набранного кириллицей удаляет лишь первые 2 символа...
 

 
если корректно, то нужно настроить (независимые от системных) раскладки в самом vim.

Цитата:
:help russian-keymap

 
если на скорую руку делать, то можно просто замапить "русскораскладные" аналоги и написать несколько аналогичных команд. Вот точка отправления в этом нелёгком и извечном вопросе =)

Всего записей: 29 | Зарегистр. 20-03-2010 | Отправлено: 15:31 12-06-2014
Quasus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
если корректно, то нужно настроить (независимые от системных) раскладки в самом vim.  

 
Плюс много. Причём это очень просто:

Цитата:
переключать раскладки по сочетанию отличному от общесистемного (по-умолчанию: ^6 и ^^, т.е. Ctrl+6 и Ctrl+Shift+6), для чего в .vimrc добавить строку
set keymap=russian-jcukenwin

Всего записей: 43 | Зарегистр. 08-05-2012 | Отправлено: 15:54 12-06-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обнаружил, что в шапке ссылка на книгу «Vim Recipes» теперь ведет в никуда. Заменил ее на архивную, плюс привел ссылку на нее в виде исходника, тарболла, PDF’а и дебиановского пакета документации.
 

#: шапка версии ASE_DAG, 02:17 13-06-2013

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 01:57 13-06-2014
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Когда-то я писал серию статей про Vim и написание скриптов к нему, может кому пригодится - http://jenyay.net/Programming/Tools

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1780 | Зарегистр. 13-10-2001 | Отправлено: 09:47 13-06-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0x255
 
> ...можно просто замапить «русскораскладные» аналоги и написать несколько аналогичных команд. Вот точка отправления в этом нелегком и извечном вопросе...
 

Цитата:
map <unique> ЯЯ ZZ
map <unique> ЯЙ ZQ
map <unique> йЖ q:
map <unique> й. q/
map <unique> й, q?
— и так шестьсот строк
.
 
ОМГ! Это определенно писал человек, который не курсе, что langmap для utf-8 уже лет пять как сделали, то есть можно писать как в старые времена КОИ-8:
 
set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz
 
и все. Но на сочетания с контролом т. е., например, на <C-v> или многочисленные хоткеи режима вставки, это не распространяется. Поэтому по сравнению с keymap’ом эффект неполный.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 18:28 15-06-2014
Nigelist



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Привет всем! Есть несколько проблем, которые не могу решить самостоятельно. Если кто знает как решить, подскажите пожалуйста.

  1. Пытаюсь настроить gVim для Windows на UTF-8, по этой статье. Но имя пустого файла отображается иероглифами.

  2. Не могу добиться, чтобы в контекстном меню был пункт "Редактировать в Vim", а не "Edit with Vim".
  3. Хочу настроить gVim, как IDE для Python. Пытаюсь сделать по этой статье. Но не получается. Начинает ругаться на _vimrc. Актуальна ли эта статья для Vim 7.4? Если нет, то посоветуйте актуальную статью.

Всего записей: 260 | Зарегистр. 12-08-2007 | Отправлено: 20:50 24-10-2014 | Исправлено: Nigelist, 20:54 24-10-2014
0x255



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nigelist, посмотрите в сторону CREAM for VIM
* сам под винду vim не настраивал, но слышал очень много хвалебных отзывов по использованию cream под сабж....

Всего записей: 29 | Зарегистр. 20-03-2010 | Отправлено: 12:31 25-10-2014
Nigelist



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Nigelist, посмотрите в сторону CREAM for VIM
* сам под винду vim не настраивал, но слышал очень много хвалебных отзывов по использованию cream под сабж....

Попробовал, не понравилось. Уже почти всё замечательно:

Всего записей: 260 | Зарегистр. 12-08-2007 | Отправлено: 09:48 02-11-2014
FreeLSD_md



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Привет. Подскажите, пожалуйста, есть ли в сабже аналог считывания tail -f или less +F дописываемых файлов?  Режим какой-то, чтобы редактор делал :e ./file.log , только с повторами через секунду или как-то ещё?
Заранее благодарю.

Всего записей: 711 | Зарегистр. 10-10-2006 | Отправлено: 08:58 01-05-2015
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FreeLSD_md, наколько я знаю, нет, Vim не умеет «дочитывать» файлы.
 
> чтобы редактор делал :e ./file.log, только с повторами через секунду
 
Да это-то сколько угодно — только это же и близко никакой не less +F — Вим будет весь файл перечитывать.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 21:45 01-05-2015
ormell

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
добрый вечер друзья, очень надеюсь на ответ  
ломаю голову еже несколько дней, на западных форумах все глухо, такое чувство что у них эта проблема рассасывается по щелчку и никто ничего не пишет о самом решении.  
 
https://pp.vk.me/c638717/v638717608/aa2b/mUtueJlbvQU.jpg
 
как видно из скринов - все 32 битное  
 
но никак не реагирует на  
 
echo has('python')
 
или  
 
echo has('python3')
 
как можно это исправить?  

Всего записей: 6 | Зарегистр. 11-11-2016 | Отправлено: 01:51 11-11-2016 | Исправлено: ormell, 02:22 11-11-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9

Компьютерный форум Ru.Board » Компьютеры » Программы » Vim


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru