Как стать автором
Обновить
40
0
Павлов Николай Александрович @ZyXI

Инженер

Отправить сообщение
Хорошо, скачали. А куда делся репозиторий с настройками? Или ваши IDE принципиально не позволяют иметь такой?
Кстати:
скачал
Зачем вы скачали то, что у вас уже должно стоять довольно давно?
А оставшиеся 5, видимо, не могут быть покрыты в принципе.

Мне лично проще жить с более плохим автодополнением, чем настроить IDE под себя: слишком много придётся настраивать, причём значительная часть из этого «много» является либо одной из основных возможностей Vim, либо предоставляется чужими дополнениями с небольшой настройкой. Оставшееся написано самостоятельно.
Вот как раз у Vim одна из самых совершенных систем навигации внутри файла (за исключением штук вроде «перейти к объявлению», не работающих без дополнений). Никаких PageUp/PageDown, работа с Vim вообще не предполагает перемещение рук куда‐либо с основного блока клавиатуры.

Кроме того, зачастую нужно сделать «command|xclip -i» и затем нормально вставлять вывод команды куда угодно средней кнопкой мыши. Можно сразу отправить текст на pastebin. Если вывод длиннее одной строчки, а запуск команды два раза быстр и производит одинаковый текст, то в GUI это будет сложнее сделать. Отдельно про SO: у меня есть
alias +4='sed "s/^/    /" | xclip -i'

, в Vim можно сделать привязку для того же (а можно просто выделить текст и сделать «>gv>», затем вставить). Интересно услышать, как вы копируете код из GUI.

Копирование откуда‐то ещё тривиальнее.
Есть огромная куча дополнений к Vim разной степени работоспособности для различных языков, предоставляющих возможность перехода к определению и интеллектуального автодополнения. Дополнения, использующие синтаксические анализаторы тоже есть, но VimL не даёт (точнее, требует медленных и неприглядных решений) довольно большого количества возможностей их интеграции.

Grep обычно делается из Vim, а не из консоли в этом случае, так переход к найденному можно осуществить гораздо быстрее.
16 символов в секунду — это 960 в минуту. Какое здесь «даже при»?

В Vim очень удобно использовать Command-T для открытия файлов. Впрочем, это не единственное дополнение на эту тему: есть также FuzzyFinder, Unity, ku, LustyExplorer, … А автодополнение файлов в Vim убого. Я как‐то сделал аналог автодополнения файлов в zsh (причём, в zsh автодополнение именно файлов оказалось несколько хуже), но Command-T оказался ещё удобнее, поэтому проект заглох несмотря на несколько очевидных проблем.

Относительно virtualenv: “workon env” не работает в Vim (в смысле, если запустить workon и затем Vim, встроенная поддержка python будет игнорировать виртуальное окружение, но запущенные из Vim команды игнорировать не будут). Приходится использовать github.com/jmcantrell/vim-virtualenv.
У vim’а есть :make; посмотрите её описание на предмет, чем оно лучше :!make.
Мне больше интересно, почему Opera next считает, будто у меня раскладка «us» при использовании горячих клавиш (DSK-373227)?
Я не говорил, что Mercurial — синоним этого понятия. Я сказал, что veracity напоминает Mercurial в большей степени, чем Git (поэтому мне было непонятно, почему в статье написано «схожая с Git»). Ни одно из перечисленных мною сходств не является необходимым для того, чтобы система называлась «DVCS».
Поправка: Mercurial будет смотреть на сходство, если использовать hg addremove --similarity.
# На исходниках git:
$ git mv ws.c wss.c
$ echo 1>wss.c
$ git add wss.c
$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    ws.c
#       new file:   wss.c
#
$ git reset --hard HEAD
$ git mv ws.c wss.c
$ git commit -m 'ABC'
$ git diff --name-status HEAD^..HEAD
D       ws.c
A       wss.c
$ git diff --name-status -C HEAD^..HEAD
R100    ws.c    wss.c

# На исходниках mercurial:
$ hg mv README README.md
$ echo 1>README.md
$ hg status -C
A README.md
  README
R README
Git не сохраняет информацию о переименованиях, он смотрит на процент сходства. То же, что я говорил, просто это поведение по‐умолчанию у некоторых команд. Mercurial, наоборот, никогда не смотрит на сходство файлов.
Всё верно. Посмотрите git help diff, там есть ключи --find-renames, --find-copies, --find-copies-harder. Если бы git сохранял информацию о переименованиях, зачем бы были нужны такие ключи?
Формальное переименование файлов, возможность написания хуков на языке программирования, локальные номера ревизий, неизменность истории (если я правильно понял, что на сайте имеется ввиду под «immutability doctrine»), ветки, являющиеся свойством ревизии (а не просто указателями на конкретную ревизию как в git), команды вроде incoming/outgoing, heads, serve. Это всё подозрительно напоминает отнюдь не Git, а Mercurial.
У Vim есть множество интерфейсов с другими языками. И Bram нормально принимает доработки к ним, если вы их напишете.

Это не значит, что всё идеально: не хватает двух вещей:
  1. Этих самых доработок
  2. Официального C API


Без первого писать всё так же будет нелегко, в нынешней стадии интерфейсы отнюдь не идеальны. Поддержка Python, насколько я знаю, сделана на сейчас лучше всего (после моего патча, добавляющего pyeval()/py3eval() и vim.bindeval(), до того лучше было у lua), но моей единственной целью на момент написания было избавление от весьма прожорливой сериализации/десериализации, являвшейся единственным способом вернуть данные обратно в VimL.

Без второго будет сложно делать первое. При написании патча, к примеру, несколько static функций из eval.c перестали быть таковыми. В интерфейсе с lua они, кстати, почему‐то были просто скопированы из eval.c и уже устарели.

Идеальной реализацией второго, по моему мнению, может быть такая, при которой VimL станет таким же дополнением, как и Python. Но это работа, сопоставимая по сложности с написанием Vim с нуля.
12 ...
78

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность