Игорь Олемской — практические заметки по системному администрированию Linux CentOS

Архив тега ‘vim’

VIM with Ruby support on CentOS-5.5 (перепечатка)

Комментариев нет

While trying to get command-t VIM plugin installed I noticed that the default vim-7.0.x installed from CentOS Base repository does not come compiled with ruby support and needed to be upgraded to version 7.2.x:

$ vim --version|grep ruby<br />+python +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent

Notice «-ruby» which states that it is without ruby support.

Once the rpmbuild environment is setup, install the source rpm:

# su - rpmbuild<br />$ cd ~/rpm/SRPMS/<br />$ wget http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/vim-7.2.411-1.6.el6.src.rpm<br />$ rpm -Uvh --nomd5 ~/rpm/SRPMS/vim-7.2.411-1.6.el6.src.rpm

Edit the vim.spec file, line 496 and remove perl-devel from the requirement list.

BuildRequires: python-devel ncurses-devel gettext perl-devel

Then build rpm binary:

$ rpmbuild -bb ~/rpm/SPEC/vim.spec

Install the rpms via:

# rpm -Uvh ~/rpm/RPMS/x86_64/vim-{m,c,e}*

read more

vim: внешние фильтры (перепечатка)

Комментариев нет

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

Выполнение внешней команды на диапазоне:

:{диапазон} ! {команда}

При этом на STDIN команды подается содержимое диапазона, а затем диапазон заменяется выводом STDOUT команды.

Несколько примеров.

Форматирование всего исходного текста на perl с помощью perltidy:

:% ! perltidy -es=4 -t -st

Отфильтровать с помощью команды grep все строки, содержащие символ «#» из строк 14-24:

:14,24 ! grep -v "\#"

vim: сортировка (перепечатка)

Комментариев нет

Сортировать в vim очень просто:

:{диапазон}sort

Диапазон подставится автоматически, если в визуальном режиме (V) выделить блок, а затем перейти в командный режим (:):

:'<,'>

Или для сортировки всего файла:

:%sort

Сортировка в обратном порядке:

:%sort!

Сортировка в прямом порядке, удаляя все дубликаты:

:%sort -u

Также для сортировки можно использовать внешние утилиты, например стандартный юниксовый sort:

:%!sort --numeric-sort --reverse

Ну и как обычно, читаем маны:

:help :sort

vim: избавляемся от dos-овых концов строк (\r\n -> \n) (перепечатка)

Комментариев нет

  1. Если vim распознал dos-овые концы строк, и не показывает ^M,
    :set ff=unix
    :w

    Документацию по поводу опции fileformat почитать можно в разделе usr_23:

    :help usr_23
  2. Если vim автоматически не распознал DOS line ends, то в конце строк будут символы ^M. Удалить их можно простой заменой:
    :%s/^M//g
    Символ ^M при этом вводится как Ctrl-V Ctrl-M.