Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Изучение Linux.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.5 Mб
Скачать

12.3Вставка

Вставка - это просто. Поместите курсор в место куда вы хотите вставить текст и нажмите на клавишу p. Использования нескольких буферов обмена. Большинство из редакторов меют только один буфер обмена. У vim их же намноо больше. Буферы обмена вв vim называются регистрами(registers). Вы можете получить список всех зарегистрированых буферов обмена и их содержимое ввев команду :reg. Обычно вы будете использовать регистры в строчном формате; регистры в прописном формате используются для внутренних нужд vim и могут быть иногда полезными. Для того что бы использовать определенный регистр для операций копирования/вставки, просто введите "a перед командой копирования/вставки, где a - имя регистра который вы хотите использовать. Например для того что бы скопировать текущую строку в регистр k, вы должны ввести команду "kyy (второй вариант v"ky. Кто знает почему это работает? Эта строка останется в регистре k пока вы не скопируете что-либо другое в регистр k. Для вставки текста из регистра k, вы должны ввести "kp. Избегайте повторения своих дейcтвий. Удивительная команда . В vim, нажатие . (точка) будет вызывать повторение последней введенной команды. Например, если последняя команда была dw(удалить слово), после нажатия . в режиме команд vim удалит еще одно слово. Использование счетчиков. Счетчики - это очередной мощный и сохраняющий ваше время инструмент. Любые команды могут быть предварены числом. Это число указывает сколько раз необходимо повторить команду. Вот несколько примеров:

3j

переведет курсор на 3 строки вниз

10dd

удалить 10 строк

y3f&qoute;

скопирует текст от курсора до третьей кавычки после курсора на текущей строке.

Также счетчики полезны для расширения границ "пропусков" (motion). Запись макросов. Иногда вы можете заметить что вы выполняете одни и теже действия над блоками текста. Vim позволяет вам записать макрос для выполнения операций.

qregister

начать запись макроса в именованный регистр. Например, qa начинает запись и сохраняет макрос в регистр a

q

закончить запись макроса

@register

выполнить макрос сохраненный в именованном регистре. Например @a выполнит макрос записанный в регистре a.

Помните что макрос всего-лишь записывает ваши команды и проигрывает их. Это не магия. Запись макросов - это почти искуство, потому что существует множество команд которые выполняют определенные задачи в vim, и вы должны аккуратно выбирать команды которые будете использовать при записи макроса для того что бы они работали в тех местах, где вы планируете выполнять макросы. Написание програмного кода в vim Vim - прекрасный редактор для програмного кода потому что в нем присутствует множество специальных команд, которые предназначены специально для облегчения жизни программистов. Вот несколько полезных из них:

]p

подобно p, но автоматически подбирает отступ для вставки кода. Испытайте эту команду!

%

переместите курсор на скобку, квадратную скобку или фигурную скобку и нажатие на % переместит курсор на соответствующую парную скобку. Прекрасное средство для исправления проблем, при разборе кода, связанных с большими блоками кода или логики

>>

сдвинуть вправо выделенный текст (сделать отступ). Если текст не выделен то сдвинется вся строка

<<

- тоже самое что и >>, но сдвиг происходит влево

gd

перейти к обьявлению функции или переменной на которой в данный момент стоит курсор

K

перейти к man-странице слова под курсором. (Например если курсор у вас стоит на слове sleep, то вы увидете man-страницу для sleep)

12.4Midnight Commander

Midnight Commander является представителем самого популярного семейства визуальных оболочек/менеджеров файлов "a la Norton Commander" (в мире Dos/Windows это Norton Commander, Volkov Commander, Dos Navigator, Far, Windows Commander; под UNIX® до MC существовал Demos Commander (deco)).

Это семейство характерно тем, что экран разбивается на три части -- две панели с файлами (левая и правая) и командная строка, позволяющая вводить команды операционной системы.

У MC есть следующие возможности:

  • Стандартные операции с файлами -- просмотр, редактирование, копирование, линковка, переименование/перемещение, удаление, изменение прав доступа и т.д.

  • Мощный встроенный редактор (есть функции работы с выделенным блоком, поиск/замена, отмена последней операции, цветовое выделение синтаксиса и т.д. -- можно даже отправить редактируемый файл по e-mail).

  • Выделение файлов разных типов цветом.

  • Можно назначать разные команды просмотра, редактирования и "исполнения" (по клавише Enter) для файлов разных типов.

  • "Фильтрованный" просмотр файлов (например, .html показываются не "как есть", с тэгами, а в уже отформатированном виде).

  • Нажав Enter на файле архива (.tar, .tgz, .zip, .a, .rpm и т.д.) можно "войти внутрь" него.

  • Поиск файлов по шаблону имени и по содержимому; результат поиска можно "превратить" в содержимое панели. Можно вывести на панели список файлов, полученный от внешней программы.

  • При копировании/перемещении можно переименовывать группы файлов "по шаблону" (file*.tar.gz#->#f*.tgz).

Запуск MC и основные отличия от NC/VC/Far

Для запуска Midnight Commander надо набрать "mc". По умолчанию он запускается "в цвете" на консоли, и в черно-белом варианте в окне xterm. Чтобы получить цвет в окне, надо воспользоваться ключом "-c" (color).

Первое отличие от семейства Norton Commander'а обусловлено тем, что в UNIX® нет букв дисков -- поэтому нет команды "сменить диск" (Alt+F1/Alt+F2).

Второе -- для многих действий (кроме F1-F10) используются другие сочетания клавиш -- это обусловлено тем, что, к примеру, у telnet нет возможности передавать сочетания типа Shift+Ctrl+PageUp. В меню и справочной системе приведены сочетания клавиш для большинства операций.

Там используются следующие обозначения:

Пример Что означает

  • C-r Нажать Ctrl+R

  • M-? Нажать Esc, затем ?

  • C-x s Нажать Ctrl+X, затем s

  • C-x C-s Нажать Ctrl+X, затем Ctrl+S

В отличие от NC, для копирования в командную строку имени файла, на котором стоит курсор, используется не Ctrl+Enter, а "Esc Enter".

Поскольку в MC мышь используется "обычным" образом, то исчезает возможность отметки/ вставки текста при помощи мыши. Чтобы выделять и вставлять текст мышью, надо при нажатии кнопок держать нажатой клавишу Shift.