Site Tools


vim

go to line

1234G
1234gg

Замена слова во всем тексте

:s/old/new/g
:%s/cons25/cons25r/g
:s#http://www.example.com/index.html#http://example.com/#g

Macros

qq #start recording
...some_do
q #stop recording
@q #play
@@ #play again
21@@ #play macro 21 раз

Vim FAQ in English клавиши

Автоперенос и вставка

set nopaste
set noai
set nosi
set nocin

Выполнение програм не выходя из редактора

:!Some_command
:! perl %
:! php -l %

Компиляция и выполнение программы

map <F8> : !gcc % && ./a.out <CR>

Соответственно, не забываем сохранить файл перед запуском

Вставляем в начало 5 строк "#"

:.,+5s/^/#/

Изменение кодировки отображения

:e ++enc=utf-8
:e ++enc=windows-1251

tab is 4 spaces

vim ~/.vimrc

set smartindent
set tabstop=4
set shiftwidth=4
set expandtab

Удалить скрытые ^M

:%s/\r//g

Показывать скрытые ^M

:e ++ff=unix

Показывать скрытые файлы

:set list

перенос строки

:set wrap

tab для нескольких линий

>5  Эта и послудующие 4 строки будет отведены от края
<5  Обратная ситуация

либо

Vjj> Перейти в визуальный режим -> выделить эту и последующие 2 линии -> отвести от края

Перемещатся вверх\вниз в больних однолинейных строках

g вверх
g вниз

Отобразить diff файла перед сохранением

:w !diff % -

Подсветка переменных

:set hlsearch #Подсвечивает значения поиска
shift + 3 #поиск значения под указателем

Автоподстветка переменных при наведение

:autocmd CursorMoved * exe printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\'))

Бинарный режим

vim -b file.txt
или
:edit ++bin

Можно использоваться для отображения BOM символов

Редактирование HEX

:%!xxd #to switch into hex mode
:%!xxd -r #to exit from hex mode.
Для быстрого переключения по F8 добавить в vimrc:
noremap <F8> :call HexMe()<CR>

let $in_hex=0
function HexMe()
set binary
set noeol
if $in_hex>0
:%!xxd -r
let $in_hex=0
else
:%!xxd
let $in_hex=1
endif
endfunction

Процесс редактирования: С лева номера байт, по середине сам HEX, справа его интерпретация.
Левое и правое поле игнорятся, и главное чтобы они не взаимодействовали с центральной колонкой. В центральной колонки проходит вся магия и именно в ней можно удалять или добавлять HEX (следя, что соседние поля не заехали в середину). Пробелы игнорируются

Удалить N строк до курсора

999dk

Удалить N строк после курсора

999dd

Сохранить в другой файл

:w newFile.txt

Discussion

Constantin Conovaloff, 2014/11/07 17:38

Новая строка

%s#\\n#\r#g
Constantin Conovaloff, 2015/06/15 14:12

мой стандартный ~/.vimrc

:autocmd CursorMoved * exe printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\'))

syntax on
set laststatus=2
set statusline+=%F
Constantin Conovaloff, 2015/08/04 17:13

Плагины

Менеджер плагинов

Установка определенного плагина

записываем путь до plugin в .vimrc и

:BundleInstall
Посмотреть список установленных плагинов
:BundleList
Constantin Conovaloff, 2015/08/04 19:30

Визуальный режим

v
Shift+v -- построчный
Ctrl+v -- блочный
You could leave a comment if you were logged in.
vim.txt · Last modified: 2015/04/08 17:21 by conovaloff

Page Tools