Отправляет email-рассылки с помощью сервиса Sendsay

Переход с Emacs на vim

Перешел с FC1 на FC6. Заодно перешел с koi8-r на utf-8. Столкнулся с
проблемами:

1) mc не хочет работать с кодировками, отличными от utf-8
(перекодировать)
2) emacs (21) хоть и перекодирует, но делает это не всегда корректно, и
отказывается искать кириллический текст (в перекодированных файлах).

Оказалось, что этих проблем нет у vim. Решил перейти на него (давно
собирался, но не было достаточно сильного стимула).

Но вот не нашел в описании ответа на некоторые свои вопросы:

1) В emacs у меня множество файлов были привязаны к другой кодировке
(cp866). Это было прописано прямо в ~/.emacs . Можно ли подобное
сделать для vim? Подозреваю, что можно. Но как? А привязывались они у
меня (не мудрствуя лукаво) по суффиксам. *.p, *.i и т. д.

2) Точно также в emacs у меня были привязаны файлы к языку
программирования. По суффиксам. В vim они тоже привязаны, но мне нужно
расширить этот список. Как это сделать?

Может кто подскажет как решить эти проблемы?

Ответить   Mon, 14 May 2007 13:33:41 +0400 (#665005)

 

Ответы:

В сообщении от 1179138821 секунд после начала Эпохи kraw написал(а):

<F9> -> "Команда" -> "Файл Меню" -> "Персональный",
дописываем такие строки:

+ ! t t
k View file in koi8-r
iconv -f koi8-r %f |less

+ ! t t
D View file in cp866
iconv -f cp866 %f |less

+ ! t t
w View file in cp1251
iconv -f cp1251 %f |less

Меню вызывается через F2.

В ~/.vimrc дописываем такие строчки:

autocmd BufReadPost *.p e ++enc=cp866
autocmd BufReadPost *.i e ++enc=cp866

autocmd BufReadPost *.omf setlocal filetype=xml
autocmd BufReadPost *.HTM setlocal filetype=html

Ответить   Konstantin Korikov Mon, 14 May 2007 13:13:12 +0300 (#665013)

 

В Mon, 14 May 2007 13:13:12 +0300
Konstantin Korikov <lostcl***@i*****.ua> пишет:

Тоже вариант, и я им, конечно же воспользуюсь. Но в FC1 при работе в
koi8-r я имел возможность работать с разными кодировками по F3 и F4
(внутренние редактор - что не было мне нужно, и просмотрщик - а вот им
я активно пользовался.)

Ответить   Tue, 15 May 2007 10:24:18 +0400 (#665239)

 

Сделал следующее:

Создал файл ~/.vim/filetype.vim

augroup filetypedetect
au BufNewFile,BufRead *.i edit ++enc=cp866
au BufNewFile,BufRead *.p edit ++enc=cp866
au BufNewFile,BufRead *.lib edit ++enc=cp866
au BufNewFile,BufRead *.lib setf progress
augroup END

Но тут сразу 2 проблемы:

1) подозреваю, что edit ++enc=cp866 не совсем правильно. Обосновать не
могу. Хотя работает. Если кто может уточнить - буду признателен.

2) Эти вещи не работают для view (которое подцепляется по F3 в mc). А
подцеплять vim в чистом виде на F3 в mc не хочется. Можно ли и для view
установить автоматическое исполнение этих команд?

Ответить   Mon, 14 May 2007 15:20:18 +0400 (#665024)