VIM power, Часть 1

13 comments

in Разработка

VIM – это сила.

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

Но сила VIM не только в его расширяемости. VIM сам по себе – очень мощная штука, которую можно настроить как угодно. Именно за это он мне и нравится – я как бы создаю свою рабочую среду. Многие любители «сделай сам» поймут о чем я говорю.


VIM – это новое.

Текстовому редактору VIM и его предку VI гораздо больше лет, чем мне. И не смотря на это, я нашел работу в виме необычной, и могу смело сказать – что это разрыв привычной текстовой обыденности.

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

С VIM вы будете делать всё совершенно иначе. Моя рука всегда в одном положении, я полностью забыл о клавишах-стрелочках и мышке. Они просто не нужны. Я так же смог забыть о клавише CTRL. Мне больше не нужно зажимать мизинцем CTRL SHIFT ALT.

Вим имеет несколько режимов. Основные режимы это Вставка и Normal-mode. В режиме вставки vim ведет себя так же, как и обычные текстовые редакторы. Normal-mode создан для того, чтобы манипулировать текстом.

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

VIM – это вы.

Вы вольны настроить всё так как вам нужно. Не нравиться то, что переход в normal режим происходит по клавише ESC? Это можно легко исправить! Хотите, чтобы цвет фона в режиме вставки был другого цвета? Легко! Хотите, чтобы цветовая схема отличалась в разное время суток? Пожалуйста! Хотите написать своё дополнение? Тогда пишите его на родном Vimscript, или воспользуйтесь Ruby, Python, Tcl, Perl или Lua!

VIM – это расширяемость вашей мечты!

vim на самом деле легко расширять и дополнять. Помимо простейшего встроенного языка программирования Vimscript вы можете воспользоваться своими любимыми языками, вот краткий пример на ruby:

# выведем имя текущего буфера:
VIM::message VIM::Buffer.current.name
# проверим, есть ли в текущем буфере TODO задачи:
buffer_object = VIM::Buffer.current
1.upto(buffer_object.length) do |count|
	if buffer_object[count].match(/TODO/)
		VIM::message "TODO detected! in string number #{count}"
	end
end

Разве это не мечта настоящего хакера? Инструмент, который так легко расширять и дополнять!

VIM – это не так сразу.

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

А что дальше?

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

Надеюсь вам понравилось.

{ 13 comments… read them below or add one }

1 Святослав Август 28, 2010 в 18:33

VIM – вещь отличная, но я все равно буду пользоваться gedit :)

Ответить

2 Святослав Август 29, 2010 в 21:49

А хотя кто знает… Может быть когда-то изменю свое мнение :)

Ответить

3 elv- Октябрь 6, 2010 в 12:40

Иегуда ведь тоже поменял мнение :)

А вообще посмотрите на совершенно свежий шедевр — http://stevelosh.com/blog/2010/09/coming-home-to-vim/
Эта статья недавно очень громко прошумела.

vim самобытный софт. Чтобы упростить вхождение в vim, некоторые рекомендуют попробовать cream, но мне кажется, что тогда не почувствовать всю мощь модального редактирования (чего стоят только эти триады — cit, dit, vit и cat, dat, vat)

Ответить

4 pechorin-andrey Октябрь 6, 2010 в 13:39

А я все таки смог перейти на text-mate. Правда меня хватило на пару недель %)
Text-mate супер вещь, но руки у меня уже заточились под vim.

Ответить

5 pechorin-andrey Август 30, 2010 в 01:25

Gedit тоже отличный редактор. Расширяется на пайтоне и си, и это очень радует меня =) К тому же для gedit’а уже написали плагин-эмулятор vim’а.

В общем кому что нравиться.

Ответить

6 name Август 30, 2010 в 10:36

(Не)совсем корректное сравнение в месте «давайте сравним». Вы забыли учесть то, что вим не всегда находится в командном режиме, ну и диалоги поиска далеко не во всех редакторах заполнять надо мышкой.

Ответить

7 pechorin-andrey Август 30, 2010 в 12:46

Спасибо, в целом – да, я немного ошибся :) настолько сильно позабыл обычные текстовые редакторы.

Ответить

8 Konstantin Сентябрь 1, 2010 в 23:58

Для обычных текстовых редакторов выбраны странные(очень сильно неоптимальные) сочетания клавиш для сравнения
Вот скажем так «обычные» из NetBeans/Notepad++/VisualStudio:
удалить слово после курсора CTRL+DELETE
выделить всю строкуи скопировать её HOME(перейти в начало строки, чтобы выделением не захватить лишние символы) + Shift+Down-ARROW + CTRL+C
прыгнуть в начало строки HOME
прыгнуть к первому символу в строке HOME (это не ошибка – просто в зависимости от положения курсора его перебросит или к 1-му символу или в самое начало строки)
удалить всю строку Ctrl+Y

Согласитесь такой вариант сочетаний выглядит значительно удобней чем «много раз». Нельзя писать в сравнении о том, в чём Вы уже разбираетесь слабо.

Ответить

9 pechorin-andrey Сентябрь 2, 2010 в 00:03

Привет. Спасибо за замечание, ошибся в этом. Поторопился и забыл сочетания.
Но даже не смотря на это, в виме вообще не нужны ctrl/стрелки и тем более home/end-клавиши, что в любом случае плюс.

Ответить

10 trybeee Сентябрь 11, 2010 в 00:37

Пользовался TextMate больше 2-х лет, но почему то потянуло к Vim :)
Пару недель пользуюсь MacVim – только положительные впечатления.

Но TextMate по-прежнему нравится, да и привычка делает свое дело – пишу в нем пока что эффективнее/быстрее, чем в MacVim.

Сейчас пользуюсь обоими редакторами, Vim/MacVim преимущественно для сервер-сайд или редактирования конфигов, TM – для кода.

Ответить

11 pechorin-andrey Сентябрь 12, 2010 в 01:39

Я с недавнего времени пересел на mac-osx и тоже начал пользоваться text-mate. Пока мне очень нравиться.

Думаю важно знать вим, очень часто бывают случаи, когда приходится работать с удаленным сервером, имеющим в своем орсинале только vi :)

Хотелось бы добавить, что в целом скорость написания текста в этой профессии вообще не важна, думаем мы все равно больше.

Ответить

12 Skorney Октябрь 6, 2010 в 13:12

Очень интересует вопрос, есть ли в VIM, подсказки при вводе для PHP 5.3, css, js? Легко ли обновлять их после выхода новых версий?

Ответить

13 pechorin-andrey Октябрь 6, 2010 в 13:36

Есть стандартный автокомплит, работает в Insert-mode по нажатию Ctrl + N :)
+ есть полно всяких omni-complete, посмотрите на http://www.vim.org, но думаю такого умного автокомплита, как например в netbeans в виме нету. Считается, что вим это текствый редактор, а не IDE, поэтому писатели плагинов особо и не стараются реализовать что-то подобное.

Ответить

Leave a Comment

Previous post:

Next post: