Pull to refresh

Comments 114

а 2 секунды на хабракат пожалели :)
Сомнительное достижение.
и более чем сомнительный комент
Многое из описанного есть во встроенном интерактивном учебнике vimtutor.
UFO landed and left these words here
та да. я бы советовал после "При открытии файла вы автоматически попадаете в режим команд, с него и начнем."
спасибо
в первый раз пишу, забыл (
Vim - это сила, да. Но не каждый найдет в себе силы изучать его возможности. Можно сравнить vim с диким и своенравным скакуном, обуздать которого найдутся силы далеко не у каждого, но зато тот, кто сможет это сделать, станет по настоящему лихим наездником! :)
Почему-то сразу вспомнилась старая шутка:
"vi имеет 2 режима работы: портить тект и пипикать" Ж) Но опять ж, это для тех, кто только в начале великого пути освоения всех премудростей и возможностей редактора сего.
Интересно, у скольки человек в первый запуск vi удалось завершить его без перезагрузки?)
А что тут сложного? Лично я через полчаса нажал Alt+F2 и сделал killall.
Не знаю, я в 10 лет, установив слаку с дискет(попутно убив раздел с виндой естесственно ^_^) не догадался это сделать). С учетом что команды я знал только досовские)
Вру даже, не в 10 было, а в 8. То бишь 10 лет назад.
На пресс-конференцию к звезде нужно приходить подготовленным!
Линупс это не макось же) Тут я звезда ^_^
UFO landed and left these words here
You are a blithering idiot! Emacs is the worst editor ever
invented! I learned vi and I've never needed anything else!
:wq!
^[kdd:w!q!ZZ
^C^D.exit
quit
logout
Есть отличная штука для освоения vim — vimtutor. Представляет собой курс занятий с нарастающей сложностью. В Убунту, вроде, есть сразу, но если ругнётся, то просто: sudo apt-get install vimtutor
Неплохой tutor по vim написал Andrei Zmievski. Хоть он и с уклоном на PHP, можно почерпнуть много интересного.

VIM for (PHP) Programmers
http://www.gravitonic.com/do_download.php?download_file=talks/php-quebec-2007/vim-for-php-programmers.pdf

Доп файлы с настройками: http://www.gravitonic.com/do_download.php?download_file=other/andrei-vim-files.tar.gz
http://www.moolenaar.net/vim.html
Seven habits of effective text editing 2.0
You can watch the video on Google Video. The presentation is about 45 minutes, with the Q&A it is about 80 minutes.
If you can't get Google Video to work, you can also download the DIVX file. Warning: this is 507 Mbyte!.
Мне кажется что часть этого топика это перевод из первой ссылки на
VIM for (PHP) Programmers
http://www.gravitonic.com/do_download.php?download_file=talks/php-quebec-2007/vim-for-php-programmers.pdf
Нужно ещё обязательно упомянуть про text-objects. Это объекты, которые можно использовать в командах в качестве {motion}, хотя они как бы и не motion. Например когда курсор находится на любой букве слова вы можете написать daw и удалить слово целиком и последующий за ним пробел. das удалит предложение, в каком бы месте предложения не находился курсор, а dap — параграф. Для программистов особенно полезными будут объекты a[, i[, a(, i(, a{, i{ и т.д. Пример использования — нужно скопировать в буфер то, что находится между фигурными скобками — нажимаем yi{ , весь блок включая фигурные скобки — ya{ . Подробнее — :help text-objects.
у меня где-то была подробрка хороших труков для вима, собранная с разных сайтов, в следуйщем посте я постораюсь раскрыть эту тему, думаю нам всем будет интерестно
Огромное спасибо за Ваш комментарий!
Vim - прекрасный редактор. Спасибо за статью!
от давнего пользователя vim + в карму :)
Спасибо. Добавил в букмарки, буду юзать вместо vimtutor, если что-нить забуду =)
Используя vi стараюсь поскорее добраться до :wq
ну и зря =)
Помне так vim дико удобная штука. Гораздо удобнее "модных" ee и nano. (от последнего меня вообще дико тошнит)
Просто он откровенно "негуманоидный".
Привыкнуть, конечно, можно к чему угодно.
посмотрел ee и nano, гуманоидностью там вообще не пахнет, в отличие от vim, и это несмотря на перезагрузку в первый раз :)
Vi-подобные редакторы трудны из-за того, что основаны на режимах, при всей красоте. О вреде режимов много сказано специалистами по интерфейсам, даже если не закапываться глубоко, а почитать Раскина.
Если не читать Раскина, а пользоваться такими редакторами, то прелесть этого подхода станет очевидной. Я переехал на emacs, но о vim вспоминаю с теплотой. Это был _самый_ удобный текстовый редактор.
Почитать всё-таки имеет смысл - cам пользуюсь иногда именно vi, но _понимаю_ что в нём хорошо, а что - не очень.
Надо просто знать историю создания оного, и понимать, почему вим такой, какой он есть. И исходя из этого учится им пользоваться.
Это само собой...
Скорее всего, то, что я имею в виду, позволило бы не рекомендовать vi и vim некоторому типу людей.
Можно вопрос - а почему перешли на Emacs? Интересно.
А у емакса самый удобный язык :)
Просто захотелось чего то нового. Да и как не крути, vim - это только текстовый редактор, чего не скажешь о emacs.
В операционной системе "емакс" уже появился нормальный текстовый редактор? ;)
И назывется он, видимо, vim.
послушай, брут, тебе не надоело в каждой теме посвященной vim или emacs повторять одну и ту же, мягко говоря, глупую шутку о том, какой "хреновый" оказывается редактор в emacs? :)
Этот холивар должен быть вечным! :)
потому что по-настоящему хорошо vim умеет делать только две вещи - бибикать и всё портить.
UFO landed and left these words here
(размахивает флагом c надписью «Emacs рулит!»)
…хотя, безусловно, вы молодец;)
Когда-то давно уходил с вима на емакс.
После того как начали болеть кисти от постоянной распальцовки C-f, C-b и других более "раскидистых" кибиндингов — стал использовать viper-mode. Подумал и ушел обратно на вим. :)
Мысль моя такая — если использовать стандартное GUIшное управление: стрелки, Home, End и т.д., то емакс — суперский редактор. При каноническом использовании (руки уходят с home row по минимуму) он превращается в прогрессирующую боль в кистях от его использования.
Так что, вива модальные редакторы! Вива вим! :-)
первая и главная рекомендация от гуру, которую встречал на каждом втором если не первом сайте посвященному emacs - перебиндить caps lock и ctrl. Положа руку на сердце такой ребиндинг не то что руки, мозг не перенес.
Ну так и я капслок сделал контролом. Помогло конечно, но не сильно. :)
По поводу hjkl vs стрелки. Весьма спорно. Пользуюсь вимом уже около 2 лет. Так вот как показывает практика при активном редактирвоании текста, стрелки оказываются удобнее, хотя бы потому, что они работают во всех режимах. То есть не надо каждый раз выходить из режима вставки в нормальный.
Просто vi появился до появления курсорных клавиш и сейчас может работать на терминалах, на которых эти клавиши отсутствуют... То есть, тот факт что он поддерживает курсорные клавиши , видимо, как-то указывает, что использование курсорных клавиш смысла не лишено :)
Да, но это совсем не обозначает, что использование hjkl принесет реально больше удобства, чем традиционные клавиши-стрелки :) Да и режимы скорее всего были сделаны из-за этих самых терминалов. И они на самом деле и не самая удачная идея :) Просто реальных конкурентов у вима с его возможностями (одно дополнение слов и всего на свете чего стоит) не так много. Емакс в расчёт не берем, он тоже весьма специфичен.
Я тоже думаю, что не принесёт :)
Vi редактор академический, с богатой историей и амбициями, а эта штука, с абсурдным дублированием, называется в науке интерфейсов монотонностью. Разработчики про неё, скорее всего, знают :)
Безусловно это настолько круто в 2008 году, чтобы до сих пор тащить с собой наследие "аппарата Бодо".
Может быть, это нерешительность разработчиков..
Все-таки hjkl полезны. Даже сейчас слишком часто сталкиваюсь на зоопарке UNIX'ов (от HP-UX до FreeBSD) с тем, что стрелки не работают адекватно.
да режим команд :)
ps править не буду, слетят все > < - а c ними было много мороки
Люди дорогие! У меня есть еще немного интересной эксклюзивной информации по vi - но к сожалению не хватает немного кармы, что бы опубликовать ее в свой блог.
Кого-нибудь не затруднит приподнять ее немного выше плинтуса? Опубликую тогда сегодня же, спасибо.
и что фотки чашкой с командами ВИМ это "немного эксклюзивной информации по vi" хм... понятно, почему такая карма у вас :)
нет надобности перемещать свои руки назад-впред между клавишами курсора и обычными клавишами

