Комментарии 84
Предложите, пожалуйста, хороший, желательно русскоязычный, туториал по этому редактору. И бумажную книжку — можно не совсем профильную, а и с другими темами, например. Спасибо.
Learning vi and Vim Editors — A.Robbins, E.Hannab & L.Lamb
Hacking Vim — K.Schulz
Вот еще интересная штука: vim-adventures.com и эта: vimgolf.com
Из русскоязычного, пожалуй это: rus-linux.net/MyLDP/BOOKS/Vim/prosto-o-vim.pdf
Вот еще полезная ссылка, может кому пригодится: net.tutsplus.com/articles/web-roundups/25-vim-tutorials-screencasts-and-resources/
Hacking Vim — K.Schulz
Вот еще интересная штука: vim-adventures.com и эта: vimgolf.com
Из русскоязычного, пожалуй это: rus-linux.net/MyLDP/BOOKS/Vim/prosto-o-vim.pdf
Вот еще полезная ссылка, может кому пригодится: net.tutsplus.com/articles/web-roundups/25-vim-tutorials-screencasts-and-resources/
«Learning vi and Vim Editors» переведена на русский язык: www.books.ru/books/izuchaem-redaktory-vi-i-vim-7-e-izdanie-827256/
«Просто о Vim» — 72 страницы
Я начинал по этому небольшому пособию: ru.wikibooks.org/wiki/Vim
vim /usr/share/vim/vim7[version]/vimtutor[.lang]
На английском, но это того стоит: www.derekwyatt.org/vim/vim-tutorial-videos/vim-novice-tutorial-videos/
Вот класный материал. www.opennet.ru/docs/RUS/go_to_vim/
Practical Vim: Edit Text at the Speed of Thought — pragprog.com/book/dnvim/practical-vim
не на русском, но очень интересно stevelosh.com/blog/2010/09/coming-home-to-vim/
Удивляет кол-во до сих пор не освоивших его, ибо в каждой теме про него либо говорят, что хотят освоить, либо спрашивают литературу по нему.
Как это ни странно, куча народу на Виндах ссидит и не парится… юзают TextPad или NotePad++ и т.п., и про vim даже не слышали. «Все крутые пацаны рубятся в консоль, и только девчонки предпочитают ГУИ» — это моя половина так шутит.
Самое страшное в виме для новичка — это то, что выйти из него никак нельзя! Помню я этот кошмар 20 лет назад… На этом попытки изучения обычно и заканчиваются.
P.S. Написано с Debian Linux, чтоб не пинали за рекламу виндов…
Самое страшное в виме для новичка — это то, что выйти из него никак нельзя! Помню я этот кошмар 20 лет назад… На этом попытки изучения обычно и заканчиваются.
P.S. Написано с Debian Linux, чтоб не пинали за рекламу виндов…
Откровенно говоря, и на Линухе я предпочитаю использовать что-то типа Geany — нормальный редактор с полноценным GUI, а вим — только по необходимости.
Если бы vim был бы действительно не удобен, его бы не юзал никто. Я использую более 4х лет как единственный редактор для разработки, с тех пор как попробовал, ничего удобнее не видел. +Зачастую везде стоит, достаточно перетащить свой конфиг и вот уже рабочее место готово и настроено под меня (конфиг у меня под рукой всегда).
Освоить азы быстро, достаточно этому уделить минут 30 для начала (например заюзав учебник входящий в поставку — vimtutor).
Освоить азы быстро, достаточно этому уделить минут 30 для начала (например заюзав учебник входящий в поставку — vimtutor).
А как вы решаете проблемы рефакторинга (например переименование метода во всех местах его вызова)?
В UNIX это и многое другое делается средствами операционной системы — sed, awk, egrep, find и т.д. Поэтому UNIX так любят программисты.
Ясно. Я как-то искал статью на Хабре, о том как перестать пользоваться своей GUI IDE и начать использовать что-то консольное… Но… не нашел. Может опубликуете?
class A {
void method1() {}
}
//…
class B {
void method1() {}
}
//…
void procedure() {
A a = new A();
B b = new B();
a.method1();
b.method1();
}
Нужно переименовать method1() в method2() в классе A, но не в классе B. Как это сделать этими утилитами?
void method1() {}
}
//…
class B {
void method1() {}
}
//…
void procedure() {
A a = new A();
B b = new B();
a.method1();
b.method1();
}
Нужно переименовать method1() в method2() в классе A, но не в классе B. Как это сделать этими утилитами?
Очевидно же, пользователи текстовых редакторов постигают дзен и
* Не пишут гавнокод, чтобы не было нужды в рефакторинге.
* Пишут код сразу без багов, чтобы бы не использовать костыли для дебага.
В вашем примере на лицо проблема в дизайне :D
* Не пишут гавнокод, чтобы не было нужды в рефакторинге.
* Пишут код сразу без багов, чтобы бы не использовать костыли для дебага.
В вашем примере на лицо проблема в дизайне :D
Рефакторинг седом? Ох лол, люди каменного века, откуда вы такие?
НЛО прилетело и опубликовало эту надпись здесь
:%s/methodA/methodB/g примерно так
Выйти из него можно даже новичку! Кого не спроси уже каждый знает про выход :q даже если не работал не разу с ним, ибо много раз уже везде эта тема поднималась и чуть ли не на каждом заборе написано как из него выйти. А выйти из него легко, достаточно включить память, но если нигде не читал этого ранее, то первый строка ответа гугла даст ответ и займёт это не больше 5 секунд.
PS И консоль это не круто, это удобно!
PS И консоль это не круто, это удобно!
Для меня было главное что консоль — это «системно-незатратно» и соответственно быстро, а уже потом понимаешь насколько это удобно. А с vim-ом, mc, и всякими top — подобными утилитами и подавно :)
— Кого не спроси уже каждый знает про выход :q
ТЕПЕРЬ — да.
Я лет 7 назад я с ним пару часов мучался, пока компьютер не перезагрузил.
ТЕПЕРЬ — да.
Я лет 7 назад я с ним пару часов мучался, пока компьютер не перезагрузил.
НЛО прилетело и опубликовало эту надпись здесь
В дополнение, еcли просто запустить vim также видна надпись как из него выйти:
habrastorage.org/storage2/aaa/69f/40e/aaa69f40eafa68ea1740d65488d2e2aa.png
habrastorage.org/storage2/aaa/69f/40e/aaa69f40eafa68ea1740d65488d2e2aa.png
OMG! Что у Вас со шрифтами?!
Вы забываете прописные истины:
п.с:
Сам начал его использовать, когда то, как IDE для Python-а в связке с python-mode. В результате теперь всё резактируется в vim.
Vim никогда нельзя изучить до конца.
Лучший способ понять Vim — это практика.
п.с:
Сам начал его использовать, когда то, как IDE для Python-а в связке с python-mode. В результате теперь всё резактируется в vim.
1) Люди рождаются и растут.
2) Не у всех желание освоить vim появляется непосредственно при прикосновении к клавиатуре.
2) Не у всех желание освоить vim появляется непосредственно при прикосновении к клавиатуре.
Скачал тарбол. Потом сделал
После сборки командой make, запустил ./src/vim
Не хочет выполнять команду
Либо надо поставить в систему, сделав make install, либо вспоминать старую добрую слаку, хотя б на виртуальной машине поднять )
# apt-get build-dep vim
После сборки командой make, запустил ./src/vim
Не хочет выполнять команду
:help version7.4
Либо надо поставить в систему, сделав make install, либо вспоминать старую добрую слаку, хотя б на виртуальной машине поднять )
Ура! Вот и замена стандартному FAR'овскому редактору нашлась)
НЛО прилетело и опубликовало эту надпись здесь
Да я и не искал особо) С Colorer'ом в FAR'е вполне удобно писать скрипты на Python/Perl, для остального есть IDE. А тут вот оказывается и Vim есть виндовый)
Небось, только недавно с Dos Navigator'а перешёл, а тут на тебе, опять переход :)
(удалено)
НЛО прилетело и опубликовало эту надпись здесь
Видимо имеется в виду по дефолту, но надо поставить посмотреть. Пока для меня в этой версии нет ничего важного, подожду появления в репозитории и после гляну.
Ну так и по дефолту можно было настроить:
" use system clipboard (but not the middle-click mouse clipboard undex X11) set clipboard=unnamedplus
Вы, видимо, немного не в курсе, что считается «изменением в версии 7.4». А именно этими изменениями считаются все изменения сделанные в патчах 7.3.001 и более поздних вплоть до релиза. В самой первой версии 7.3 указанной вами функциональности не было, она появилась только в версии 7.3.074.
Видимо, не в курсе.
Я, до того как написал анонс беты vim-7.4 (то есть, пока не возникла необходимость узнать, что именно нужно писать в анонсе), тоже был не в курсе. Но, чтобы у людей не возникло недоумения как у вас, в начале списка изменений было написано «(указаны измения с версии 7.3.000)» — зная, что ещё десять минут назад я сам не знал о таком правиле, предупредить ситацию легче лёгкого.
Где можно приобрести дрель с поддержкой Javascript, Python и XML?
Отзовитесь кто установил, никакие плагины не сломались?
Чему там ломаться. Собрал, работает всё что попробовал. Использую vundle для управления модулями, как минимум эти работоспособны:
Bundle 'abolish.vim'
Bundle 'clang-complete'
Bundle 'git://github.com/ervandew/supertab.git'
Bundle 'git://github.com/wikitopian/hardmode.git'
Bundle 'git://github.com/altercation/vim-colors-solarized.git'
Bundle 'git://github.com/scrooloose/nerdtree.git'
Bundle 'git://github.com/scrooloose/nerdcommenter.git'
Bundle 'git://github.com/troydm/easybuffer.vim.git'
Bundle 'git://github.com/tpope/vim-surround.git'
Bundle 'git://github.com/tpope/vim-unimpaired.git'
Bundle 'git://github.com/tpope/vim-repeat.git'
Кстати, как вам clang-complete? Я им пользуюсь, но впечатления смешанные. На маленьких программках все норм. Но если взять что-нибудь большое (boost например), то начинает тупить. Дополнение появляется через секунду-две, причем не всегда правильно.
Попробуй YouCompleteMe.
На C++ пишу редко, но разок для интереса пробовал этот модуль с qt — да, подтормаживает. На Си особенных тормозов не было. В целом хорошая штука.
Кстати, для репозиториев на гитхабе можно не указывать полный путь. Можно писать так:
Bundle 'tpope/vim-fugitive'
Почему минус? Это из оф. документации Vundle. Или тут какие-то подводные камни?
В этом варианте строка «git» повторяется 0¹ раз, а в варианте автора количество повторений удалось довести до трёх. Такое демонстративное пренебрежение божественной системой контроля версий оскорбляет её фанатов.
¹ Или 1, но только для некоторых дополнений.
¹ Или 1, но только для некоторых дополнений.
Извиняюсь, случайно нажал.
Да, короткая запись удобнее. Когда конфиг писался, ещё не знал что так можно.
Да, короткая запись удобнее. Когда конфиг писался, ещё не знал что так можно.
Весьма замечательно, что, начиная с этой версии, юникод в windows поддерживается с настройками по умолчанию. Так что костыли, описанные в статье Настройка поддержки русского языка в GVim (windows), больше не требуются.
Только что установил 7.4 — по-умолчанию стоит cp-1251 установка Unicode приводит к нечитабельному тексту. У вас какая ОС?
Установка UTF-8 когда и к нечитабельному тексту где? Делать
И, кстати, Vim всегда брал и сейчас берёт кодировку из окружения. Я не помню, чтобы что‐то здесь менялось (что точно менялось — работа с именами файлов и, возможно, переменными окружения).
set encoding=utf-8
где‐либо, кроме vimrc, совершенно не рекомендуется, т.к. приводит к тому, что строки, уже хранящиеся в памяти, становятся неправильными.И, кстати, Vim всегда брал и сейчас берёт кодировку из окружения. Я не помню, чтобы что‐то здесь менялось (что точно менялось — работа с именами файлов и, возможно, переменными окружения).
Устанавливаю
set encoding=utf-8
в _vimrc (Windows 7). На данный момент прикрутил поддержку Unicode так, как рассказывается в статье.Если это не GVim, то могут быть проблемы с кодировкой терминала. А GVim в Windows тоже на GTK? А то я вижу подозрительный файл
Впрочем, я не слишком хорошо знаю эту кухню с кодировками, особенно на Windows. У меня просто везде UTF-8. Хотя в тестах моих дополнений в Wine вроде
src/gui_w32.c
. Может ему нужна соответствующая &termencoding.Впрочем, я не слишком хорошо знаю эту кухню с кодировками, особенно на Windows. У меня просто везде UTF-8. Хотя в тестах моих дополнений в Wine вроде
set encoding=utf-8
и scriptencoding utf-8
во всех скриптах было достаточно.НЛО прилетело и опубликовало эту надпись здесь
Сломалась кодировка сообщений (
messages
) при переходе на 7.4 c 7.3. В _vimrc
:set encoding=utf-8
set langmenu=en_US.UTF-8
set guifont=Courier_New:h10
Зря они по моему так сильно на питон завязываются.
Почему?
И ещё: не «они». Есть один разработчик (я), который решил улучшить поддержку любимого языка (Python). Если найдётся другой разработчик — будет улучшена поддержка другого языка. Вероятно, это будет lua. Сам Брам в силу отсутствия времени на улучшение поддержки какого‐либо языка был вынужден выбирать из двух вариантов: первое, улучшить поддержку Python, второе, не улучшать ничего вообще. «Завязывания» нету: VimL по‐прежнему единственный язык, необходимо присутствующий во всех сборках Vim. Python по‐прежнему может быть отключён.
И ещё: не «они». Есть один разработчик (я), который решил улучшить поддержку любимого языка (Python). Если найдётся другой разработчик — будет улучшена поддержка другого языка. Вероятно, это будет lua. Сам Брам в силу отсутствия времени на улучшение поддержки какого‐либо языка был вынужден выбирать из двух вариантов: первое, улучшить поддержку Python, второе, не улучшать ничего вообще. «Завязывания» нету: VimL по‐прежнему единственный язык, необходимо присутствующий во всех сборках Vim. Python по‐прежнему может быть отключён.
Круто, никак не ожидал что сам автор изменения ответит! :) В таком ключе оно конечно все хорошо и ничего не ухудшает.
Когда я читал предварительные логи изменений VIM мне показалось что взят курс на питон, учитывая что VimL вроде как испытывает проблемы с производительностью можно было бы ожидать что многие плагины будут на питоне. Мне показалось это немного опасной тенденцией, например на windows у меня нет питона по умолчанию и не хотелось бы такой зависимости для Vim.
Когда я читал предварительные логи изменений VIM мне показалось что взят курс на питон, учитывая что VimL вроде как испытывает проблемы с производительностью можно было бы ожидать что многие плагины будут на питоне. Мне показалось это немного опасной тенденцией, например на windows у меня нет питона по умолчанию и не хотелось бы такой зависимости для Vim.
Это мода, а не официальный курс. По сравнению с VimL, Python быстр, Python поддерживает больше возможностей, Python прост. Тенденция перезда дополнений на Python началась задолго до того, как я написал свой RFC с новыми интерфейсами и, кажется, ещё до того, как я добавил
¹ Автодополнение для Python, находящееся в стандартной поставке, требует наличия поддержки Python. То же самое относится к Ruby (но дополнение соответственно на Ruby).
vim.bindeval
. Говорить об официальном курсе следует только после того, как в стандартную поставку включат дополнения для общего пользования¹ на нём, а этого, как мне кажется, не произойдёт.¹ Автодополнение для Python, находящееся в стандартной поставке, требует наличия поддержки Python. То же самое относится к Ruby (но дополнение соответственно на Ruby).
Спасибо за разъяснения, я немного успокоился и меньше опасаться за vim.
Я в VIM ценю скорость/отзывчевость, когда не бывает такого как в IDE что набираешь символ и приходится ждать когда какой-нибудь autocomplete прогрузится. С некоторыми дополнениями (autocomplete, linters) Vim теряет это свойство и поэтому от таких приходится отказываться. Та политика что есть сейчас она кажется разумной, когда интерпретатор и рантайм большого интерпретируемого языка не загружается автоматически (только по желание тех кто сознательно на это идет).
Я в VIM ценю скорость/отзывчевость, когда не бывает такого как в IDE что набираешь символ и приходится ждать когда какой-нибудь autocomplete прогрузится. С некоторыми дополнениями (autocomplete, linters) Vim теряет это свойство и поэтому от таких приходится отказываться. Та политика что есть сейчас она кажется разумной, когда интерпретатор и рантайм большого интерпретируемого языка не загружается автоматически (только по желание тех кто сознательно на это идет).
Помимо него и VimL можно писать на Lua, Perl, Tcl, Ruby и Scheme. Просто Python как-то становится мейнстримом.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Вышел Vim 7.4