Это старая версия (1.131) ЛипинБорис.

AwkiChangelog

Содержание

Пару слов о себе:

  • Быдлокодер ( линк на гитхаб аккаунт );
  • Адепт лаборатории с октября 2010;
  • В дипломе на фото трояк за дисциплину «Язык программирования Си» подтверждающий мои глубокие знания в этой сфере;
  • Закончил СыктГУ в 2013 году, выпустился со специальности КЗОИ;
  • Линк на практическую часть ВКР (сам текст ВКР был посеян).
    • Мне кажется, что она вовсе не была посеяна. Тебе просто стыдно показывать её, т. к. она, скорее всего, была безобразно свёрстана в OpenOffice? :-D
    • Она была безобразно свёрстана в MS Word, однако я её всё же посеял. Зачем стыдиться исторических фактов?
    • UPD: Нашёл текст ВКР, прикопал в репозитории

На занятиях лаборатории Боря был исключительно вредный и дотошный, иногда даже хотелось бросить в него фломастером. -- СиткаревГригорий

Статья про VIM


TODO статьи:
	* добавить раздел про табы (tabe);
	* описание буферов и работы с ними (:ls/:b/);
	* ctags;
	* разделение экрана на несколько областей :vsplit, :split, ...
	* полезные плагины.

Небольшой конспект по поводу возможностей редактора Vim.

Если вы слышите о нём в первый раз или никогда не пользовались, то в разделе "Используемые источники" можно ознакомится с книгами и публикациями о Vim, где он описан гораздо лучше. Пример. Либо можно пройти встроенный в vim ознакомительный курс, для этого в командной строке нужно ввести vimtutor

1. Режимы Vim

Vim поддерживает несколько режимов работы. Это означает, что действие клавиш и их комбинаций различается в зависимости от того, в каком режиме вы сейчас находитесь

Командный режим

Режим по умолчанию. Из него осуществляется переход в другие режимы и выполнение команд.

Клавиша перехода - ESC.

Все команды из разделов 2 - 10 выполняются из этого режима.

Режим ввода

Клавиши перехода:

* i
ввод с текущего символа;
  • a - ввод со следующего символа;
  • o - перейти в режим ввода с новой строки под курсором;
  • O - перейти в режим ввода с новой строки над курсором;
  • I - переместиться в начало строки и перейти в режим ввода;
  • A - переместиться в конец строки и перейти в режим ввода;

Режим выделения

Клавиши перехода:

  • v - посимвольное выделение;
  • V - построчное выделение.

Режим замены

Клавиша перехода - R.

2. Работа с файлами и сессиями

:mksession - создать файл сессии (в файл Session.vim сохраняется информация о настройках и всех открытых файлах и буферах);

source Session.vim - загрузить файл сессии (все настройки и открытые в прошлый раз окна восстанавливаются);

:eFILE - открывает FILE на редактирование;

:w\FILE - записывает сделанные изменения в открытый файл или FILE, если он указан;

:q - выход из vim. При :q! выход без записи сделанных изменений;

РЕМАРКА: - можно смешивать несколько команд в одну. Например - :wq

3. Перемещение

Перемещение курсора:

влево / вниз / вверх / вправо
 h    / j    / k     / l

РЕМАРКА: Удобство в том, что при такой раскладке пальцы всегда лежат на большинстве нужных клавиш, и не нужно перемещать руку от букв к клавишам стрелок.

^ - курсор в начало строки;

$ - курсор в конец строки;

w - курсор в начало следующего слова;

b - курсор в начало предыдущего слова;

{NUM}gg - переход на {NUM} строку;

G - переход в конец файла;

ctrl + y - экран на 1 строку вверх;

ctrl + e - экран на 1 строку вниз;

ctrl + u - экран на 1/2 страницы вверх;

ctrl + d - экран на 1/2 страницы вниз;

ctrl + b - экран на страницу вверх;

ctrl + u - экран на страницу вверх;

4. Отмена действий

u - отменяет предыдущее действие. Может применяться несколько раз. Аналог комбинации ctrl + z;

ctrl + r отмена отмены предыдущего действия. Аналог комбинации ctrl + shift + z.

