Комады vim (может пригодиться)

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

PIF
Сообщения: 391

Комады vim

Сообщение PIF »

при помощи темы "Тонкая настройка vim" удалось его удобно настроить. Теперь надо научиться в нем нормально работать. Vim - очень удобный и гибкий редактор, если, конечно, знать как им пользоваться. Внизу я привел основные команды, комбинируя которые можно выполнять различные задачи. Дополняйте, критикуйте.
Команды vi

Команды редактирования
i --- insert -- вставка текста в текущей позиции курсора;
a --- append -- вставка текста после текущей позиции курсора;
o ------------- вставка текста на следующей строке (Эквивалентно <Enter>,<a>);
x ------------- удаляет символ под курсором;
dd ------------- удаляет строку, сохраняя ее в буфере обмена данного сеанса vi;
p ------------- выводит удаленную строку на следующую, P - на предыдущюю;
u ---- undo---- отменяет последнее произведенноне изменение;
dw -delete word- удаляет слово под курсором;
R ----replace-- замена текста, начиная с позиции курсора;
r ----replace-- замена одного символа в позиции курсора;
~ ------------- изменяет регистр символа под курсором;

Команды перемещения
w -----word---- к началу следующего слова;
b ------------- к началу текущего слова;
<Ctrl>+<F> ----- аналог <PageUp>;
<Ctrl>+<B> ----- аналог <PageDown>;
G ------------- перемещение в конец файла;
/word ---------- поиск *word* от начала к концу в документе;
?word ---------- поиск *word* от конца к началу в документе;

Команды для работы с файлами
:w filename ----- сохраняет файл под именем filename;
:e /path/to/file- переход к редактированию file, находящегося в /path/to/file;
:r /path/to/file- добавляет текст файла file в буфер;
:! sh_comand----- выполняет команду оболочки внутри vi;
:r! sh_comand---- добавляет в буфер вывод команды оболочки;

Поиск и замена
:[x,y]s/pattern/replacement/flags - ищет шаблон pattern в буфере между строками
x и y и заменяет его на replacement. Символ
% задает как район поиска весь файл,
$ - последнюю строку, пустое место - текущую
строку.
flags - g для замены без запроса,
с - для запроса y/n перед каждой заменой;

Команды копирования и удаления
100dd ----------- удаляет 100 строк текста "вниз", включая текущую, копируя их
в буфер обмена vi;
100yy ----------- копирует 100 строк текста "вниз" в буфер обмена vi,
не удаляя их;
d$/y$ ----------- удаляет/копирует символы от текущей позиции курсора до
конца строки;

Метки
ma - ставит метку a в позиции курсора. Теперь, если переместить курсор
вверх/вниз по тексту и выполнить y`a/d`a то будет скопирован/удален весь
текст от позиции курсора до метки/удален весь
текст от позиции курсора до метки.

Регистры
Регистр - именованное место хранение символов. Регистры - [a-z]/[A-Z]. Обращение "ayy переписывает регистр а/А, копируя в него текущую строку; обращение "Ауу добавляет в регистр текущую строку. "ap скопирует символы из регистра a/A в текст, затерев его.

Расширение vi
:x,y! sh_command - выполняет команду оболчки, для которой строки [x,y] являются
стандартным вводом;

P.S. Взято из O`Reily/Символ "Запускаем Linux"
Спасибо сказали:
Аватара пользователя
Warderer
Модератор
Сообщения: 1056
Статус: киберпИнгвин на гусеничном ходу
ОС: Debian unstable

Re: Комады vim

Сообщение Warderer »

Спасибо за начало хорошей темы, плюс тебе в репутацию!
От себя добавлю очень часто используемые мной:

Редактирование
A - в нормальном режиме перейти в конец строки и начать редактирование
O - вставить новую строку перед редактируемой и начать редактирование
% - найти соответствующую открывающую/закрывающую скобку
Ctrl+p - автодополнение.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Комады vim

Сообщение elide »

тогда уж
Ctrl+n - автодополнение
слава роботам!
Спасибо сказали:
Аватара пользователя
flook
Сообщения: 585
Статус: Просто flook

Re: Комады vim

Сообщение flook »

И ctrl-n, и ctrl-p - оба автодополняют, просто по списку слов в разных направлениях бегают.
В каждом из нас спит гений... и с каждым днем все крепче...
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0

Re: Комады vim

Сообщение sarutobi »

~ - сменить регистр буквы
D - удалить все от курсора до конца строки
J - объединить текущую и нижележащую строки
:sp [/path/to/file] - открыть новый буфер редактирования [и поместить в него файл]
:w! - записать файл, даже если он read-only
:w /path/to/file сохранить под именем /path/to/file (и при этом не изменить имя текущего файла)
:q! - выйти без сохранения изменений
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
bugel
Сообщения: 225

Re: Комады vim

Сообщение bugel »

Поваренная книга VIM:
http://citforum.ru/open_source/cook_vim/
С уважением, bugel
Спасибо сказали:
Аватара пользователя
clx
Сообщения: 3121
Статус: Think Different !
ОС: Mac OS X

Re: Комады vim

Сообщение clx »

iMac 20" Core Duo.
Спасибо сказали: