Блин, ловлю себя на мысли, что все таки хочу чтобы запуск LHC накрылся концом света. Чисто чтоб поржать :) Если какой-нить ученый говорит про то что все херня и никаких черных дыр не будет у меня все же крутится мысль: "Чувак, да что ты знаешь про бозоны Хиггса". И видимо я не один такой. Стоит в гугле набрать: "когда за" и по автодополнению сразу видно что всем интересно когда ж его наконец запустят (кроме девочек которые вбивали "когда забеременеть").
UPD: Судя по сайту http://www.lhcountdown.com запуск опять перенесли на месяц. Так что ждемс :)
UPD: Мне кажется коллайдер все же втихаря запустили. Потому что все вопросы, заданные нашему проджект менеджеру, пропадают в черной дыре.
вторник, 8 июля 2008 г.
Сегодня должны запустить БАК
среда, 18 июня 2008 г.
Я знаю русский язык!!! :)
Результаты тестирования 8 из 8 - Поздравляем, вы - вымирающий вид россиянина, отлично знающего свой родной русский язык. Вы один из немногих носителей элитарного знания, доступного в наше время единицам (4% от общего числа опрошенных). Второй вариант: вы - выпускник, которого хорошо натаскали на сдачу экзамена по русскому языку. Третий вариант: вы – репетитор. Или просто закончили филологический факультет и пошли работать не по специальности. Я проверил свои знания русского языка и получил пятерку. ![]() Сходи, проверься? |
суббота, 1 марта 2008 г.
tskeleton плагин для vim
Еще одна полезность для vim — это плагин tskeleton.
При разработке вам часто приходится открывать новый файл и писать все по новой, эти ненависные гарды (#ifndef #define #endif), одну и ту же шапку документации, один и тот же заученный кусок кода для главной функции, одни и те же строки для реализации конструктора и деструктора класса. (ну или на чем вы там программируете? ;)). А еще можно написать готовые скелеты для циклов for, условий if... и.т.д.
Берусь вам в этом помочь ;)
1. Качаем и устанавливаем плагин.
Взять его нужно вот здесь.
Для установки качаем его себе, открываем vim-ом, далее набираем
:so %
Думаете все заработает? Ах нет :) Еще как оказалось необходимо таким же образом скачать и установить tlib здесь.
2. Качаем и устанавливаем "заготовочки" для шаблонов.
Даже если вы и не программируете на предлагаемом наборе
...то в любом случае они пригодятся для того чтобы лучше разобраться как написать шаблон для вашего любимого языка ( если ваш оказался здесь и это виндовский bat файл - то помните: "Any machine that doesn't have Perl on it is a sad machine indeed (c)").
Экзамплы можно найти в zip архиве на вышеуказаном сайте tskeleton (tSkeleton-Samples.zip).
Распаковываем и кладем в директорию ~/.vim ( если вы не знаете что означает тильда перед наклонной палочкой, может не стоит дальше читать?). В общем случае на нужную директорию указывает переменная g:tskelDir. Для того чтобы посмотреть куда она указывает наберите в vimе :echo g:tskelDir.
Шаблоны плагин подгружает прямо из корня директории skeletons, в то время как скачанные экзамплы хранятся в папке prefabs этой директории. Поэтому для эксперемента представим что мы пхп программеры и перенесем/скопируем 3 файла
php.class.php
php.inc.php
php.php
из ~/.vim/skeletons/prefabs в ~/.vim/skeletons/
Далее набираем vim ~/.vimrc и добавляем 3 строчки
let g:tskelUserName="Vadim\ Khandus"
let g:tskelUserEmail="vkhandus@gmail.com"
let g:tskelUserWWW="http://vkhandus.blogspot.com"
вставив туда вместо моих свои данные (прошу вас сделайте это - я не хочу краснеть за ваш код ;)).
Вроде все !!!!!
Тестируем:
vim <имя>.php
vim <имя>.class.php
vim <имя>.inc.php
<имя> возьмите на ваш вкус (только без пошлостей, медведов и первонахов!!!)
Остальное читайте в :h tSkeleton
И вот еще видео пример использования:
При разработке вам часто приходится открывать новый файл и писать все по новой, эти ненависные гарды (#ifndef #define #endif), одну и ту же шапку документации, один и тот же заученный кусок кода для главной функции, одни и те же строки для реализации конструктора и деструктора класса. (ну или на чем вы там программируете? ;)). А еще можно написать готовые скелеты для циклов for, условий if... и.т.д.
Берусь вам в этом помочь ;)
1. Качаем и устанавливаем плагин.
Взять его нужно вот здесь.
Для установки качаем его себе, открываем vim-ом, далее набираем
:so %
Думаете все заработает? Ах нет :) Еще как оказалось необходимо таким же образом скачать и установить tlib здесь.
2. Качаем и устанавливаем "заготовочки" для шаблонов.
Даже если вы и не программируете на предлагаемом наборе
- batch.bat
- deplate.txt
- latex.tex
- php.inc.php
- php.php
- plugin.vim
- ruby.rb
- shell.sh
- text.txt
...то в любом случае они пригодятся для того чтобы лучше разобраться как написать шаблон для вашего любимого языка ( если ваш оказался здесь и это виндовский bat файл - то помните: "Any machine that doesn't have Perl on it is a sad machine indeed (c)").
Экзамплы можно найти в zip архиве на вышеуказаном сайте tskeleton (tSkeleton-Samples.zip).
Распаковываем и кладем в директорию ~/.vim ( если вы не знаете что означает тильда перед наклонной палочкой, может не стоит дальше читать?). В общем случае на нужную директорию указывает переменная g:tskelDir. Для того чтобы посмотреть куда она указывает наберите в vimе :echo g:tskelDir.
Шаблоны плагин подгружает прямо из корня директории skeletons, в то время как скачанные экзамплы хранятся в папке prefabs этой директории. Поэтому для эксперемента представим что мы пхп программеры и перенесем/скопируем 3 файла
php.class.php
php.inc.php
php.php
из ~/.vim/skeletons/prefabs в ~/.vim/skeletons/
Далее набираем vim ~/.vimrc и добавляем 3 строчки
let g:tskelUserName="Vadim\ Khandus"
let g:tskelUserEmail="vkhandus@gmail.com"
let g:tskelUserWWW="http://vkhandus.blogspot.com"
вставив туда вместо моих свои данные (прошу вас сделайте это - я не хочу краснеть за ваш код ;)).
Вроде все !!!!!
Тестируем:
vim <имя>.php
vim <имя>.class.php
vim <имя>.inc.php
<имя> возьмите на ваш вкус (только без пошлостей, медведов и первонахов!!!)
Остальное читайте в :h tSkeleton
И вот еще видео пример использования:
пятница, 29 февраля 2008 г.
Использование ctags в редакторе vim
1. Что такое ctags?
Это утилита которая умеет генерировать специальный индексный файл (файл с тегами) сканируя исходные файлы и выделяя из них объекты, типичные для различного множества языков.
2. Для чего нужен ctags?
Этот файл с тегами позволяет редактору быстро и легко локализовать нужный объект. Вот примерный список редакторов, умеющих ctags:
Vi и его наследники (Elvis, Vim, Vile, Lemmy), CRiSP, Emacs, FTE (Folding Text Editor), JED, jEdit, Mined, NEdit (Nirvana Edit), TSE (The SemWare Editor), UltraEdit, WorkSpace, X2, Zeus.
В моем случае мы кроме прямого назначения будем использовать эту утилиту для "умного" авто дополнения. Но об этом позже.
3. Где взять ctags?
Ну это не проблема, умей вы пользоваться гуглем :). Для моего дистрибутива похоже что ctags шел вместе со стандартной поставкой пакета vim-full (ubuntu 7.10). И отлично работал вместе с vim даже когда я о нем не подозревал :).
В любом случае для дебианоподобных дистров можно выполнить команду
4. Как мне создать теговый файл для моего С\С++ проекта?
Простой способ:
Я предпочитаю способ посложнее:
--c++-kinds=+p - добавляет прототипы к базе тэгов для С\С++ файлов
--fields=+iaS - используемые поля: наследование (i), доступ (a), сигнатура функции (S)
--extra=+q - добавляет контекстную информацию к тегу. (без этой опции скрипт не может получить методы класса (Without this option, the script cannot get class members.))
5. Как добавить тег файл к текущей сессии vim?
./tags,./TAGS,tags,TAGS
6. Как использовать ctags в моем коде?
Я приведу самые распространенные комбинации, все остальное можно прочитать набрав в vim :h ctags
CTRL-] - перейти на определение тега(в новом буфере)
CTRL-t - возвратиться назад по стеку вызовов
[i - показать первую строку содержащую слово под курсором, поиск с начала файла.
]i - показать первую строку содержащую слово под курсором, поиск с текущей позиции.
[I - показать все вхождения данного тега
]I - показать все вхождения данного тега с текущей позиции курсора
[ CTRL-I - перейти на определение тега(в новом буфере)
] CTRL-I - перейти на определение тега(в новом буфере) с текущей позиции курсора
CTRL-W i - открыть новое окно с курсором на строке ключевого слова.
Всеми пользоваться конечно же не обязательно, я думаю мне на этот момент хватит только выделенных болдом комбинаций.
Рекомендую добавить такую строчку в ваш ~/.vimrc
Это позволит увидеть все вхождение тега, выбрать нужное и отрыть его в новом окне по нажатию F4
Это утилита которая умеет генерировать специальный индексный файл (файл с тегами) сканируя исходные файлы и выделяя из них объекты, типичные для различного множества языков.
2. Для чего нужен ctags?
Этот файл с тегами позволяет редактору быстро и легко локализовать нужный объект. Вот примерный список редакторов, умеющих ctags:
Vi и его наследники (Elvis, Vim, Vile, Lemmy), CRiSP, Emacs, FTE (Folding Text Editor), JED, jEdit, Mined, NEdit (Nirvana Edit), TSE (The SemWare Editor), UltraEdit, WorkSpace, X2, Zeus.
В моем случае мы кроме прямого назначения будем использовать эту утилиту для "умного" авто дополнения. Но об этом позже.
3. Где взять ctags?
Ну это не проблема, умей вы пользоваться гуглем :). Для моего дистрибутива похоже что ctags шел вместе со стандартной поставкой пакета vim-full (ubuntu 7.10). И отлично работал вместе с vim даже когда я о нем не подозревал :).
В любом случае для дебианоподобных дистров можно выполнить команду
sudo apt-get install ctagsкоторая установит пакет с нужными зависимостями.
4. Как мне создать теговый файл для моего С\С++ проекта?
Простой способ:
ctags -Rсоздаст файл tags рекурсивно обойдя файлы текущей директории.
Я предпочитаю способ посложнее:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .Разберемся в опциях:
--c++-kinds=+p - добавляет прототипы к базе тэгов для С\С++ файлов
--fields=+iaS - используемые поля: наследование (i), доступ (a), сигнатура функции (S)
--extra=+q - добавляет контекстную информацию к тегу. (без этой опции скрипт не может получить методы класса (Without this option, the script cannot get class members.))
5. Как добавить тег файл к текущей сессии vim?
:set tags+=/path/to/fileНекоторые пути сканируются по умолчанию, это:
./tags,./TAGS,tags,TAGS
6. Как использовать ctags в моем коде?
Я приведу самые распространенные комбинации, все остальное можно прочитать набрав в vim :h ctags
CTRL-] - перейти на определение тега(в новом буфере)
CTRL-t - возвратиться назад по стеку вызовов
[i - показать первую строку содержащую слово под курсором, поиск с начала файла.
]i - показать первую строку содержащую слово под курсором, поиск с текущей позиции.
[I - показать все вхождения данного тега
]I - показать все вхождения данного тега с текущей позиции курсора
[ CTRL-I - перейти на определение тега(в новом буфере)
] CTRL-I - перейти на определение тега(в новом буфере) с текущей позиции курсора
CTRL-W i - открыть новое окно с курсором на строке ключевого слова.
Всеми пользоваться конечно же не обязательно, я думаю мне на этот момент хватит только выделенных болдом комбинаций.
Рекомендую добавить такую строчку в ваш ~/.vimrc
map <F4> [I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."[\t"<CR>
Подписаться на:
Сообщения (Atom)