А эффективный выход из режима вставки предусмотрен? Или сэкономленное на стрелках время придётся тратить на бесконечные потягушки к клавише Esc?
http://allaboutvim.blogspot.com/2008/04/esc-vim.html
Спасибо, прочитал. Вариант с ii привлекательнее всего, но как тогда набирать слова с двумя буквами i?
Ты много знаешь таких слов? )
название какой-нибудь переменной в коде, того-же цикла
Ага, может... только я что-то ещё ни разу подобного не встречал =)
Это всё равно что русские слова сочетанием ыы, кроме разве что "гыыы"
for (int i...) {
for (int ii...) {
}
}

или допустим интерфейс для итератора IIterator

глупость, конечно, но встретить вполне себе можно :)
>Или сэкономленное на стрелках время придётся тратить на бесконечные потягушки к клавише Esc?
:imap
? =)
и расстояние от правой руки до Esc бриже чем от левой руки до кнопочек ))
UFO landed and left these words here
Супер, спасибо большое. Давно пользуюсь вимом, а многих вещей в нем не знал. Например,что есть автодополнение.
сейчас - я просто не могу набирать текст где-то в блокноте и тп. Даже почту отсылаю через вим.

Это вы просто emacs не пробовали ;)

Статья на отлично просто. Я хоть и из противоположного лагеря, но всё равно приятно, что потихоньку люди начинают использовать правильные вещи, и причем не только использовать, но и понимать, почему они правильные.
>Это вы просто emacs не пробовали ;)
))))))))
ждем ваших статей =)
может как-нибудь попробую

