Комментарии 128
эта пять +)
большое спасибо)
большое спасибо)
+1
Для меня очень актуально для меня =) как раз сегодня этим вопросом хотел заморочится =) Спасибо!
+1
кстати а как насчет банделсов? как в textmate?
+1
Честно говоря, никогда в глаза textmate не видела. Может скажешь поконкретнее что именно нужно? А я уже посмотрю у себя как это делается или найду плагин.
0
ну к примеру вводиш echo жмеш tab получаеш echo 'string'; // и курсор находится на string
+1
или к примеру ifelse -> tab
получаеш:
if (condition)
{
# code…
}
else
{
# code…
}
получаеш:
if (condition)
{
# code…
}
else
{
# code…
}
+1
В стандартной надстройке, которую я использовала здесь этого нет, но можно настроить. В интернете что-то по этой теме есть, но надо искать.
Вообще плагины для вима пишутся на какой-то модификации лиспа. Более человекоподобной. И построено все как раз на них.
Вообще плагины для вима пишутся на какой-то модификации лиспа. Более человекоподобной. И построено все как раз на них.
0
Лисп тут ни при чем. У vim свой язык для написания скриптов.
+1
Там что-то подобное… Похоже на лисп, но в более упрощенном варианте.
0
И совсем не похоже. Больше всего он похож на BASIC. В том смысле, что синтаксис строки кода определяется командой.
call MyFunc(myArg)
но
let myVar = MyFunc(myArg)
И вообще, очень велик шанс, что для vim8 скрипты уже будем писать целиком на Python. Сейчас же к нему есть только интерфейс из vim script.
call MyFunc(myArg)
но
let myVar = MyFunc(myArg)
И вообще, очень велик шанс, что для vim8 скрипты уже будем писать целиком на Python. Сейчас же к нему есть только интерфейс из vim script.
0
«if has(»autocmd")
" au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
" \| exe «normal! g'\»" | endif
«endif
а разве есть такие конструкции в бэйсике? Там и ифы в середину строки не вставляются, и комментарии через одинарную кавычку, а не двойную. Кстати, я не знаю ни одного языка, где комментарии обозначались бы двойной кавычкой. Больше похоже на какой-то язык вывода. м?
" au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
" \| exe «normal! g'\»" | endif
«endif
а разве есть такие конструкции в бэйсике? Там и ифы в середину строки не вставляются, и комментарии через одинарную кавычку, а не двойную. Кстати, я не знаю ни одного языка, где комментарии обозначались бы двойной кавычкой. Больше похоже на какой-то язык вывода. м?
-1
И BASIC и vim script — командные ЯП. В обоих языках синтаксис строки определяется ключевым словом-командой, с которого она начинается. На этом их сходства заканчиваются.
Кстати, " — команда, означающая комментарий. т.е. начинает комментарий только если находится в начале строки, в остальных случаях — это строковые кавычки.
Кстати, " — команда, означающая комментарий. т.е. начинает комментарий только если находится в начале строки, в остальных случаях — это строковые кавычки.
0
кто-то минусанул, значит знает что это за язык) просветите, пожалуйста
0
Вы путаете VIM и EMACS.
+3
НЛО прилетело и опубликовало эту надпись здесь
snippetsEmu www.vim.org/scripts/script.php?script_id=1318
+3
snipMate: www.vim.org/scripts/script.php?script_id=2540 не подойдет?
+3
Вы тут путаете понятия. Bundles в Textmate — это наборы. В них входят команды, сниппеты, макросы, описания синтаксиса и т.д.
То что вы назвали Bundle на самом деле Snippet.
То что вы назвали Bundle на самом деле Snippet.
0
Поправь скриншот, а то он не кликабельный
+1
А какая тема оформления Гнома на скрине? :)
0
скачала из интернета. Creamy Black. Хз найдешь ли ты ее же… Но тема приятная.
0
Спасибо большое за название. Нашел. Поставил. Понравилось. :)
Для тех, кому тоже приглянулась темка, вот ссылочка: gnome-look.org/content/show.php/Creamy?content=69315
Прошу прощения за оффтоп в каментах.
Для тех, кому тоже приглянулась темка, вот ссылочка: gnome-look.org/content/show.php/Creamy?content=69315
Прошу прощения за оффтоп в каментах.
+1
скриншот… что находится в предпоследнем снизу файле? :)
Хорошая статья
Хорошая статья
0
В этом файле находится сравнительный анализ тестов серверов. Там 30 различных организаций жесткий дисков, вообще пространства и т.д.
Наверное пройдусь как-нибудь по нему. Не по самим логам, конечно. А распишу что лучше использовать, почему… Но это позже.
Спасибо
Наверное пройдусь как-нибудь по нему. Не по самим логам, конечно. А распишу что лучше использовать, почему… Но это позже.
Спасибо
0
и все таки он кликабельный и кликается он сюда www.radikal.ru/
0
НЛО прилетело и опубликовало эту надпись здесь
Имеется.
0
НЛО прилетело и опубликовало эту надпись здесь
Я работаю с автополнонением через exuberant tags. Там автодополнение идет по словарю, то есть он подставляет варианты из тех слов что знает. Я сомневаюсь что средствами плагинов можно сделать автодолнение в зависимости от контекста для каждого языка.
0
НЛО прилетело и опубликовало эту надпись здесь
настраиваем, но для того, чтобы понять что и в каком контексте используется, необходимо компилировать код. Или я что-то неправильно понимаю
0
НЛО прилетело и опубликовало эту надпись здесь
Парсят. Выделяют переменные, классы, методы функции в отдельном окошке тагов, если его открывать. Я не ковырялся особо, может быть и можно их настроить хорошо. Но в стандартной настройки они работают просто как словарь.
0
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Не, чтобы получить полностью контекстное автодополнение — надо эвалить код. И делается это средствами самого перл, ибо only perl can parse perl.
0
хм… для меня перл — расширенный баш. Не более) классы и обьекты я на нем не пишу. Поэтому информацию по этой ветке я посмотрю и почитаю. Полезно. Так что можно сказать спасибо за указание моих ошибок.
0
Постойте-ка, а ка же Ctrl+X Ctrl+O посл имени объекта и точечки? Оно очень даже контекстное.
0
да, есть такой мод для Emacs называется sepia, он якобы умеет это — потому что запускает в фоне интепретатор перла (но его автодополнятор я так и не изнасиловал, он что-то автодополнял, но что я так и не понял) CPerl мод весьма толково дополняет — пытясь угадать что тебе нужно.
а еще в Sepia есть удобный sepia-repl наподобие лиспового REPL'а в котором можно писать perl код который сразу будет эвалюироваться — удобно, когда нужно что-то попробовать, чтобы не создавать 1.pl 2.pl test.pl whatever.pl
а еще в Sepia есть удобный sepia-repl наподобие лиспового REPL'а в котором можно писать perl код который сразу будет эвалюироваться — удобно, когда нужно что-то попробовать, чтобы не создавать 1.pl 2.pl test.pl whatever.pl
0
Как редактор да. Возможно настроить и чтобы автодополнял по умному. Но для этого надо искать сторонние пакеты, или писать свои, чтобы получить автодополнение по типу как в Zend Studio. По крайней мере как это только средствами плагинов vim, я не слышал. Те же exuberants tags являются пакетом системы, а не модулем вим. Самплагин как я помню называется ctags, для которого требуется этот пакет.
0
Можно
используя сишный tags
используя сишный tags
+1
кстати, вмест ctags посоветую cscope. Там можно найти, например, где данный метод вызывается, плюс всё, что умеет ctags
0
:help compl-omni
+5
НЛО прилетело и опубликовало эту надпись здесь
Ну не знаю. На практике ничего сделать не получилось. Попробовал я настроить этот omni-complete, для этого генерировал огромный tag-file по всему проекту. Нормальных результатов он не выдаёт (выдаёт кучу каких-то посторонних методов). К тому же каждый комплит зависает секунд на 7-8, что абсолютно не приемлемо.
0
У меня он двухмегабайтный tags просматривает за несколько миллисекунд. Есть подозрение, что какой-то не в меру умный плагин пытается что-то сделать, в результате тратит кучу времени и всё-равно выдаёт всё подряд.
0
>Но таким же путем это делается и для любого другого языка.
таки для, простите, любого? А для java можно хотя бы на уровне netbeans'а (про идею, конечно молчу)?
таки для, простите, любого? А для java можно хотя бы на уровне netbeans'а (про идею, конечно молчу)?
+1
можно настроить. Но для java лучше все-таки eclipse
0
НЛО прилетело и опубликовало эту надпись здесь
eclim.sourceforge.net/
Или наоборот vimplugin.org/
В обоих случаях работают вполне реальные eclipse и vim. Вся разница — в интерфейсе.
Или наоборот vimplugin.org/
В обоих случаях работают вполне реальные eclipse и vim. Вся разница — в интерфейсе.
+2
На eclim не смотрел, а vimplugin просто встраивает окошко Vim в клипсу, при этом в этом встроенном Vim у вас нет доступа к функциям автодополнения клипсы.
0
По NERDTree есть интересное видео в виде гифки, которое демонстрирует его возможности:
www.flickr.com/photos/30496122@N07/2862367534/sizes/o/
www.flickr.com/photos/30496122@N07/2862367534/sizes/o/
+4
НЛО прилетело и опубликовало эту надпись здесь
В самом начале — ссылка на vim.org — пробел в ссылке… поправьте :)
0
НЛО прилетело и опубликовало эту надпись здесь
Чот я не понял… а разве NERDTree не дублирует всего лишь некоторые из возможностей включенного в вим по умолчанию где-то с шестой версии netrwPlugin?
0
Я с NERDTree использую ещё и FuzzyFinder. Очень удобно переключаться между файлами — Ctrl+f, вводите сочетание символов из названия желаемого файла и VIM в drop-down списке показывает возможные варианты. Что-то подобное вроде в Textmate есть.
0
Vim хорош! Жалко что только недавно это осознал
+2
Не видал еще чтоб vim так заколбасило
+1
Хабр завалил вим.орг…
Я знал, что такое может быть, но всё равно как-то не по себе…
Я знал, что такое может быть, но всё равно как-то не по себе…
0
Я честно читал маны в попытках найти в Виме хоткей для дублирования текущей строки и способ включения фолдинга. Но безуспешно, возможно, потому что грипп. В результате, я пока пользуюсь jEdit'ом.
0
perl-support не пробовал, спасибо, посмотрю. Еще могут оказаться полезными след. маппинги:
vmap _c :s/^/#/g<Enter> " закомментировать блок кода (vmode) vmap _C :s/^#//g<Enter> " раскомментировать nnoremap <silent> _t :%!perltidy -q<Enter> " пропустить выделенный блок кода через perltidy vnoremap <silent> _t :!perltidy -q<Enter> " пропустить весь файл через perltidy
+1
Простой вопрос, который уже давно меня мучает в vim — принудительная идентация блока.
1. «Shift-v», выделяю блок.
2. ">"
3. Делается одинарный отступ но при этом выделение теряется. Как итог — приходится второй раз выделять, чтобы сделать бОльший отступ на этом блоке.
Гуру вима! Хелп ми :) Как не терять выделение после идентации?
1. «Shift-v», выделяю блок.
2. ">"
3. Делается одинарный отступ но при этом выделение теряется. Как итог — приходится второй раз выделять, чтобы сделать бОльший отступ на этом блоке.
Гуру вима! Хелп ми :) Как не терять выделение после идентации?
0
> второй раз выделять, чтобы сделать бОльший отступ на этом блоке.
Во-первых, лучше n->, а во-вторых — = и autoindent вам в помощь.
> Как не терять выделение после идентации?
:help gv
Во-первых, лучше n->, а во-вторых — = и autoindent вам в помощь.
> Как не терять выделение после идентации?
:help gv
0
А вы после этого нажмите точку (.), и этот же блок будет сдвинут ещё раз. :)
+1
или забиндить вот это:
vmap < <gv
vmap > >gv
в конфиг ~/.vimrc или ~/.gvimrc
vmap < <gv
vmap > >gv
в конфиг ~/.vimrc или ~/.gvimrc
+1
И еще один вопрос в дополнению к предыдущему. Как работать с несколькими файлами одновременно без использования окон — те деления экрана. Например:
> vim 1.txt 2.txt
Как затем между этими файлами переключатсья?
> vim 1.txt 2.txt
Как затем между этими файлами переключатсья?
0
:b, bnext, next etc…
Опять же, читаем :help windows.
Опять же, читаем :help windows.
0
imho, так не очень удобно, особенно когда открыто много файлов. Я делаю так:
:ls (или :buffers_
Отображается список буферов, типа:
1 index.php
2 style.css
3 script.js
Нажимаем нужный порядковый номер и CTRL-^ — вуаля.
Подробнее :help buffers.
:ls (или :buffers_
Отображается список буферов, типа:
1 index.php
2 style.css
3 script.js
Нажимаем нужный порядковый номер и CTRL-^ — вуаля.
Подробнее :help buffers.
+1
Например так:
www.vim.org/scripts/script.php?script_id=159 — minibufexpl
И это — в ~/.vimrc
" F6 — предыдущий буфер
map <F6> :bp<cr>
imap <F6> <esc>:bp<cr>
" F7 — следующий буфер
map <F7> :bn<cr>
imap <F7> <esc>:bn<cr>
www.vim.org/scripts/script.php?script_id=159 — minibufexpl
И это — в ~/.vimrc
" F6 — предыдущий буфер
map <F6> :bp<cr>
imap <F6> <esc>:bp<cr>
" F7 — следующий буфер
map <F7> :bn<cr>
imap <F7> <esc>:bn<cr>
+2
Я делаю vim -p 1.txt 2.txt и хожу по ним Ctrl-стрелками:
map ^[[C :tabn^M
map ^[[D :tabp^M
imap ^[[C ^[:tabn^M
imap ^[[D ^[:tabp^M
map ^[[C :tabn^M
map ^[[D :tabp^M
imap ^[[C ^[:tabn^M
imap ^[[D ^[:tabp^M
+1
У меня вот так:
nmap <S-F2> :ls:bimap <S-F2> :ls:b
nmap <S-F2> :ls:bimap <S-F2> :ls:b
0
www.vim.org/scripts/script.php?script_id=42 Посмотрите еще в сторону этого плагина. Я ползуюсь им, удобно. И замаппил такие комбинации клавишь:
«F5 — просмотр списка буферов
nmap :BufExplorervmap :BufExplorerimap :BufExplorer» F6 — предыдущий буфер
nmap :bpvmap :bpi
imap :bpi
" F7 — следующий буфер
nmap :bnvmap :bni
imap :bni
«F5 — просмотр списка буферов
nmap :BufExplorervmap :BufExplorerimap :BufExplorer» F6 — предыдущий буфер
nmap :bpvmap :bpi
imap :bpi
" F7 — следующий буфер
nmap :bnvmap :bni
imap :bni
0
НЛО прилетело и опубликовало эту надпись здесь
> он не понимает код
А VS может раскрасить мне исходник на D? А vim может. ;)
> он не в курсе того, что и как нужно собрать и от чего оно зависит.
А VS в курсе? 0_o И как оно определяет зависимости? Собирать можно всех научить с помощью внешних утилит.
По исходнику на D кстати вполне реально автоматически определить зависимости, но подозреваю, что в VS это не реализовано. И правильно. Есть программка, которая делает именно это и незачем её реализовывать по пять раз в каждой IDE и редакторе.
А VS может раскрасить мне исходник на D? А vim может. ;)
> он не в курсе того, что и как нужно собрать и от чего оно зависит.
А VS в курсе? 0_o И как оно определяет зависимости? Собирать можно всех научить с помощью внешних утилит.
По исходнику на D кстати вполне реально автоматически определить зависимости, но подозреваю, что в VS это не реализовано. И правильно. Есть программка, которая делает именно это и незачем её реализовывать по пять раз в каждой IDE и редакторе.
0
НЛО прилетело и опубликовало эту надпись здесь
Но и не все программируют на C/C++.
Научить vim использовать внешнюю утилиту для отстройки приложения и показывания в отдельном окошке ошибок компиляции с переходом между ними по хоткею можно за 10 минут.
Научить vim использовать внешнюю утилиту для отстройки приложения и показывания в отдельном окошке ошибок компиляции с переходом между ними по хоткею можно за 10 минут.
0
НЛО прилетело и опубликовало эту надпись здесь
gtags помогает.
Нужно признать, для интегрированных сред разработок (всё в одном) написано больше средств (в основном MS, Sun и IBM :]), но мне удобнее когда одна программа выполняет одну функцию. vim — для чтения и редактирования кода, gtags — для анализа кода, и т.д.
Нужно признать, для интегрированных сред разработок (всё в одном) написано больше средств (в основном MS, Sun и IBM :]), но мне удобнее когда одна программа выполняет одну функцию. vim — для чтения и редактирования кода, gtags — для анализа кода, и т.д.
0
Само собой с аккуратной интеграцией друг в друга, но сохранением возможности работать самостоятельно :)
0
НЛО прилетело и опубликовало эту надпись здесь
Эмуляторы vim покрывают в лучшем случае 40% используемой мной функциональности. Была в NetBeans одно время фича Editor Servers, позволявшая использовать vim вместо умолчального блокнота. Где-то в районе 3-го NetBeans её перестали поддерживать, но в vim поддержка до сих пор сохранилась, чем успешно воспользовался vimplugin.org/ для eclipse.
0
Vim безусловно хорош, один из самых лучших текстовых редакторов. Вообще за такой софт разработчикам надо памятник при жизни ставить :) Но понять весь его потенциал не так просто, надо копать глубже. Многие просто не понимают азов работы в нем и бросают дальнейшее использование и зря. На оф. сайте vim написано — «Vim is a highly configurable text editor built to enable efficient text editing». Как говорится, ППКС ;)
0
0
неплохо если бы кто нить взялся написать небольшую статью типа «Эффективная работа в Vim» :)
хотелось бы по русски почитать для начинающих с примерами:
как проверять орфографию, работать с буфером, с несколькими отрытими файлами, с html, перекодировка, поиск и замена…
хотелось бы по русски почитать для начинающих с примерами:
как проверять орфографию, работать с буфером, с несколькими отрытими файлами, с html, перекодировка, поиск и замена…
0
Для начала можно пройти vimtutor. Он и на русском есть. Потом можно почитать этот самый блог с начала. Там есть и про работу с несколькими файлами, и про html, и про кодировки. Проверка орфографии —
:help spell
0
А если нет проблем с английским языком — вот лучший в мире учебник: www.vi-improved.org/tutorial.php
+1
Спасибо симпотичной девушке за замечательную статью :D +1 в карму
0
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
vim, и как сделать из него полноценную IDE.