LINUX.ORG.RU

Vim, Javacsript и cindent.


0

0

Некоторое время назад решил избавиться от дурной привычки ставить точку с запятой в конце строки в javascript. Окончательно решение принял после того, как увидел код Брендана Эйча https://bugzilla.mozilla.org/attachment.cgi?id=266577.

Но... Любимый редактор VIM автоматически делает отступ, если предыдущая строка не заканчивается точкой с запятой.

Можно ли как-то указать VIMу вести себя прилично и уважать мои кодинг-стандарты. А то я уже начал ставить emacs, хоть и не очень хочется.

anonymous

ну вроде бы надо просто cin отрубить... либо помутить что-нибудь с его производными cinoptions cinwords и с другими.... глянь хелп

st0ke
()
Ответ на: комментарий от st0ke

cin отрубал, ain работает точно так же. За опции спасибо, гляну.

anonymous
()
Ответ на: комментарий от st0ke

Поправка, таки отрубание cin помагает, что-то я не то сделал в первый раз. Еще раз спасибо.

anonymous
()

а чем плохи точки с запятой? лишний килобайт кода на 1000-1500 строк?
просто интересно, всегда ставил, и js2-mode в emacs со мной согласен…

vden ★★
()
Ответ на: комментарий от vden

Вот тоже хотел спросить то же самое.. С точками с запятой и стиль более универсальный с точки зрения сиобразных языков (случайно не опустишь где-нибудь), на скорость не влияет, да и при разборе кода может оказаться понятнее, что хотел сказать автор.. ИМХО, конечно..

anonymous
()
Ответ на: комментарий от anonymous

Да ничего в них плохого особо нету. Просто - не нужны :-). Вот и Брендан со мной согласен. Питонисты тоже так скажут. Другие С-образные языки мне как-то уже года 3 как не нужны. Есть JS, его хватает, для всего (нужные функции на С уже написаны). Ну и сталкивался пару раз с местами, где они просто мешали, но сходу не вспомню. Сейчас я их использую только если в одной строке нужно написать несколько выражений, то есть практически никогда. Так что с моей точки зрения они просто синтаксический шум, не более того.

anonymous
()
Ответ на: комментарий от vden

<flame-mode> Ну раз емакс согласен, то вимер точно не должен их ставить </flame-mode> js2-mode это тот, что Ягг написал? И как он, хорошо работает? Все хотел глянуть, но религия не позволяет.

anonymous
()

Точки с запятой нужны, чтобы сжимать код в javascript-компрессорах, которые, кроме укорачивания имён переменных удаляют whitespace.

RommeDeSerieux
()
Ответ на: комментарий от RommeDeSerieux

js> uneval(eval("(function foo(){ return 'hi'})")) (function foo() {return "hi";})

Машина должна работать, а человек - думать. Точки с запятой - не нужны :-)

anonymous
()
Ответ на: комментарий от vden

Ага, надо будет как-нибудь на досуге ознакомиться, спасибо за рекоммендацию. Емакс-то я уже поставил, так что дело за малым.

anonymous
()
Ответ на: комментарий от cathode

Фигурные скобки наше всьо. Все таки должно ж что-то С-подобное остаться в языке. <flame> Ну и еще лямбды у нас нормальные, в отличии от... </flame>. Это ж тоже немного благодаря тем самым скобкам. Хотя конечно в основном благодаря тому, что Брендану в Нетскейпе поручили написать scheme для простых смертных.

anonymous
()
Ответ на: комментарий от vden

Не выдержал, поставил-таки js2-mode. Все красиво, но отсутствие точек с запятой ему не нравится. Соответственно вопрос - это как-то фиксится, или писать Яггу?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.