5. Поиск

/{regex} - поиск регулярного выражения {regex} в текущем файле от курсора к концу файла;

/{regex} - поиск регулярного выражения {regex} в текущем файле от курсора к началу файла;

n - найти следующее вхождение;

N - найти предыдущее вхождение;

f{letter} или F{letter} - перемещает курсор на следующую (или предыдущую если F) букву {letter} в текущей строке;

t{letter} или T{letter} - перемещает курсор за один символ до следующей (или предыдущей если T) буквы {letter} в текущей строке;

6. Редактирование

{NUM}dd - удаление {NUM} строк;

{NUM}cc - аналог dd, но после удаления переворит редактор в режим ввода;

{NUM}yy копирование {NUM} строк в буфер обмена;

p - вставка из буфера обмена после позиции курсора;

P - вставка из буфера обмена до позиции курсора;

x - удаление символа под курсором.

7. Пара слов о командном режиме

Можно относиться к командам vim как к предложениям.

Есть глаголы (например f, d, g), есть существительные (например w, буквы, числа).

Примеры составления предложений:

  • Delete till find 'b' (удалить всё до символа 'b') - dtfb
  • Mark from there to 22 line (выделить всё с текущего символа до 22 строки) - vg22g

8. Вызов внешних команд

:!cmd - вызывает shell команду cmd для обработки переданных данных. Если данных не передано, показывает вывод команды на экран.

Пример:

:!ls - показывает файлы в текущей директории

:%wc -w - считает количество слов в файле

Делаем vim hex-редактором:

%!xxd - конвертирует файл в хекс представление

%!xxd -r - конвертирует обратно

9. Прочие полезные команды

:E - Открывает меню выбора файла;

:setlocal - показывает текущие локальные переменные

10. Путешествие по тегам

Файл тегов можно создать с помощью команды

ctags -R .

ctrl + ] - перейти к определению тега;

ctrl + g - то же что и ctrl + ], но показывает меню выбора, если определений несколько;

ctrl + t - вернуться обратно.

11. Файл настроек vimrc

При запуске редактор считывает настройки, сохранённые в файле ~/.vimrc. Те же команды можно установить для текущей сессии vim в командном режиме после двоеточния (Пример: :set nu)

Для установки опций используется ключевое слово set, причём если мы хотим отключить опцию, то перед её именем мы пишем no

Пример:

set nu - включает нумерацию строк vim;

set nonu - выключает нумерацию;

set hls - highlight search, подсвечивает искомые слова

set ic - ignore case, игнорирует регистр букв при поиске

syntax on - включает подсветку синтаксиса

12. Справка

Vim содержит довольно полную документацию, которой можно воспользоваться в любой момент. Для её просмотра необходимо использовать команду :help. Для получения справки по интересующей команде достаточно набрать :help commandname в командном режиме. По оглавлению можно перемещаться с помощью горячих клавиш из раздела "Путешествие по тегам"

13. Полезные дополнения vimrc

Работа с файлами в windows(cp1251) кодировке

set fileencodings=cp1251,utf-8
if has("x11") == 0
  set enc=cp1251
endif

Добавление привычных комбинаций ctrl+c, ctrl+v, ctrl+a

function! CopyAll()
  let n = line('.')
  normal gg"+yG
  exec n
endfunction

vmap <C-c> "+y
map <C-v> <esc>"+gP
map <C-a> <esc>:call CopyAll()<cr>

Мэппинг русских клавиш, для того чтобы не приходилось переключать раскладку для командного режима.

