посоветуйте плагин (для автозакрытия тагов html)

и другие vi-подобные редакторы

Модератор: /dev/random

Ответить
vsdfn
Сообщения: 147
ОС: Windows,Linux,BSD

посоветуйте плагин

Сообщение vsdfn »

closetag хорош, но выдает много ошибок при выполнении C-_
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: посоветуйте плагин

Сообщение Yaros »

Как вариант, сие в .vimrc:

Код: Выделить всё

function! ModeWeb()
imap <HTML> <HTML><CR></HTML><Esc>O
imap <HEAD> <HEAD><CR></HEAD><Esc>O
imap <LINK_CSS> <LINK href=".css" rel="stylesheet" type="text/css"><Esc>^12li
imap <TITLE> <TITLE></TITLE><Esc>7hi
imap <BODY> <BODY><CR></BODY><Esc>O
imap <DIV> <DIV><CR></DIV><Esc>O
imap <DIVID> <DIV id=""><CR></DIV><Esc>O<Esc>k8la
imap <IMG> <IMG src="" alt="" align="" border=0 width="" height=""><Esc>^9la
inoremap #{ #{<CR>}<Esc>O<Esc>ka
endfunction

au FileType html,htm,css call ModeWeb()

=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
vsdfn
Сообщения: 147
ОС: Windows,Linux,BSD

Re: посоветуйте плагин

Сообщение vsdfn »

Yaros писал(а):
01.06.2012 18:14
Как вариант, сие в .vimrc:

Код: Выделить всё

function! ModeWeb()
imap <HTML> <HTML><CR></HTML><Esc>O
imap <HEAD> <HEAD><CR></HEAD><Esc>O
imap <LINK_CSS> <LINK href=".css" rel="stylesheet" type="text/css"><Esc>^12li
imap <TITLE> <TITLE></TITLE><Esc>7hi
imap <BODY> <BODY><CR></BODY><Esc>O
imap <DIV> <DIV><CR></DIV><Esc>O
imap <DIVID> <DIV id=""><CR></DIV><Esc>O<Esc>k8la
imap <IMG> <IMG src="" alt="" align="" border=0 width="" height=""><Esc>^9la
inoremap #{ #{<CR>}<Esc>O<Esc>ka
endfunction

au FileType html,htm,css call ModeWeb()

нет:)
для этих целей snipMate есть. Мне именно на хоткей нужно повесить автозакрытие тэгов т.е если открыт <table> нажимаю хоткей и рисуется </table>
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: посоветуйте плагин

Сообщение ZyX »

Yaros писал(а):
01.06.2012 18:14
Как вариант, сие в .vimrc:

Код: Выделить всё

function! ModeWeb()
imap <HTML> <HTML><CR></HTML><Esc>O
imap <HEAD> <HEAD><CR></HEAD><Esc>O
imap <LINK_CSS> <LINK href=".css" rel="stylesheet" type="text/css"><Esc>^12li
imap <TITLE> <TITLE></TITLE><Esc>7hi
imap <BODY> <BODY><CR></BODY><Esc>O
imap <DIV> <DIV><CR></DIV><Esc>O
imap <DIVID> <DIV id=""><CR></DIV><Esc>O<Esc>k8la
imap <IMG> <IMG src="" alt="" align="" border=0 width="" height=""><Esc>^9la
inoremap #{ #{<CR>}<Esc>O<Esc>ka
endfunction

au FileType html,htm,css call ModeWeb()

Вы, видимо либо установили большое значение 'timeoutlen', либо можете набрать это с большой скоростью без ошибок. inoreabbrev и то лучше.

И, конечно, использование imap без nore и без веской на то причины — не самая хорошая идея. Причина должна быть для неиспользования nore, а не для его использования, потому что это предохраняет от необходимости думать, что сломается, если, вам, скажем, захочется повесить автозакрытие на „>“ и при этом сохранить привычные привязки.

Также можно использовать „<C-o>F.“ вместо „<Esc>^12li“ для удаления «магического числа» 12, с остальными аналогично.
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: посоветуйте плагин

Сообщение Yaros »

ZyX писал(а):
01.06.2012 21:43
Yaros писал(а):
01.06.2012 18:14
Как вариант, сие в .vimrc:

Код: Выделить всё

function! ModeWeb()
imap <HTML> <HTML><CR></HTML><Esc>O
imap <HEAD> <HEAD><CR></HEAD><Esc>O
imap <LINK_CSS> <LINK href=".css" rel="stylesheet" type="text/css"><Esc>^12li
imap <TITLE> <TITLE></TITLE><Esc>7hi
imap <BODY> <BODY><CR></BODY><Esc>O
imap <DIV> <DIV><CR></DIV><Esc>O
imap <DIVID> <DIV id=""><CR></DIV><Esc>O<Esc>k8la
imap <IMG> <IMG src="" alt="" align="" border=0 width="" height=""><Esc>^9la
inoremap #{ #{<CR>}<Esc>O<Esc>ka
endfunction

au FileType html,htm,css call ModeWeb()