не могу придумать, с чего начать - the church of emacs такая большая, то просто теряешься.
спасибо, прекрасный пост, vi - религия :)
UFO landed and left these words here
кто смотрит на клавиатуру, тому проще дотянуться до стрелочек, ну и hjkl приходится учиться, как работе со стрелками впрочем, лучше для этого игры подходят, я обучался на вимовском тетрисе
Тогда и я приглашу :)
http://allaboutvim.blogspot.com/
UFO landed and left these words here
Рад, что блог кому-то оказался полезен )
О, еще кому-то приснилась таблица Менделеева!
Что касается эффективного использования vim…

Вот знаете, говорят: Internet Explorer — это программа для скачивания Оперы или на худой конец Firefox’а?

Так и vim — это программа для настройки конфигов, чтобы можно было скачать mcedit или nano.
UFO landed and left these words here
Успехи мегавиммера говорят сами за себя:

David Rayner (zzapper) 15 Years of Vi + 6 years of Vim and still learning 21Jun08 : Last Update


Вы хотите иметь инструмент, который вы не будете знать даже после 21 года практики? Причём это всего лишь редактор текстов? Vi/vim не нужен нормальным людям, тем, которые не всосали его с молоком терминального доступа к SunOS или BSD 4.2 в восьмидесятых годах. Автор вима приложил _все_ усилия для того, чтобы сохранить аутентичность ви-ая со статусной строкой, модами и прочим, добавив лишь пару существенное изменений, такие как окна и визуальное выделение. ЗАЧЕМ знать, что «s/joe/e+1» поставит курсор на один символ за найденным? Неужели это проще, чем нажать стрелку вправо после «/joe»? Я не понимаю, как это может нравится.

P.S. Сам использую исключительно vim, но только потому, что знаю vi, и мне лень разучивать название текущего оконного редактора в очередном дистрибутиве.
UFO landed and left these words here
Меня толкнул на изучение этих систем простой факт, что альтернатив не было. Был только vi. А что касается силы привычки... Я, честно, даже не задумывался. Как-то vi и vi, просто не было как-то нужды ни в чём ином. Для меня лично его недостатки компенсируются тем, что он 1) есть в любой системе, даже однодискетной, 2) быстро запускается, и самое главное, 3) я его знаю. Но знаю я его не потому, что выбрал его знать в качестве ментального упражнения, а потому, что мне пришлось, когда выбора не было.