.LP
set langmap=йq ,цw ,уe ,кr ,еt ,нy ,гu ,шi ,щo ,зp ,фa ,ыs ,вd ,аf,пg ,рh ,оj ,лk ,дl ,яz ,чx ,сc ,мv ,иb ,тn ,ьm ,ЙQ ,ЦW ,УE ,КR ,ЕT ,НY ,ГU ,ШI ,ЩO ,ЗP ,ФA ,ЫS ,ВD ,АF ,ПG ,РH ,ОJ ,ЛK ,ДL ,ЯZ ,ЧX ,СC ,МV ,ИB ,ТN ,ЬM ,х[[ ,Х{ ,ъ]] ,ж\\; ,Ж: ,э' ,Э\\" ,б\\, ,Б< ,ю. ,Ю>

14. Плагины

Для упрощения работы в VIM в интернете можно найти множество плагинов. Их установка довольно проста (обычно нужно просто поместить файлы в папку ~/.vim/).

Из них можно выделить

omnicppcomplete

Плагин для автодополнения имён структур, функций. Информацию о которых получается из файла тегов, который можно сгенерировать с помощью утилиты ctags.

snipmate

Плагин, содержащий в себе снипеты (короткие часто используемые куски программ, например определение функции main) для многих языков программирования. Добавить свои снипеты или изменить существующие можно в файлах .vim/snippets/*

NERDtree

Плагин отображает дерево каталогов начиная с выбранного корня. Довольно удобно для просмотра больших проектов.

15. Используемые источники

  1. Vim — Викиучебник / . — 2015. — http://ru.wikibooks.....
  2. Oualline, S. Vi iMproved (VIM) / S. Oualline. — New Riders.
  3. Orenstein, B. Write code faster: expert-level vim (Railsberry 2012) / B. Orenstein. — http://www.youtube.c....

Some tests
  1. Paradis, E. R for beginners / E. Paradis. — 2004. — http://cran.r-projec....
  2. Matloff, N. The Art of R Programming / Norman Matloff. — 2009.
  3. Lipin, B. R. The Beginner's Guide to Art of Bad Code and Ugly Style / B. R. Lipin, G. A. Sitkarev // AM&P Lab reports. — Syktyvkar : AM&P Lab Publishing, 2014. — pp. 20—28.

Ссылки на электронные ресурсы (пока просто POC):

  1. The Open Group Base Specifications Issue 7 [Электронный ресурс] : sed - stream editor / The IEEE and The Open Group. — IEEE Std 1003.1, 2013 Edition, 2013. — Режим доступа: http:....

Помойка с полезными ссылками:

  1. groff cyrillic font

Разговор о Unix

  1. 2015-03-06T23:09:09 Unix and Plan9

Однострочники

  1. 2015-01-16T07:10:26 progress bar
  2. 2015-02-03T14:36:29 merge files
  3. 2015-02-06T21:23:49 merge files (paste)
  4. 2015-02-23T19:41:07 ifconfig output sed
  5. Регулярные выражения. Описание как они устроены

Книжки по типографии, которые стоит загрепать

  1. Гиленсон, П. Г. Справочник технического и художественного редакторов / П. Г. Гиленсон. — Москва : Книга, 1988.
  2. Шульмейстер, М. В. Ручной набор / М. В. Шульмейстер. — Москва : Книга, 1966.

spam

Распределение Пуассона

P sub m
= a sub m over { m! } e sup {-a} (m = 0, 1, ...)

Нормальный закон

f(x)
=
1 over {sigma sqrt {2 pi}} e sup {- {(x - m)} sup 2 over {2 sigma sup 2}}

Где M = m; D = sigma sup 2, M - Математическое ожидание; D - Дисперсия

Два вида нотаций (соглашений о записи) частного дифференцирования функций многих переменных: partial {f ( x bar )} over {partial x sub i} = ldots {partial f ( x bar )} over {partial x sub i} = ldots

Новый формат ссылок

скукоживаем непонятные урлы с 02.08.15

refer test

  1. Линник, Ю. Метод наименьших квадратов и основы математико-статистической теории обработки наблюдений / Ю.В. Линник. — М. : ФизМатГИЗ, 1962. — 10 c. — http://books.e-herit....
  2. Линник, Ю. Метод наименьших квадратов и основы математико-статистической теории обработки наблюдений / Ю.В. Линник. — М. : ФизМатГИЗ, 1962. — C. 10—12. — http://books.e-herit....
  3. Moore, A. Least squaries / A.V. Moore. — M. : Orsk university, 1999. — 110 p. — http://books.e-herit....
  4. Moore, A. Least squaries / A.V. Moore. — M. : Orsk university, 1999. — pp. 110—112. — http://books.e-herit....

ГлавнаяСтраница




КатегорияЛюди