Вступление
"Вим умеет только бибикать и портить текст!", - так обычно обороняются адепты секты Емакс во время очередных священных битв между поклонниками этих двух текстовых редакторов. Попробуем же освоить Вим так, что бы избежать таких приколов.Терминология
Для начала давайте разберёмся с терминами, которые обычно используются при описании работы в Виме.- Экран
- Это окно программы Vim
- Окно
- Представление (область экрана) буфера. Экран может включать одно или несколько окон, разделённых строкой статуса. Внизу экрана размещается командная строка Вима.
+-------------------------------------+ экран | окно 1 | окно 2 | | | | | | | |= строка статуса =|= строка статуса =| | окно 3 | | | | | |==== строка статуса =================| | командная строка | +-------------------------------------+
- Буфер
- Временное хранилище текста.
- Именованный регистр
- Именованное хранилище текста для множественных вставок.
Войти и выйти
Многие виммеры начинали своё знакомство с этим редактором с конфуза, а именно не смогли попросту выйти из программы! Давайте начнём с того, что раз и на всегда избавим пользователя от необходимости закрывать окно терминала (а так делал и ваш покорный слуга) с целью выхода из этого замечательного редактора :)Чтобы начать редактировать произвольный файл и таким образом начать пользоваться Вимом достаточно набрать в консоли:
vim ~/foobar.txtОтлично, первый шаг сделан - по ошибке или целенаправленно - это другой вопрос! Чтобы выйти из Вима без сохранения внесённых изменений достаточно набрать:
<Esc>:q[uit]<Enter>В квадратные скобки заключена необязательная часть команды, которая дополнится, как традиционно в UNIX, по <Tab>. <Esc> же переведёт редактор в нормальный режим, если вы ещё не в нём (о режимах в Виме чуть позже). Чтобы уж совсем добить тему выхода — есть ещё и клавиатурная комбинация (одна из "миллиона" в Виме): ZQ - выход без сохранения изменений.
Режимы
Вим, как и его прародитель Vi, имеет модальный интерфейс. Это означает, что одни и те же клавиши в разных режимах работы выполняют разные действия. В Виме представлены следующие основные режимы:Нормальный - главный режим, в котором вам придется работать. Когда вы запустили редактор, вы находитесь именно в этом режиме. Нажатие клавиш в нём воспринимается как команды. h, j, k, l - переместят курсор куда вам необходимо, x удалит символ под курсором, dd - целую строку и так далее. Вернуться в нормальный режим из любого другого можно всегда по нажатию Esc. Вообще использование Esc, ровно как и клавиш перемещения - это скорее историческое наследие.
Для тех же, кто всё-таки не считает Esc - самым удобным способом вернуться в нормальный режим Вима, есть целые подборки альтернатив. Я для себя выбрал комбинацию Ctrl-[.
Режим вставки - это тот самый режим, в котором вы и будете вводить текст. В этот режим можно перейти из нормального просто нажав i, что означет начать режим ввода текста перед курсором. На самом деле существует ещё наверно с дюжину клавиатурных комбинаций, которые вас переключат в этот режим.
Режим командной строки - перейти в него можно, набрав : в нормальном режиме, набрав далее необходимую команду. Это своего рода управляющий режим. С помощью его команд можно открыть файл на редактирование :edit ~/foobar.txt , сохранить правки и выйти :wq и многое другое. Так же частным его использованием является процедура поиска или замены текста.
По совету анонимного читателя упоминаю о так называемых "принудительных" команд:
- :q! - выход БЕЗ сохнанения изменений
- :w! - принудительно записать изменения
- :e! - переоткрыть файл, не сохраняя изменений
- :e! fname - открыть другой, не сохраняя изменений
Визуальный режим позволяет делать тоже самое, что и в нормальной, но с визуально выделенными блоками текста. Это позволяет не запоминать, сколько символов необходимо скопировать или строк удалить. Например, устанавливаем в нормальном режиме курсор на начала текстового блока, нажимаем v и выделяем необходимый кусок текста. Теперь его можно, например, скопировать y.
На самом деле в Виме есть ещё 2 режима: "Select mode" и "Ex mode", но они обычно редко используются и их описание выходит за формат данного поста.
Help: :help vim-modes
Вкладки
Начиная, кажется, с 7-ой версии в Виме появились наконец-то вкладки (или табы). С одной стороны, конечно хватало и буферов, а для удобной навигации по ним можно использовать bufexplorer.zip : Buffer Explorer / Browser. Но, с другой стороны, во "взрослых" IDE табы к тому времени стали уже стандартом и все поняли, что это удобно. В Виме вкладка по сути контейнер для окна/окон. Что бы открыть файлы для редактирования, каждый в своей вкладке, набираем в консоли:vim -p file1.txt file2.txtПеремещаться между вкладками можно как привычным сочетанием Ctrl-PageUp / PageDown, так и менее традиционными gt и gT в нормальном режиме. Иногда так действительно быстрее! :)
К сожалению, нет дефолтной комбинации для открытия новой вкладки, а привычные Ctrl-t заняты другими функциями (переход на один шаг назад в истории работы с тегами) :( Но я пришёл к тому, что можно пожертвовать этим и всё-таки переназначить эту клавиатурную комбинацию на открытие нового таба:
" C-T - new tab call SMap("<C-t>", ":tabnew<cr>")Функция SMap в этом куске конфига - это просто более удобный самописный способ назначения действий для клавиатурных комбинаций.
Как обычно много полезного можно почерпнуть из встроенной помощи: см. :help tabpage.
Поиск и замена
Что бы найти какую-либо строку в открытом файле достаточно в нормальном режиме набрать /somestring что бы искать с начала файла, либо ?somestring - с конца. n / N - переместит курсор к следующему вхождению строки. [I - недавнее открытие :) Позволяет быстро просмотреть строки, в которых содержится искомое слово. Вместо того, что бы набирать запрос поиска, можно нажать * / # и Вим переместит вас на место первого вхождения слова под курсором аналогично "старшим" командам.С заменой всё тоже достаточно просто. Следующая команда заменит все вхождения строки "foo" на "bar":
:%s/foo/bar/gcРазберём этот пример по частям:
- % - диапазон по всему файлу
- :s - сокращённая запись команды :substitute
- "foo" - что заменяем
- "bar" - на что заменяем
- g - это флаг, указывающий на то, что заменить необходимо все вхождения для каждой строки текста
- c - это флаг, указывающий на то, что перед заменой очередного вхождения строки необходимо спросить разрешение у пользователя
Метки
В Виме, как и в других продвинутых текстовых редакторах, есть возможность устанавливать закладки (в Виме они называются метками) в произвольных местах редактируемого документа. Например, можно поставить закладку на месте определения функции, что бы при необходимости быстро его найти. Суть такая же как и с книжными закладками. Что бы установить метку в месте расположения курсора достаточно набрать в нормальном режиме:m{a-zA-Z}{a-zA-Z} - это одна буква английского алфавита в соответствующем регистре, который кстати имеет значение! Метка, обозначенная буквой в нижнем регистре, существует в рамках текущего файла, в то время как большая буква позволяет существовать метке в рамках всех загруженных в Вим файлов.
Для того, что бы перейти к выставленной ранее метке достаточно набрать ' и соответствующую ей букву. Конечно запомнить все выставленные метки сложно, да и наверное не стоит пытаться. Список меток всегда можно посмотреть набрав в командном режиме:
:marksДля более удобной навигации по выставленным метках можно использовать и одно из расширений, например Marks Browser : A graphical marks browser. Хотя и этот плагин не обновлялся аж с 2006 года, он вполне справляется с возложенной на него обязанностью!
Help: :help mark-motions
Аббревиатуры
Хочется немного упомянуть и функциональность аббревиатур в Виме. Они дают возможность быстро набирать часто употребляемые при написании длинные строки, используя их сокращённое написание. Например, когда набираете в тексте слово МГУ, Вим заменяет его на Московский государственный университет. Задать аббревиатуру для этого можно так::iabbrev МГУ Московский государственный университетВ аббревиатуры можно упаковывать целые конструкции, превращая их в мини-шаблоны:
iabbrev dbg echo '<pre>';<CR>var_dump(|);<CR>echo '</pre>';<CR>В тоже время есть более удобные механизмы шаблонов для Вима, но они предоставляются уже плагинами. Например, snippetsEmu : An attempt to emulate TextMate's snippet expansion, для которого есть целые пачки готовых шаблонов для популярных языков программирования и разметки.
Help: :help abbreviations
~/.vimrc
~/.vimrc обычно наряду с ~/.bashrc и ~/.screenrc входит в состав т.н. "dotfiles", которыми пользователи любят делиться и разбирать :) ~/.vimrc - это файл настроек Вима. Сюда можно поместить, например, настройку, указывающую включать по умолчанию подсветку синтаксиса:syntax onили разрешать смену текущего буфера без необходимости сохранить файл:
set hiddenили расставить все точки над и при работе с отступами:
" Expand tab to spaces ? set expandtab " Default tab size set shiftwidth=4 set softtabstop=4 set tabstop=4или отключить то самое бибиканье!
" Turn off any bells set novisualbell set t_vb=
Расширения
Пользователи Mozilla Firefox оценят богатство расширений для Вима, их уж почти 4000! Причем найти среди них можно практически всё что угодно: от игр до вполне серъёзных вещей вроде плагинов для удобного ведения проектов.Лучшая пятёрка расширений по загрузкам на vim.org:
Расширение | Описание |
---|---|
taglist.vim | Браузер исходного кода |
The NERD tree | Навигатор по файловой системе |
bufexplorer.zip | Удобная навигация по буферам |
minibufexpl.vim | Ещё одно расширение, упрощающее навигацию по буферам |
Color Sampler Pack | Отличная подборка цветовых схем |
Небольшая подборка расширений от читателей блога:
Расширение | Пользователь |
---|---|
The NERD Commenter : A plugin that allows for easy commenting of code for many filetypes. | FancyWriter |
ctrlp.vim : Fuzzy file, buffer, MRU, and tag finder with regexp support. | Roman V. Babenko |
tComment : An extensible & universal comment plugin that also handles embedded filetypes | Roman V. Babenko |
rails.vim : Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more | Roman V. Babenko |
pathogen | dimas |
:help me
Вим имеет мощную встроенную систему справки, которая позволяет найти ответ на практически любой вопрос, касающийся работы в этом текстовом редакторе. Например, вы забыли как работать с именноваными регистрами. Набираем в командном строке::help registersи читаем подробное описание того, какие бывают регистры и как их можно использовать. Если же вы решили изучить всю функциональность Вима, то можно не задавать запрос в команде, а просто просмотреть содержание справочника.
Для удобства читателя в этом посте используются специальные ссылки на онлайн версию этого справочника.
Заключение
Надеюсь, что этот небольшое введение в мир Vim, поможет вам при следующем открытии этого редактора чувствовать себя в нём более уверенно. Ну и конечно Вим при этом станет для вас мощным подспорьем при редактировании не только конфигов, но вполне полноценных текстов и исходников. Без бибикания и порчи текста ;)Pento http://www.allaboutvim.ru/
Ещё не перечислено хорошее расширение - nerdcommenter
ОтветитьУдалитьFancyWriter, согласен, что расширение хорошее, и даже сам его использую :) Но всё же в рамках статьи не объять всего множества расширений для Вима.
ОтветитьУдалитьЛично для меня самыми ценными расширениями являються: tcomment, ctrlp и rails :-)
ОтветитьУдалитьДерево проекта никогда не использовал и считаю его нефункциональным ибо сторонник "контекстной навигации".
главное расширение для vim - это pathogen :)
ОтветитьУдалитьну и добавлю что ли свой конфиг и скрипт для обновления - https://github.com/dimasg/vim
ОтветитьУдалитьЗнатный пост, спасибо, Pento!
ОтветитьУдалитьРеквестирую добавить в пост в раздел "Расширения" оные присоветованные комментаторами и своими любимыми. Я понимаю, что их много, но хотя бы пяток-десяток. Посту будет лучше.
Если есть другие расширения, достойные упоминания - оставляйте в комментариях.
>нажимаем v и выделяем необходимый кусок текста
ОтветитьУдалитьУдобно иногда нажимать shift+v и ctrl+v.
>набрать /somestring что бы искать с начала файла, либо ?somestring - с конца
Верно, если вы находитесь в начале файла. А вообще / - поиск вперед, а ? - поиск назад.
Хм... Честно пытался использовать Vim в течение пары месяцев, но так и не переварил идею с использованием режимов (или, как Вы изволили выразиться, идею "модального интерфейса"). Сейчас уже год как использую емакс. Имхо - на вкус и цвет товарищей нет.
ОтветитьУдалитьО статье судить не берусь. Описаны только самые азы, которые успешно осваиваются при помощи всем известного vimtutor.
Товарищ virens, когда я был совсем начинающим линуксоидом, Ваш блог мне сильно помогал - но сейчас многие статьи устарели, ибо писались еще для Edge и требуют переработки, а новые описывают материал очень поверхностно.
Вот например, если говорить о Вим, то лично мне куда интереснее было бы почитать краткие описания возможностей расширений/модулей. Вот например, я слышал, что в Вим есть аналог ecb. Хотелось бы узнать достоинства и недостатки. Также было бы интересно, как Вим работает с LaTeX и Maxima.
Быть может, есть смысл обратить внимание на эти вопросы?
@Pento
ОтветитьУдалитьСпасибо за пост про vim! Давно уже им пользуюсь, чудесная вещица (а с Вашей конфигурацией ещё лучше).
По поводу поста есть лишь одно замечание: использование тега H1 внутри поста не есть хорошо. Во-первых, подзаголовки статьи больше заголовка самой статьи (по крайней мере в моём огнелисе). Во-вторых, поисковые роботы не любят этого, так как им нравится, когда H1 - это название блога; H2 - название поста; H3, H4, H5, H6 - подзаголовки внутри поста. 13(!) заголовков H1 могут сбить поискового робота с толку.
@virens
Багрепорт: очередного приглашённого автора опять нет на странице экипажа.
Я подозреваю, что современная критика vim'а справедливо может иметь основания для пользователя только через отсутствие "правильного" GUI к этому редактору. А вот что не нравится админам, сидящим в консольных скринах -- ума не приложу. Как joe или nano могут быть альтернативой vi/vim…
ОтветитьУдалитьЯ бы сказал, что бибикать и портить текст умеет vi. Vim, по сравнению с ним, весьма дружелюбен :)
ОтветитьУдалитьRoman V. Babenko, интересные расширения...надо будет попробовать их использовать.
ОтветитьУдалитьdimas, давно хочу поразбираться c pathogen :) но количество расширений, которые я постоянно использую минимально. И таким образом необходимости в более высокоуровневом управлении ими нет.
lollo, про shift-v не знал, спасибо :)
Дмитрий, спасибо за комментарий - я старался, что бы это было не повторение vimtutor, при всей простоте и удобстве последнего. Про LaTeX http://www.allaboutvim.ru/2007/10/latex-vim-vim-latex.html
Vlsu, пожалуйста :) Заголовки сейчас поправлю, а вообще это последствия конвертации из ReST формата.
virens, добавил подборку расширений в пост :)
ОтветитьУдалить@Дмитрий комментирует...
ОтветитьУдалитьОписаны только самые азы, которые успешно осваиваются при помощи всем известного vimtutor
На самом деле, вимтутор это такой курс молодого бойца, и многое из описанного здесь в вимтуторе нет.
Товарищ virens, когда я был совсем начинающим линуксоидом, Ваш блог мне сильно помогал - но сейчас многие статьи устарели
Дмитрий, всё очень просто: вы тогда были начинающим, и поэтому статьи были вам в масть. Собственно, я и не пытаюсь писать здесь какие-либо широкомасштабные исследования Дебиана.
Я просто пользователь Debian, который ведёт свой личный блог. Вот и всё, ничего особо выдающегося. Здесь заметки, которые помогают работать прежде всего мне, и, возможно, ещё кому-нибудь.
писались еще для Edge и требуют переработки
На блоге более 300 постов, и перерабатывать их все - выше моих сил. Я инженер-исследователь на полную ставку и просто физически не смогу это сделать. Тем не менее, часть постов (например, недавно о proc) исправляется и расширяется.
а новые описывают материал очень поверхностно.
Не могу согласиться. Конечно, пост на пост не приходится, но например о doxygen было написано довольно подробно.
Опять-таки, это делёж личным скромным пользовательским опытом, а не попытка экспертного исследования. Моя область интересов лежит несколько в другой плоскости (адаптивная оптика).
Вот например, если говорить о Вим, то лично мне куда интереснее было бы почитать краткие описания возможностей расширений/модулей.
Это интересно. Если у тов.Pento такой материал есть, возможно, он через некоторое время согласится его опубиковать где-нибудь.
@Vlsu комментирует...
По поводу поста есть лишь одно замечание: использование тега H1 внутри поста не есть хорошо.
Ха, а я его и не использую. В моих постах размеры шрифтов прибиты гвоздями - размерами шрифта. Это моветон, разумеется, но я ленив до крайности.
Багрепорт: очередного приглашённого автора опять нет на странице экипажа.
Это потому, что я сейчас в Тайланде на конференции, и пишу с домофон^W доступ в интернет спорадический. Но таки ухитрился добавить.
@Анонимный комментирует...
Я бы сказал, что бибикать и портить текст умеет vi. Vim, по сравнению с ним, весьма дружелюбен
Не знаю, кто как, а я для vi не созрел. Для vim пожалуй да, но vi это для каких-то совсем суровых сибирских мужЫков ;-)
@Pento комментирует...
dimas, давно хочу поразбираться c pathogen :)
Пенто, а как насчёт забабахать пост с описанием используемых расширений? Там выше Дмитрий выдал идею.
virens, добавил подборку расширений в пост :)
И ведь лучше стало посту :-)
Если есть ещё замечания, пожелания и идеи - выдавайте в комментарии, пока Пенто далеко не убежал :-)
Ощущение, что статья для новичков.
ОтветитьУдалитьА как понимать слово бибикиния в заглавии?
ОтветитьУдалить@Ogost комментирует...
ОтветитьУдалитьОщущение, что статья для новичков.
Это правильное ощущение - именно так и есть.
@Анонимный комментирует...
А как понимать слово бибикиния в заглавии?
У вима есть свойство пищать, если пользователь пытается вводить текст не в том режиме (не в режиме правки). Это конфузит многих, откуда и появилось это выражение :-)
Кстати, о некоторых расширениях я не знал, так что сам почерпнул для себя кое-что.
Перечитайте статью, там в одном месте то ли "его" два раза подряд, то ли "он"..
ОтветитьУдалитьПо поводу "бибикинии" я интересовался в смысле правописания.
ОтветитьУдалитьАнонимный, спасибо! Всё исправил :)
ОтветитьУдалить@Pento комментирует...
ОтветитьУдалитьАнонимный, спасибо! Всё исправил :)
Вот она, сила Анонимусова!
Да, кстати, там выше интересовались насчёт возможности поста по плагинам. Это была бы интересная затея.
"Тем не менее, часть постов (например, недавно о proc) исправляется и расширяется."
ОтветитьУдалитьНа слове "proc" неправильная гиперссылка. Исправьте, пожалуйста.
@Анонимный комментирует...
ОтветитьУдалитьНа слове "proc" неправильная гиперссылка. Исправьте, пожалуйста.
Ой, прошу пардону - ссылка была на пост Два слова о proc, который я переделал.
Увы, но ни я, ни авторы не могут править комментарии в Блоггере. Только стереть и написать новый.
Есть такая штука, которая проще и удобнее, чем pathogen: https://github.com/gmarik/vundle
ОтветитьУдалитьЕсли будет пост про плагины, могу написать о ней пару абзацев. Она умеет работать с плагинами, практически как с пакетами репозитория.
Спасибо за статью! Только начал осваивать его, правда пока под вендой :-)
ОтветитьУдалитьКак после перехода в "Режим вставки" сразу писать в конце слова, а не перед последней буквой так происходит когда нажимаю i ?
ОтветитьУдалитьКак после перехода в "Режим вставки" сразу писать в конце слова
ОтветитьУдалитьнажать a
По моему опыту, дальнейшему освоению нормального режима здорово помогает graphical cheat sheet, который можно найти, к примеру, здесь
ОтветитьУдалить@triklozoid комментирует...
ОтветитьУдалитьЕсли будет пост про плагины, могу написать о ней пару абзацев.
Есть ещё более революционное предложение - можно написать про плагины целый пост. Их тут уже накидали в комментариях, так что можно это всё сделать в виде отдельного поста.
@Бетономешатель комментирует...
Спасибо за статью! Только начал осваивать его, правда пока под вендой
Там должно быть всё тоже самое. Так что поставя Линукс, будете уже в знакомой среде. Текстовой, во всяком случае.
@Анонимный комментирует...
По моему опыту, дальнейшему освоению нормального режима здорово помогает graphical cheat sheet, который можно найти, к примеру, здесь
Анонимус! Ты могуч! Ты гоняешь стаи туч! :-)
Потрясающая картинка - ей в посте самое место. Отдублировал в пост. Огромное спасибо!
Добрый день, Virens.
ОтветитьУдалитьДавненько не читал, зашёл - а тут про Vim :) Спасибо.
Немного смущает меня часть про замену текста.
:s/foo/bar/gc
Может настройки у тебя какие другие, но, кажется, по умолчанию эта команда заменит все foo на bar только в текущей строке - "g" - это глобальная замена в указанном диапазоне, а он здесь не указан - т.е. vi ограничится текущей строкой. Чтобы расширить диапазон применения на весь текст нужно добавить "%"
:%s/foo/bar/gc
Спасибо автору за статью.
ОтветитьУдалитьПро выход из vim - при нажатии Control-C в строке информации заботливо подсказывается команда выхода :). Стоит еще дополнить о "принудительных" командах: :q! - выход БЕЗ сохнанения изменений, :w! - принудительно записать изменения, :e! - переоткрыть файл, не сохраняя изменений, :e! fname - открыть другой, не сохраняя изменений. Помню, как вначале был растерян, незнания таких команд.
Хорошо бы упомянуть про команду повторения "." (точка) - повторяющее предыдущее действие - это удобно.
Я понимаю, что это обзорная статья для начинающих, но вношу свое громогласное "Ура": в этом прекрасном редакторе есть запись *макросов*, суть кт. состоит в повторении каких-либо действий многократно. Макросы сохраняются в истории, и поэтому есть возможность выполнять их в любое время, пока не переназначится буква или не удалиться из истории. Макрос записывается: q<буква> в нормальном режиме, далее идет некая последовательность действий (Правка, набор текста - что душа пожелает) и завершаем запись: q также в нормальном режиме. Выполняем макрос: [число повторений макроса]@<буква>. Просто и удобно. Мой любимый пример - вставка списка:
i<Tab>1.<Tab>Элемент списка<Esc>qaYp<Control-A>q
и дальше использую: 9@a.
Про поиск: поддержка регулярных выражений также стоит упомянуть, без них поиск скучный.
Интересно, все-ли вимеры нахимают <Esc> в любом приложении, когда закончили мысль? :)
ссылка "это просто более удобный самописный способ" выдаёт 403
ОтветитьУдалить@Beggy комментирует...
ОтветитьУдалитьДобрый день, Virens.
Приветствую!
Давненько не читал, зашёл - а тут про Vim :) Спасибо.
А это ж не я - это Pento выдал гостевой пост. Боян не мой, я только его запостил :-)
Немного смущает меня часть про замену текста.
Странно, но у меня заменяет именно так. Вим из Ленни, но что я там допиливал - не помню.
@Анонимный комментирует...
Спасибо автору за статью.
Pento да, могуч. Я его на этот пост раскачал.
Анонимусу спасибо за замечания. Pento отбил письмо, чтобы он поглядел. Пусть правит рука автора, я тут только на правах комментатора.
Я понимаю, что это обзорная статья для начинающих
Именно так оно и задумано. Ну и посты пропиарить лишний раз.
Интересно, все-ли вимеры нахимают в любом приложении, когда закончили мысль?
Я не говорю за всю Одессу, вся Одесса очень велика... но ловлю себя на мысли, что частенько давлю на Esc в Kate.
@triklozoid комментирует...
ссылка "это просто более удобный самописный способ" выдаёт 403
Отбил письмо автору, дабы поправил. Я-то не знаю, куда она должна вести.
virens, в очередной раз спасибо - даже если материал бывает староват, часто можно обнаружить что-нибудь новое для себя, хотя бы в комментариях ))
ОтветитьУдалитьПоправьте, пожалуйста, в параграфе "Войти и выйти" - начиная со второго абзаца все "что бы" в данном случае пишутся слитно, а в последнем предложении вторую часть уместнее начать с тире (а у Вас стоит "то").
Поскольку этот пост предназначен, в основном, новичкам в vim, возможно, стоит упомянуть еще такой момент: в squeeze, например, по умолчанию стоит нехило обрезанная версия vim-а, именуемая vim-tiny. Так вот, по умолчанию она открывается в "режиме совместимости" с vi, а это значит, что новичок сталкивается с дополнительной порцией "бибикания и порчи текста", даже имея некоторое представление об i, Esc и ZZ. В режиме совместимости переключение в режим вставки текста не сопровождается строкой INSERT внизу экрана, клавиша backspace и ей подобные, нажатые "по привычке", могут вести себя непредсказуемым (для новичка) образом ну и так далее... Для отключения этого "режима совместимости" нужно ввести :set nocp или прописать эту команду в .vimrc. Если открыть "пустой" vim, (vim-tiny в squeeze вызывается по команде "vi"), то там в приветствии говорится о set nocp, но новичок может не заметить или не придать значения...
triklozoid,
ОтветитьУдалить> Есть такая штука, которая проще и удобнее, чем pathogen: https://github.com/gmarik/vundle
Да, знаю про него...у меня просто небольшое количество расширений используется, поэтому хватает
и традиционного способа установки. Но, согласен, что штука интересная! Ссылку тоже поправил, спасибо!
Бетономешатель,
у самого недавно возникла необходимость в нормальном редакторе в винде. Сначала по памати поставил
фар+колорер, но потом всё равно установил вим. Привык.
Анонимный,
> По моему опыту, дальнейшему освоению нормального режима
> здорово помогает graphical cheat sheet, который можно найти, к примеру, здесь
Согласен, давно известная и полезная картинка :)
Beggy, ты прав про % - поправил текст, спасибо!
Анонимный, добавил про принудительные команды, спасибо! Про макросы таки надо сделать отдельный пост, хотя и не пользуюсь ими.
@Анонимный комментирует...
ОтветитьУдалитьПо воле хаоса, этот коммент почему-то попал в спам. Автор просит пардону - комментарий восстановлен.
virens, в очередной раз спасибо
А пост-то не мой, это Тарас (Pento) постарался.
часто можно обнаружить что-нибудь новое для себя
И то правда. Не далее как сегодня сам пользовался этим вот постом, правя кое-какие конфиги в виме. Удобно :-)
Поправьте, пожалуйста, в параграфе "Войти и выйти"
Снова отбил письмо Pento, вместе с RSS ссылкой на комметарии.
Поскольку этот пост предназначен, в основном, новичкам в vim, возможно, стоит упомянуть еще такой момент: в squeeze, например, по умолчанию стоит нехило обрезанная версия vim-а, именуемая vim-tiny.
Мммм... вот интересно, у меня на этом ноутбуке, с которого сейчас пишу, стоит как раз Сквизи, но vim-tiny там нет. Правда, я обновлялся с Lenny. Есть только Vim с моим vimrc, которому уже Аллах знает сколько лет.
Да, в Lenny, кажется, стояла по умолчанию другая версия vim-а (точно не помню). А в моем Squeeze по команде update-alternatives --list editor предлагалось (в свежеустановленной системе) на выбор ed, nano, mcedit, vim.tiny. (Я, кажется, выше ошибся, vim.tiny пишется через точку, а не через дефис). Я ставил еще ранний тестинг, может быть, с тех пор что-то изменилось; в любом случае, чтобы полноценно пользоваться vim-ом, стоит поставить более полную его версию. Собственно, моя главная мысль заключалась в привлечении внимания к опции nocp, возможно, это уже не актуально.
ОтветитьУдалитьИнтересно, все-ли вимеры нахимают в любом приложении, когда закончили мысль? :)
ОтветитьУдалитьДа я даже в шелле завёл алиас :q="exit"...
Подскажите, пожалуйста, как обновить vim в debian wheezy до vim 7.4?
ОтветитьУдалитьЗаранее спасибо ))
ответ нашел здесь http://websearch.com.ua/nastroyka-vim-v-debian.html
ОтветитьУдалить