Вы, видимо либо установили большое значение 'timeoutlen', либо можете набрать это с большой скоростью без ошибок. inoreabbrev и то лучше.

И, конечно, использование imap без nore и без веской на то причины — не самая хорошая идея. Причина должна быть для неиспользования nore, а не для его использования, потому что это предохраняет от необходимости думать, что сломается, если, вам, скажем, захочется повесить автозакрытие на „>“ и при этом сохранить привычные привязки.

Также можно использовать „<C-o>F.“ вместо „<Esc>^12li“ для удаления «магического числа» 12, с остальными аналогично.

Если честно, я не в курсе, чем imap отличается от inoremap, не знаю что делает „<C-o>F.“ и никаких timeoutlen не выставлял (а что это?).
Печатать медленно, если честно, не интересно, Вы не находите? =)
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: посоветуйте плагин

Сообщение ZyX »

Yaros писал(а):
01.06.2012 21:55
ZyX писал(а):
01.06.2012 21:43
Yaros писал(а):
01.06.2012 18:14
Как вариант, сие в .vimrc:

Код: Выделить всё

function! ModeWeb()
imap <HTML> <HTML><CR></HTML><Esc>O
imap <HEAD> <HEAD><CR></HEAD><Esc>O
imap <LINK_CSS> <LINK href=".css" rel="stylesheet" type="text/css"><Esc>^12li
imap <TITLE> <TITLE></TITLE><Esc>7hi
imap <BODY> <BODY><CR></BODY><Esc>O
imap <DIV> <DIV><CR></DIV><Esc>O
imap <DIVID> <DIV id=""><CR></DIV><Esc>O<Esc>k8la
imap <IMG> <IMG src="" alt="" align="" border=0 width="" height=""><Esc>^9la
inoremap #{ #{<CR>}<Esc>O<Esc>ka
endfunction

au FileType html,htm,css call ModeWeb()

Вы, видимо либо установили большое значение 'timeoutlen', либо можете набрать это с большой скоростью без ошибок. inoreabbrev и то лучше.

И, конечно, использование imap без nore и без веской на то причины — не самая хорошая идея. Причина должна быть для неиспользования nore, а не для его использования, потому что это предохраняет от необходимости думать, что сломается, если, вам, скажем, захочется повесить автозакрытие на „>“ и при этом сохранить привычные привязки.

Также можно использовать „<C-o>F.“ вместо „<Esc>^12li“ для удаления «магического числа» 12, с остальными аналогично.

Если честно, я не в курсе, чем imap отличается от inoremap, не знаю что делает „<C-o>F.“ и никаких timeoutlen не выставлял (а что это?).
Печатать медленно, если честно, не интересно, Вы не находите? =)

Всё есть в справке. Первое не позволяет каким‐либо привязкам изменять смысл данной. Второе даёт использовать одну команду в нормальном режиме из режима ввода, здесь эта команда — перейти к предыдущему символу “.”. Третье указывает, сколько времени у вас есть прежде чем vim решит, что вы закончили ввод привязки.

Я тоже могу напечатать „<LINK_CSS>“ достаточно быстро, чтобы сработала привязка, но нахожу это весьма неудобным, тем более что даже 1 % ошибок в данном случае будет весьма неприятен. inoreabbrev или snipmate/…, при использовании которых ошибки можно исправить, либо что‐нибудь короткое вроде «,LC», где вероятность ошибки гораздо меньше, с моей точки зрения, гораздо лучше. Кроме того, snipmate и аналоги позволяют создавать «привязки», которые можно легко понять, использование же „<C-o>F.“ или, тем более, „<Esc>^12li“ даёт лишь лишнее напряжение при попытке найти итоговое положение курсора без запуска привязки.
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: посоветуйте плагин

Сообщение Yaros »

ZyX писал(а):
02.06.2012 15:10
Всё есть в справке. Первое не позволяет каким‐либо привязкам изменять смысл данной. Второе даёт использовать одну команду в нормальном режиме из режима ввода, здесь эта команда — перейти к предыдущему символу “.”. Третье указывает, сколько времени у вас есть прежде чем vim решит, что вы закончили ввод привязки.
Я весь ман не осилил, ковыряюсь обычно по конкретным вещам.
про снипмейты гляну, может что-то поменяю.
ZyX писал(а):
02.06.2012 15:10
Я тоже могу напечатать „<LINK_CSS>“ достаточно быстро, чтобы сработала привязка, но нахожу это весьма неудобным, тем более что даже 1 % ошибок в данном случае будет весьма неприятен. inoreabbrev или snipmate/…, при использовании которых ошибки можно исправить, либо что‐нибудь короткое вроде «,LC», где вероятность ошибки гораздо меньше, с моей точки зрения, гораздо лучше. Кроме того, snipmate и аналоги позволяют создавать «привязки», которые можно легко понять, использование же „<C-o>F.“ или, тем более, „<Esc>^12li“ даёт лишь лишнее напряжение при попытке найти итоговое положение курсора без запуска привязки.

Мне скорость печати на английском позволяет вводить довольно большие сокращения, если честно, я по-русски хуже печатаю =)
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Ответить