Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что интересного можно сделать в vim редакторе? разные штучки с vim 
:(
    Опции темы
bilbobagginz
Дата 11.11.2004, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Система: Практически все *NIX
 Вопрос: Что можно сделать интересного в vim редакторе?
 
Дополнительные опции vim-а

Поиск
Цитата

* или #              - наити слово на которое наведен курсор
'.                         - наити линию где произошло последнее изменение текста
/слово/е            -  наити слово и поставить курсор на его конец
/слово/е+5        - наити слово и поставить курсор на 5-ыи символ от конца слова
/слово/s             - наити слово и поставит курсор на начало слова
/слово/s-5          - наити слово и поставит курсор на начало слова - 5 букв
/\<слово\>          - наити "слово". фразы из серии  тожеслово или слово2 наиденны не будут.
/фраза\{число}  - наити фразу которая повторяется "число" раз. Например
/^\n\{4}                  - наидет 4 пустые строки (содержашие только \n символ).
/\d\d\d  (или /\d\{3} )         - наити число состояшее из трех подряд цифр (числа 112, 112145 будут наидены)
/\<\d\d\d\>               - наити число состояшее из только трех цифр ( число 112145 не будет наиденно)
:g/фраза            - наити фразу - линии содержашие "фраза" будут отображенны снизу


Поиск с Удалением/Добавлением
Цитата
:g/фраза/d    - удалить все линии содержашие "фраза"
:g!/фраза/d   - удалить все линии не содержашие "фраза"
:g/^\s*$/d        - удалить все пустые линии
:g/^/put _        - добавить новую строку после каждои линии (doublespacing)
:g/^/move0      - переделать фаил с зада наперед (очень ценная возможностьsmile )


Изменение текста
Цитата
gUU  или VU            - все буквы  на линии на которую указывает курсор станут большими
guu   или Vu            - все буквы на линии станут маленькими
gggUG                      - поменять все буквы на большие во всем фаиле
ggguG                       - поменять все буквы на маленькие во всем фаиле


Удаление
Цитата

:%norm jdd       - удалить каждую вторую линию 
:%norm jjdd       - удалить каждую 3-ую линию 


Вызов программы
Цитата

:!ps -ef          -  вызвать программу ps с параметром -еf
!!ps -ef          - вызвать программу ps - результат ее работы будет вставлен в редактируемыи фаил. (Удобно использовать !!date)
:%!sort -u     - вызвать программу sort (в данном случае). Программа будет оперировать с данными находяшимися в фаиле, результат будет показан в фаиле. (В данном случае произодет сортировка фаила по возрастанию)
:!gcc %      - скомпилить данную программу. % означает текушии редактируемыи фаил. (Удобно в комбинации с :map -- читаите ниже)


Работа с несколькими фаилами
Цитата
Если открыть несколько фаилов из команднои строки vim file1.c file2.c file3.c 
то с помошью нижеуказанных команд можно легко переключатся между ними

:bn            - переити к следуюшему фаилу
:bp            - переити к предидушему фаилу
:wn           -  тоже что и bn но с сохранением фаила
:wp           -  тоже что и bp но с сохранением фаила
:аrgs         -  показать аргументы загрузки vim-a (покажет что нибудь из серии [file1.c] file2.c file3.c - квадратные скобки означают фаил которыи находится в данныи момент на экране)
:ls             -  покажет все загруженные фаилы
:b число  - переити к фаилу с номером "число".  Числа показанны при запуске :ls 


Присваивание кнопкам деиствия
Цитата

:map [клавиша] [список команд]
Например 
:map <f4> !!date<CR>           - при нажатии ф4 текушая дата будет вставленна в документ
:map <f5> :ls<CR>:b             - при нажатии ф5 покажется список открытых фаилов с предложением выбора на какои фаил перепрыгнуть.
<CR> означает нажатие на "Enter"

Для удобства эти команды (:map) можно записать в ~/.vimrc В таком случае клавишам  будут присвоенны деиствия при запуске vim-a. :scriptnames  покажет какие еше фаилы были запушенны vim-ом.


Разное
Цитата

:Exp      - Открыть фаил explorer
:Sex      -  Тоже что и Exp но в новом окне
:syn on   - включить подсветку синтаксиса


если файл не стандартного расширения - напр. скрипт без #!/bin/bash и т.д. можно заставить vim подсвечивать полюбому синтаксису, установив "тип файла", filetype.:
Цитата

:set ft=pl      - установить тип файла на перл. любой файл, любого расширения.


можно внутри файла где-то написать:
Цитата

vim: ft=pl

и тогда в следующий раз, vi будет расценивать этот файл как перл.



Удобные комбинации
Компиляция программы и ее запуск в новом терминальном окне

для gcc
:map <f2> :!gcc %;xterm -e "$PWD/a.out;sleep 1000"&<CR><CR>
для g++
:map <f3> :!g++ %;xterm -e "$PWD/a.out;sleep 1000"&<CR><CR>

На сегодня всеsmile


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.