посоветуйте плагин (для автозакрытия тагов html)
Модератор: /dev/random
посоветуйте плагин
closetag хорош, но выдает много ошибок при выполнении C-_
Re: посоветуйте плагин
Как вариант, сие в .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()
Re: посоветуйте плагин
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>
Re: посоветуйте плагин
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, с остальными аналогично.
Re: посоветуйте плагин
ZyX писал(а): ↑01.06.2012 21:43Yaros писал(а): ↑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 не выставлял (а что это?).
Печатать медленно, если честно, не интересно, Вы не находите? =)
Re: посоветуйте плагин
Yaros писал(а): ↑01.06.2012 21:55ZyX писал(а): ↑01.06.2012 21:43Yaros писал(а): ↑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“ даёт лишь лишнее напряжение при попытке найти итоговое положение курсора без запуска привязки.
Re: посоветуйте плагин
Я весь ман не осилил, ковыряюсь обычно по конкретным вещам.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“ даёт лишь лишнее напряжение при попытке найти итоговое положение курсора без запуска привязки.
Мне скорость печати на английском позволяет вводить довольно большие сокращения, если честно, я по-русски хуже печатаю =)