Я могу согласиться, что всё прочее это унылый отстой. Но это не причина агитировать свежий народ за нечто, изготовленное в 1976 году. Вдумайтесь, почему "visual" сократили до "vi"? Потому что при скорости терминальной линии 40 бод длина команд немаловажна. Это же относится к интерфейсу, почему весь экран чистый, для пустых строчек скупые тильды, а статус снизу? Чтобы уже можно было читать, пока экран обновляется. 30 лет прошло.
UFO landed and left these words here
ЗАЧЕМ знать, что «s/joe/e+1» поставит курсор на один символ за найденным? Неужели это проще, чем нажать стрелку вправо после «/joe»? Я не понимаю, как это может нравится.
Кому-то кстати это может быть проще. Смотрите, если вам нужно сделать это много раз, то проще один раз дописать e+1 в конец строки поиска и каждый раз нажимая n попадать куда надо, чем нажимать постоянно nel, не так ли? ;) Но знать это всем и каждому конечно же не обязательно. Главное понять идею и знать, что можно сделать. Как это делать можно найти в :help тогда, когда будет необходимость :)
На мой взгляд Vim удобнее емакса тем что ненадо постоянно зажимать Ctrl,Shit,Alt и растягивать пальцы как пианист чтоб выполнить какую то простую команду, котора в Виме вводится через ":". Ещё Вим удобен тем что написан на элегантной С-шке, а Емакс на противном ЛИСПе.
А недостаток Вима это отсутствие грамотной работы и управления проектами, как ето есть у IDE'шек, хотя есть плагины и инструменты которые помогают управлять проектом, все таки это не то....
З.Ы.:Маленькая поправка
"x вырезать текущий символ (действует подобно backspaсe)" на самом деле подобно delete.
И ещё вы не упомянули об motion command >> и "
UFO landed and left these words here
Для emacs есть вот такая штука, правда не знаю насколько она полноценно эмулирует Vim.
UFO landed and left these words here
UFO landed and left these words here
Извините, я не в теме, но почему некоторые говорят vim, а некоторые vi ?
vim - это расширенный вариант vi.
vim - Vi IMproved, a programmers text editor
А меня в свое время еще ed'у и ted'у учили — вот это были инструменты для настоящих парней, ничего лишнего :) Правда, sed потом пришлось самому учить ;(
А потом, помню, кто-то пытался что-то вроде редактора в стиле TurboVision под Линукс писать. Получилось что?
А сколько нажатий на клавиши сэкономил бы IntelliSense, если бы он был реализован там, где всё ещё эффективно используют vim? :))
Есть 2 варианта по поводу Vim + IntelliSense.
1. Vim Intellisense. До студийного конечно не дотягивает, то намного сильнее встроенного.
2. ViEmu. Эмуляция Vim в редакторе Visual Studio. При этом работают как родной студийный IntelliSense, так и подсказки Visual Assist (и наверное ReSharper должен работать, я им не пользуюсь). Недостаток в том, что стоит денег и не полностью эмулирует Vim.
В 7 виме есть аналог IntelliSense
На Turbo Vision похож mcedit из комплекта Midnight Commander
Я вот давно хотел спросить --- а есть ли готовые сборки vim'а как IDE для какого-нибудь языка программирования? Я пока видел только одну (скверноватую) попытку --- редактор питона Pida.
Есть плагины, облегчающие написание программ на определённом языке. Например, я пишу на перле и у меня установлен perl-support — он позволяет, например, проверять синтаксис, запускать и отлаживать скрипты, вставлять куски кода, читать документацию и т. д.
perl-support.vim implements a Perl-IDE for Vim/gVim. It is written to considerably speed up writing code in a consistent style.

This is done by inserting complete statements, comments, idioms, code snippets, templates, comments and POD documentation. Reading perldoc is integrated. Syntax checking, running a script, starting a debugger and a profiler can be done by a keystroke.

Есть аналогичная штуковина для баша. Про питон не знаю. Хотя никто ж не мешает запускать нужные программы, не выходя из вима.
Позорник. Тупо спиздить большУю часть презентации Змиевского, перевести, как автоматический переводчик и даже не написать, что это перевод — позор.
UFO landed and left these words here
Only those users with full accounts are able to leave comments. Log in, please.