Система: Практически все *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 - переделать фаил с зада наперед (очень ценная возможность )
|
Изменение текстаЦитата | 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 - установить тип файла на перл. любой файл, любого расширения.
|
можно внутри файла где-то написать: и тогда в следующий раз, 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> На сегодня все
--------------------
Я ещё не демон. Я только учусь.
|