About
Swaroop C H is 29 years of age. He is a coder and startupper. He has previously worked at Yahoo!, Adobe, his own startup and Infibeam.
Views
Support
Personal tools
COLLECTION
Collection
Vim ru:First Steps
From Notes
Contents |
Запуск Vim
Первые шаги - это обучающий курс по запуску Vim.
Графическая версия
- Windows
- Щелкните Пуск (Start) → Программы (Programs) → Vim 7 → gVim.
- Mac OS X
- Щелкните Приложения (Applications) → Vim.
- Linux/BSD
- Щелкните Приложения (Applications) → Дополнительные (Accessories) → Текстовый редактор GVim (GVim Text Editor), или нажмите Alt+F2, наберите gvim и нажмите клавишу enter .
Консольная версия
- Windows
- Щелкните Пуск (Start) → Выполнить (Run), наберите vim и нажмите клавишу enter.
- Mac OS X
- Щелкните Приложения (Applications) → Утилиты (Utilities) → Терминал (Terminal), наберите vim и нажмите клавишу enter.
- Linux/BSD
- Щелкните Приложения (Applications) → Дополнительно (Accessories) → Терминал (Terminal), или нажмите Alt+F2, наберите konsole/gnome-terminal нажите enter. Затем, наберите vim и снова нажмите enter.
С этого момента, когда мы скажем 'открыть Vim', используйте один из двух методов рассмотренных выше.
- Замечание
- При запуске Vim, Вы можете заметить, что нельзя сразу приступить к набору текста. Не беспокойтесь, все будет объяснено позже.
Графический или консольный?
В графической версии Vim есть меню, которое предоставляет доступ к различным опциям, но заметьте, что оно полностью необязательно. Вы можете получить доступ ко всем возможностям Vim пользуясь только клавиатурой.
Почему это важно? Потому, что при начале эффективного набора пользуясь только клавиатурой человек работает гораздо быстрее и менее склонен к ошибкам, чем при использовании мыши. Это происходит потому, что руке требуется переключаться между клавиатурой и мышью, а это достаточно медленно, при этом необходимо при переключении между клавиатурой и мышью держать все это в голове. Если Вы сделаете привычкой пользоваться клавиатурой всегда, когда это возможно, вы сохраните значительные перемещения руки.
Конечно, это субъективная оценка. Некоторые люди предпочитают мышь, а некоторые - клавиатуру. Я призываю пользоваться клавиатурой, насколько это возможно, для открытия реальной мощи Vim.
Введение в режимы
Представьте, что субботним вечером Вы нашли время, чтобы посмотреть телевизор. Но вместо передач хотите посмотреть старое любимое кино. Вы переключаете телевизор в видеорежим, и он вместо кабельных каналов использует сигнал DVD-плеера. Заметьте, что телевизор показывает видео, но Вы в любой момент можете переключиться в зависимости от того, что хотите смотреть: DVD или телевизионный канал.
Так же и в Vim есть режимы. Например, есть режим ввода, командный режим и т.д. Все они предназначены для редактирования текста, но Вы переключаете контекст в зависимости от того, хотите просто набрать текст или выполнить над ним какие-либо действия.
Это не так просто?
Обычно, идея режимов самая главная причина, которую приводят новички, говоря почему они считают Vim "сбивающим с толку". Я сравниваю это с катанием на велосипеде - некоторое время Вы падаете, но однажды освоившись, Вы удивитесь, что все это было волнением по пустякам.
Почему же в Vim есть режимы? Для того, чтобы сделать вещи как можно более простыми, даже несмотря на то, что их использование поначалу может казаться "странным".
Что я имею в виду под этим? Давайте возьмем пример - одна из ключевых целей в Vim предоставить все возможность при работе с клавиатурой, без необходимости использования мыши (Вы можете использовать мышь, но это совсем необязательно). Но при таком подходе, как различать текст, который Вам необходимо ввести, и команды, которые необходимо выполнить. Решение Vim в наличии quot;нормального" режима, в которым Вы можете выполнять команды и режим "вставки", в котором Вы просто набираете текст. В любой момент времени Вы можете переклчиться между ними. Например, нажатие i переключает Vim в режим вставки, а нажатие <Esc> - обратно в нормальный режим.
Как традиционные редакторы делают различие между командами и набором текста? При помощи графических меню и клавиатурных сокращений. Проблема в том, что это несопоставимо. Во-первых, если у Вас сотни команд, создание меню для каждой из команд может быть абсурдным и сбивающим с толку. Во-вторых, вопрос о том, как использовать каждую из этих команд будет еще более трудным.
Давайте определенный пример. Предположим Вы хотите хотите заменить все вхождения слова "from" на слово "to" в документе. В традиционном редакторе, вы можете использовать команду меню Edit -> Replace (или сокращение Ctrl-R) и ввести слова 'from', 'to', а затем нажать 'Заменить' ('Replace'), выбрав опцию 'Заменить все' ('Replace All'). В Vim, Вам просто необходимо выполнить команду :s/from/to/g в нормальном режиме. :s - это команда замены "substitute". Посмотрите насколько это проще?
А что, если Вы хотите произвести замену только в первых десяти строках и получать сообщение для подтверждения при каждой замене? В традиционных редакторах это достигается снятием флажка 'Заменить все' ('Replace All'), но заметьте что так Вы получите первое совпадение, а затем будете использовать мышку для выбора (или используя длинную последовательность клавиш при использовании клавиатуры). Но сейчас Вы запускаете Заменить только для десяти первых строк? В Vim, Вы просто выполните :0,10s/from/to/gc. Новая опция c означает, что мы хотим получать сообшение с подтверждением ('c'onfirmation) при каждой замене.
Разделяя режимы печати (вставки) и команд (нормальный), Vim делает проще переключение двух контекстов.
Заметьте, что первые шаги использования Vim кажутся немного "таинственными", немного "странными", но как только Вы увидите это в действии, это начнет оказывать . Самая лучшая часть в том, что основные идеи помогут понять все, что нужно знать о том, как использовать.
Как только Вы поймете разницу между нормальным режимом и режимом вставки, Вы сможете прибегать к помощи различных команд, запускать их в командном режиме и немедленно начать из использование. Сравните,что изучение новых команд в традиционном редакторе в основном означает чтение большого количества документации, поиск в большом числе меню, множество проб и ошибок или простых просьб о помощи.
Лично я не нахожу название режимов интуитивно понятным для новичков. Я предпочитаю называть режим вставки режимом "письмаwriting", а нормальный режим - режимом "переписывания", но мы будем придерживаться стандартной терминологии Vim для избежания неясностей.
- Замечание
- Все команды в нормальном режиме заканчиваются клавишей enter, которая сигнализирует Vim о том, что мы ввели полную команду. Итак, когда мы выполняем :help vim-modes-intro, это значит, что Вы должны напечатать :help vim-modes-intro и затем нажать клавишу enter в конце команды.
Запись файла
Мы уже видели, как открывать и закрывать файлы в Vim, сейчас сделаем что-нибудь еще между now let's do something in between, which is, write.
- Откройте Vim.
- Напечатайте :edit hello.txt и нажмите enter.
- Нажмите i.
- Наберите текст Hello World.
- Нажмите клавишу <Esc>.
- Наберите :write и нажмите клавишу enter.
- Закройте Vim, выполнив :q.
Свершилось! Вы только, что записали первый документ с использованием Vim :-).
Кажется, что много шагов? Да, это так, поначалу. Именно поэтому первое время мы начинаем использование с открытия, сохранения и закрытия Vim. Нужно понимать, что это только малая часть вашего времени по сравнению со временем, которое уходит на редактирование содержимого.
Давайте рассмотрим вышеприведенные команды.
- :edit hello.txt или просто :e hello.txt
- Это открывает файл для редактирования (editing). Если файл с указанным именем не существует, он будет создан, когда мы его "сохраним".
- Нажмите i
- Это переключает Vim в режим вставки
- Наберите текста Hello World
- Именно здесь Вы печатаете текст, который хотите набрать.
- Нажмите <Esc>
- Это переключает Vim обратно в нормальный режим
- :write или просто :w
- Это указывает Vim, чтобы он записал (write) текст (который сейчас хранится в памяти компьютера) в файл на жестком диске. Это означает, что все, что мы так долго писали, было сохранено.
- :quit или просто :q, чтобы закрыть файл в "окне", который мы редактируем. Если только одно "окно" открыто, при этом также закроетя Vim (Идея окон будет обсуждаться в следующих главах).
Попробуйте повторить это несколько раз с несколькими именами файлов, разным текстом и т.д., так, что бы Вы усвоили базовые концепции Vim.
Заметьте, что, когда вы находитесь в режиме вставки, Vim отображает -- INSERT -- в нижнем левом углу. Когда Вы переключаетесь в нормальный режим он ничего не отображается. Это происходит так как нормальный режим является режимом по умолчанию, в котором работает Vim.
Потратьте некоторое время на впитывание этой информации, вероятно это самый тяжёлый урок в изучении Vim, остальное будет легче :)
И не беспокойтесь, помощь недалеко. Действительно, нужно только ввести команду :help. Например, команда :help :edit откроет документацию по этой теме. Давайте, пробуйте.
Итог
Сейчас мы обсудили основные идеи и основы использования Vim. Взгляните также на:help notation и :help keycodes.
Удостоверьтесь, что хорошо поняли эти идеи. Как только Вы начнете "думать по Vim'овски", понимание остальных возможностей Vim станет простым.
</div></text>
Please add your comments by clicking on the 'Discussion' link in the left sidebar.