- Как запустить vim linux
- Графическая версия
- Терминальная версия
- Графическая или терминальная?
- Введение в режимы
- Запись в файл
- И тоги
- Редактор Vi/Vim
- Содержание
- Открываем файл
- Внутри Vi
- Перемещаемся по документу
- Перемещения в Vi, часть 1
- Перемещения в Vi, часть 2
- Перемещение по словам, часть 1
- Перемещение по словам, часть 2
- Перемещение по словам, часть 3
- Дальние переходы
- Выход
- Сохранение и редактирование
- Save(сохранить) и Save as. (сохранить как. )
- Простое редактирование
- Повторение и удаление
- Режим ввода текста
- Комбинированные команды
- Увеличение производительности
- Экранный режим
- Замена текста
- Выделение
- Ссылки
- Полезное
- Обои с описанием клавиатурных сокращений и команд.
- Статьи про Vi
Как запустить vim linux
Первый делом, конечно, нужно узнать, как запустить Vim.
Графическая версия
Windows: Нажмите Start → Programs → Vim 7 → gVim .
Mac OS X: Нажмите Finder → Applications → MacVim .
Linux/BSD: Нажмите Applications → Accessories → GVim Text Editor , или нажмите Alt+F2 , наберите gvim и нажмите клавишу enter .
Терминальная версия
Windows: Нажмите Start → Run , наберите vim и нажмите клавишу enter .
Mac OS X: Нажмите Finder → 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 — делать все с клавиатуры, чтобы не нужно было использовать мышь (вы можете использовать мышь, если вы хотите, но это строго по желанию). В таком случае, как бы вы различали текст, который вы хотите написать, и команды, которые вы хотите запустить?
Решение, предлагаемое в Vim , состоит в том, чтобы иметь «нормальный» режим, где вы можете выполнять команды, и режим «вставки», в котором вы просто вводите текст. Вы можете постоянно переключаться между двумя режимами.
Например, нажав i вы переключаете Vim в режим вставки, а нажатием вы переключаете Vim в нормальный режим.
Как это делают традиционные редакторы, как они отличают команды и ввод текста? С помощью графического меню и комбинаций клавиш. Проблема в том, что это решение не масштабируется.
Прежде всего, если у вас есть сотни команд, создание меню для каждой из этих команд будет безумным и запутанным. Во-вторых, настройка использования каждой из этих команд будет еще более трудным делом.
Давайте возьмем конкретный пример. Предположим, вы хотите заменить в документе все вхождения слова » from » на слово » to «. В традиционном редакторе, вы можете открыть меню, Правка -> Заменить (или использовать сочетание клавиш, типа Ctrl-R), а затем ввести слово » from » и слово » to «, а затем нажать на кнопку «Заменить». После проверки можно выбрать вариант «Заменить все». В Vim, вы просто выполните :%s/from/to/g в нормальном режиме. Команда :s является аналогом команды «заменить».
Посмотрите, не правда ли, просто?
Что делать, если вы теперь хотите запустить эту замену только в 10 первых строках текста и вы хотите иметь подтверждения да/нет для каждой замены? В традиционных текстовых редакторах, получить подтверждения да/нет легко, сняв флажок «Заменить все», но сначала, вы должны найти, что менять и затем с помощью мыши щелкнуть на опции (или использовать длинную последовательность клавиш клавиатуры). Но как вы укажете, что нужно заменить только в первых 10 строках? В Vim, вы можете просто запустить :0,10s/from/to/gc . Новая опция с (‘c’onfirmation), которую мы используем означает, что мы хотим подтверждение для каждой замены.
Разделение режимов на ввод (вставка) и командный (нормальный) делает Vim легким для нас, и простым при переключении режимов.
Обратите внимание, что первые шаги в использовании Vim кажутся немного «странными», немного «чудными», но как только вы попробуете его в действии, поймете что это имеет смысл. Самое приятное то, что эти основные концепции помогут вам понять все, что вам нужно знать о том, как использовать Vim.
Теперь вы понимаете разницу между обычным режимом и режимом вставки. Работая в нормальном режиме вы можете использовать различные команды, и вы можете сразу начать использовать их. Сравните это с изучением новых команд в традиционных редакторах, где сперва нужно прочесть множество документации, много искать по меню методом проб и ошибок, или просто просить кого-то помочь.
Лично я считаю, что названия режимов непонятны для начинающих. Я предпочитаю называть режим вставки как режим «записи» и нормальный режим работы, как режим «перезаписи», но мы будем придерживаться стандартной терминологии Vim, чтобы избежать путаницы.
Примечание: Все команды в нормальном режиме должны заканчиваться клавишей enter , чтобы сказать Vim, что мы написали полную команду. Так что когда мы говорим «выполните команду :help vim-modes-intro » , это означает, что вы должны ввести :help vim-modes-intro , а затем нажать клавишу enter для завершения команды.
Запись в файл
Давайте теперь посмотрим, как открыть, отредактировать и закрыть файл в Vim.
2. Наберем :edit hello.txt и нажмем enter .
4. Введем текст Hello World .
5. Нажмем клавишу .
6. Наберем :write и нажмем клавишу enter .
7. Закроем Vim, запустив :q .
Поздравляю! Вы создали свой первый файл :-).
Много пришлось сделать операций?
Да, на первый взгляд, это так. Это потому что в первый раз, потом мы привыкаем к открытию Vim, записи в файл и закрытию Vim. Вы должны понимать, что это будет лишь незначительная часть вашего времени по сравнению с фактическим временем, которое уходит на редактирование содержания документов.
Давайте посмотрим, что делают вышеперечисленные команды.
:edit hello.txt или просто :e hello.txt — открывает файл для редактирования. Если файл с указанным именем не существует, то Vim создаст его при сохранении файла.
Нажатие i — переключает Vim в режим вставки.
Набор текста Hello World — ввод нужного вам текста в файл.
Нажатие — возвращает Vim в нормальный режим
:write или просто :w — говорит Vim, что нужно записать текст (который пока сохранен в памяти компьютера) в файл на жесткий диск. Это означает, что все, что мы написали, будет теперь храниться постоянно.
:quit или просто :q — закрыть файл в текущем окне. Если это было единственное открытое окно в Vim, это также приведет к закрытию Vim (Концепция окон будет обсуждаться в следующей главе).
Попробуйте повторить этот процесс несколько раз с разными именами файлов, другим текстом, и т.д., пока вы не привыкнете к базовым действиям в использовании Vim.
Обратите внимание, что когда вы находитесь в режиме вставки, Vim показывает — INSERT — в нижнем левом углу. При переключении в нормальный режим, он ничего не показывает. Это потому, что нормальный режим является режимом по умолчанию, в котором работает Vim.
Потратьте некоторое время, чтобы отдохнуть от полученной информации, это, пожалуй, самый тяжелый урок, который нужно узнать о Vim, остальное все просто:)
И не волнуйтесь, помощь не слишком далеко. На самом деле, просто запустите команду :help . Например, выполните :help :edit , и вы увидите открытую документацию. Идем дальше, пробуйте.
И тоги
Мы уже обсудили основные понятия и использование Vim. См. :help notation и еще : help keycode .
Убедитесь, что вы досконально поняли эту концепцию. Как только вы начнете «думать в Vim«, остальные функции Vim будут очень простыми.
Источник
Редактор Vi/Vim
Содержание
Существует множество версий Vi. Я представлю вам версию Vi, называемую «Vim». Vim очень популярен, так как у него есть несколько дополнений, делающих Vi немного приятнее (когда будут демонстрироваться специфичные для Vim команды, я это отмечу). Здесь приведена картинка GVim из моей системы.
Для того, чтобы установить Vim перейдите по ссылке слева или выполните в терминале:
Хотя в большинстве дистрибутивов Linux он уже установлен по умолчанию. В придачу к улучшенному консольному Vi, Vim доступен также в виде GVim — прекрасного графического редактора, который может быть сконфигурирован для использования с великолепной библиотекой GUI (графического интерфейса пользователя) GTK+.
Если Vi вам в новинку, попробуйте установить в своей системе GVim. Использование Vi в графической оболочке может кое в чем облегчить новичкам жизнь.
Также можно запустить обучающую программу, набрав в терминале команду
Это небольшая обучающая программа поможет за 25-30 минут освоиться в этом необычном для новичка редакторе.
Открываем файл
Перед использование Vi для редактирования файлов вам следует узнать, как в Vi перемещаться по файлу. У Vi множество команд перемещения, многие из них мы сейчас рассмотрим. Для этой части обучения найдите какой-нибудь малоценный текстовый файл (TODO: лучше на английском) и загрузите его в Vi напечатав:
Если у вас установлен Vim, наберите в консоли:
Если вы предпочитаете использовать GVim:
myfile.txt должно быть именем текстового файла в вашей системе.
Внутри Vi
После загрузки Vi, на экране вы должны увидеть часть загруженного вами текстового файла. Поздравляю — вы уже в Vi! В отличии от большинства редакторов, загрузившись, Vi находится в специальном режиме, называемом «командным режимом». Это значит, что если вы нажмете клавишу (строчная L), вместо появления «l» на месте курсора вы увидите, что курсор всего лишь сдвинулся на один символ вправо. В командном режиме знаки, набираемые на клавиатуре, используются как команды для Vi, а не как помещаемые в текст символы. Один из наиболее важных типов команд — это команды перемещения. Давайте рассмотрим некоторые из них.
Перемещаемся по документу
Перемещения в Vi, часть 1
Находясь в командном режиме, вы можете использовать клавиши , , и для перемещения курсора влево, вниз, вверх и вправо соответственно. Если вы используете современную версию Vi, вы можете также с этой целью использовать клавиши со стрелками. Клавиши , , и предпочтительнее, так как освоившись с ними вы сможете перемещаться по файлу, не размахивая руками над клавиатурой. Для перемещения по текстовому файлу используйте следующие клавиши:
Попробуйте использовать пока не дойдете до начала строки. Отметьте, что Vi не даст вам перескочить на предыдущую строку, нажимая , если вы находитесь в начале строки. Точно также он не позволит вам перескочить на следующую строку, нажимая в конце строки.
Перемещения в Vi, часть 2
Vi предоставляет специальные команды для прыжков в начало и конец текущей строки:
Поскольку у Vi так много команд перемещения, его можно использовать в качестве великолепного инструмента просмотра — «pager»а (как команды more или less). Используя Vi для просмотра, вы очень быстро запомните все команды перемещения.
Вы также можете использовать и для перемещения вперед и назад сразу на страницу. Современные версии Vi (такие как Vim) могут позволить использовать для этих целей клавиши
Перемещение по словам, часть 1
Vi также позволяет вам перемещаться влево и вправо по словам:
Перемещение по словам, часть 2
Позабавившись с командами перемещения по словам, вы могли заметить, что Vi считает слова типа «foo-bar-oni» пятью различными словами! Это происходит потому, что Vi по умолчанию разделяет слова пробелами или знаками пунктуации (которые тоже считает словами). Поэтому foo-bar-oni считается пятью словами: «foo»,«-»,«bar»,«-» и «oni».
Иногда вам так и надо, а иногда — нет. К счастью, Vi воспринимает понятие «большого слова». vi разделяет большие слова только пробелами и началами строк. Это значит, что foo-bar-oni состоит из пяти Vi-слов, но является только одним большим словом Vi.
Перемещение по словам, часть 3
Чтобы переместиться на следующее или предыдущее большое слово, вы можете использовать «заглавные» команды перемещения по словам. Нажав следующие клавиши, вы попадете на:
Дальние переходы
Осталось рассмотреть еще несколько команд, и можно будет начинать их записывать на шпаргалку. Вы можете использовать скобки:
Выход
Мы рассмотрели основные команды перемещения, однако осталась еще пара команд, которые вам необходимо знать. Напечатав:
Теперь вы должны оказаться в командной строке системы.
Любая команда в Vi, начинающаяся с двоеточия («:»), называется командой ex-режима (an ex-mode command). Это из-за того, что Vi имеет встроенный не экранный редактор, зовущийся ex. Он может использоваться подобно sed для выполнения операций редактирования, ориентированных на строки. Дополнительно, как мы только что видели, он может использоваться для завершения работы. Если вы случайно нажмете , находясь в командном режиме, то можете оказаться в ex-режиме. В этом случае вы столкнетесь с приглашением «:», и нажатие на Enter будет сдвигать вверх содержимое экрана. Для возврата к привычному vi-режиму просто наберите vi и нажмите .
Сохранение и редактирование
Save(сохранить) и Save as. (сохранить как. )
Мы уже видели, как используя ex-команду :q выйти из vi.
В Vim (и других потомках Vi, типа elvis), вы можете держать открытыми одновременно несколько буферов. Введите команду
Для перехода между окнами нажмите , (дважды + ). Любая из команд :q, :q!, :w и 😡 относиться только к активному окну.
Простое редактирование
Вот и подошло время заняться изучением простых команд редактирования. Рассматриваемые здесь команды считаются «простыми» из-за того, что оставляют вас в командном режиме. Более сложные команды автоматически переводят вас в режим ввода текста, позволяющий добавлять в буфер символьную информацию, набираемую на клавиатуре; их рассмотрим позднее.
Повторение и удаление
Повторить любую команду редактирования вы можете нажимая клавишу (точка). Если попробуете, то можете увидеть, что печать dd… удалит 4 строки, а J…… объединит семь строк. Как обычно, Vi обеспечивает вас различными удобными средствами сокращения трудозатрат.
Удалять текст вы можете также комбинируя команду d с любыми командами перемещения. Например, dw удалит часть текста от текущей позиции курсора до начала следующего слова; d) удалит вплоть до следующего конца предложения, и d> удалит весь остаток абзаца. Поэкспериментируйте с командой d и другими командами редактирования, пока не почувствуете себя с ними уверенно.
Режим ввода текста
Мы уже рассмотрели, как в vi перемещаться, выполнять чтение\запись файлов и основные операции редактирования. Однако, я еще не объяснил, как напечатать произвольный текст! Сделано это было умышленно, так как поначалу режим ввода текста в Vi малость сложноват. Тем не менее, после того, как вы станете спокойно себя чувствовать в режиме ввода текста, эта сложность (и гибкость) станет настоящей ценностью.
В Vi, в режиме ввода текста, вы можете вводить текст «прямо на экран», как в большинстве других экранных редакторов. Сделав свои изменения, вы можете нажать
Комбинированные команды
Разрешая комбинации (число)(команда перемещения), Vi позволяет еще совмещать команды d или c с числами или командами перемещения. Так d3w удалит следующие три слова, d2j удалит текущую и две следующие строки, и т.д. Попробуйте немного поэкспериментировать с командами c и d, совмещенными с перемещениями, чтобы почувствовать, каким мощным и лаконичным может быть редактирование в Vi. Когда эти команды станут вашей второй натурой, вы сможете редактировать файлы с невероятной скоростью.
Увеличение производительности
Только что мы рассмотрели, как перемещаться, сохранять и завершать работу, выполнять простое редактирование и удаление, пользоваться режимом ввода текста. С этим багажом знаний (только что показанным на шпаргалке) вы уже способны, используя Vi, справиться практически с любой задачей.
Однако, у Vi есть еще много более мощных команд. В этом разделе вы узнаете как вы’резать (cut), скопировать (copy) и вставить (paste), найти (search) и заменить (replace) текст, а так же, как использовать автоматический отступ (autoindent). Эти команды помогут Vi быть более приятным и производительным.
Экранный режим
Лучшим способом вырезать и вставлять фрагменты текста является использование экранного режима, специального режима, добавленного в современных версиях Vi, таких как Vim и elvis. Вы можете представлять себе экранный режим как режим «подсвечивания текста». Выделенный текст может быть скопирован или удален, а затем вставлен. Если вы используете GVim, выделить кусок текста вы можете просто нажав левую кнопку мышки и протащив курсор по нужной области. Войти в экранный режим вы еще можете нажав v (это может быть вашей единственной возможностью, если вы используете Vi в консоли). Затем, двигая курсор командами перемещения (обычно стрелками), вы можете выделить область текста. Закончив выделение, вы уже готовы вырезать либо копировать текст.
Для копирования текста нажмите y (от слова «yank»). Чтобы вырезать текст нажмите d. Вы будете переведены назад в командный режим. Теперь переместитесь в то место, где вы хотите вставить вырезанный или скопированный текст, и нажмите P (заглавная) для вставки перед курсором или p (строчная) для вставки за курсором. Всё, копирование\вырезание и вставка выполнены! А теперь проделайте еще несколько раз процедуру копирования\вырезания и вставки перед тем, как перейти к следующему разделу.
Для того, чтобы вставить в редактор содержимое буфера обмена (в который Вы скопировали информацию по + ) необходимо установить утилиту xclip
и скопировав нужный текст выполнить в командном режиме редактора
:r! xclip -o и нажмите .
Замена текста
Для замены образцов текста мы используем ex-режим. Если вы хотите заменить первый попавшийся в текущей строке образчик, наберите:
:s/ / / и нажмите , где — что хотите заменить, и — на что.
Для замены всех совпадений с эталоном в текущей строке используйте команду:
И не забудьте, набрав команду, нажать .
Выделение
Vi поддерживает автоматический отступ при редактировании вами исходников (текстов программ). Большинство современных версий Vi (таких, как Vim) могут самостоятельно включать абзацный авто отступ при редактировании вами исходников (например, файлов типа .c).
Если авто отступ включен, вы можете использовать для уменьшения и для увеличения уровня отступа.
Ссылки
Означенные здесь ресурсы могут быть полезны желающим продолжить изучение vi далее. (Правда, на английском):
Полезное
Обои с описанием клавиатурных сокращений и команд.
Размер: 1366х768
Для загрузки нажмите на изображение, в появившемся окне нажмите на изображение ещё раз для увеличения и нажмите правой кнопкой «Сохранить изображение как…» Исходник в формате .xcf
Взято с хабра
Статьи про Vi
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Источник