Архив категорий Программирование

Автор:human

VIM Editor Commands

Vim is an editor to create or edit a text file.

There are two modes in vim.

In the command mode, user can move around the file, delete text, etc.

In the insert mode, user can insert text.

Changing mode from one to another

From command mode to insert mode type a/A/i/I/o/O ( see details below)

From insert mode to command mode type Esc (escape key)

Some useful commands for VIM

Text Entry Commands (Used to start text entry)

a Append text following current cursor position

A Append text to the end of current line

i Insert text before the current cursor position

I Insert text at the beginning of the cursor line

o Open up a new line following the current line and add text there

O Open up a new line in front of the current line and add text there

The following commands are used only in the commands mode.

Cursor Movement Commands

h Moves the cursor one character to the left

l Moves the cursor one character to the right

k Moves the cursor up one line

j Moves the cursor down one line

nG or :n Cursor goes to the specified (n) line

(ex. 10G goes to line 10)

^F (CTRl F) Forward screenful

^B Backward screenful

^f One page forward

^b One page backward

^U Up half screenful

^D Down half screenful

$ Move cursor to the end of current line

0 (zero) Move cursor to the beginning of current line

w Forward one word

b Backward one word

Exit Commands

:wq Write file to disk and quit the editor

:q! Quit (no warning)

:q Quit (a warning is printed if a modified file has not been saved)

ZZ Save workspace and quit the editor (same as :wq)

: 10,25 w temp

write lines 10 through 25 into file named temp. Of course, other line

numbers can be used. (Use :f to find out the line numbers you want.

Text Deletion Commands

x Delete character

dw Delete word from cursor on

db Delete word backward

dd удалить строку

d$ Delete to end of line

d^ (d caret, not CTRL d) Delete to beginning of line

Yank (has most of the options of delete)— VI’s copy commmand

yy yank current line

y$ yank to end of current line from cursor

yw yank from cursor to end of current word

5yy yank, for example, 5 lines

Paste (used after delete or yank to recover lines.)

p paste below cursor

P paste above cursor

«2p paste from buffer 2 (there are 9)

u Undo last change

U Restore line

J Join next line down to the end of the current line

File Manipulation Commands

:w Write workspace to original file

:w file Write workspace to named file

:e file Start editing a new file

:r file Read contents of a file to the workspace

To create a page break, while in the insert mode, press the CTRL key

And l. ^L will appear in your text and will cause the printer to start

A new page.

Other Useful Commands

Most commands can be repeated n times by typing a number, n, before

the command. For example 10dd means delete 10 lines.

. Repeat last command

cw Change current word to a new word

r Replace one character at the cursor position

R Begin overstrike or replace mode � use ESC key to exit

:/ pattern Search forward for the pattern

:? pattern Search backward for the pattern

n (used after either of the 2 search commands above to

continue to find next occurrence of the pattern.

:g/pat1/s//pat2/g replace every occurrence of pattern1 (pat1) with

pat2

Example :g/tIO/s//Ada.Text_IO/g

This will find and replace tIO by Ada.text_IO everywhere in the file.

:g/a/s// /g replace the letter a, by blank

:g/a/s///g replace a by nothing

note: Even this command be undone by u

Examples

Opening a New File

Step 1 type vim filename (create a file named filename)

Step 2 type i ( switch to insert mode)

Step 3 enter text (enter your Ada program)

Step 4 hit Esc key (switch back to command mode)

Step 5 type :wq (write file and exit vim)

Editing the Existing File

Step 1 type vim filename (edit the existing file named filename)

Step 2 move around the file using h/j/k/l key or any appropriate command

h Moves the cursor one character to the left

l Moves the cursor one character to the right

k Moves the cursor up one line

j Moves the cursor down one line

nG or :n Cursor goes to the specified (n) line

(ex. 10G goes to line 10)

Step 3 edit required text (replace or delete or insert)

Step 4 hit Esc key (exit from insert mode if you insert or replace text)

Step 5 type :wq

Автор:human

Отправка сообщений всем пользователям(друзьям) в vk через скрипт

Отправка сообщений всем пользователям(друзьям) в vk через скрипт

Для того чтобы оправлять сообщения пользователям(своим друзьям) или другим через консоль, используя php скрипт необходимо выполнить несколько шагов.

Шаг1. Создать в VK standalone-приложение vk.com/editapp?act=create

Имя пишем какое угодно — фигурировать оно нигде не будет.
Тип — Standalone-приложение.

Далее потребуется ввести код с смс-ки которая придет на привязанный к аккаунту номер. После ввода кода ничего не меняем в полях, идем в настройки и копируем ID приложения.

 

Шаг2. Перейдем по ссылке вида

где,
заменяем CLIENT — на id вашего приложения послу выполнения шага 1.
заменяем ПРАВАДОСТУПА — на права для вашего приложения,например(messages,wall,photos,friends). Более подробно о правах — здесь здесь.
Вставим строку в адресную строку браузера и нажмем Enter. Появится окно

Нажимаем разрешить.
В адресной строке появиться новая строка с токеном такого вида. Токен выделен красным. Он то нам и нужен. Он начинается после token= и заканчивается перед &. Скопируем его куда нибудь.

Теперь собственно сам скрипт php, который отправляет сообщение всем пользователям вк, указанным в массиве. Для его использования необходимо чтобы в системы был пакет curl и php-cli, в интернете найдете без проблем инструкции для Linux(если у вас винда — «бейтесь головой»).

где
юзерid1, юзерid2 — надо заменить на id пользоветелей, которым вы хотите отправлять сообещения(может быть сколько угодно),
$token =»»;между кавычками вставляем токен,который мы получили выше.
Ограничения на отправку(обращение к api) vk — не более 3-х в секунду.
Теперь нам надо получить список пользователей, которым мы будем отправлять сообщения.
Это делается запросом вида в адресной строке или через консоль:
В строке браузера

В консоли Linux

Он вернет вам массив с пользователями, который вы вставите в скрипт.

Запуск скрипта

Переходим в каталог со скриптом и запускаем его через консоль. Допустим мы сохранили скрипт с именем script.php

В тексте не должно быть пробелов, пока не разобрался как отправлять с пробелами.
Для тестирования можете отправить себе.

Автор:human

Python — получить телефоны друзей в VK

Многие, изучающие Python интересуются его использованием в связке с API Вконтакте. В VK имеется телефонная книга, она в более-менее нормальном формате отображает мобильные номера ваших друзей. А учитывая то, что далеко не каждый человек охотно оставляет там свой валидный (полный) номер телефона, будет весьма интересно и полезно написать скрипт, который будет отбирать исключительно валидные мобильные номера и выводить их в отдельную таблицу. Наша телефонная книга будет создавать CSV-файл, который впоследствии можно будет открывать, к примеру, в Excel.

Чтобы воспользоваться API Вконтакте на Python можно воспользоваться неплохой библиотекой vk. Оригинальное название, не так ли? Итак, нужно импортировать нужные нам модули:

Дале создаем класс User с методами, которые нам необходимы:

Тут возникла проблема, и гугл как-то не выдавал нужное решение, как взять id текущего пользователя. Но, выход был найдет – нужно передать как аргумент пустую строку.

Затем следует написать функцию валидатор, приводящая к общему виду номера телефонов. В нашем примере мы будем выбирать лишь номера, начинающиеся с «0». Вы сможете легко скорректировать скрипт под нужный вам формат.

Затем пройдем по друзьям, отобрав тех, которые оставили свои контактные данные, и если оставили, то мы их валидируем и записываем в массив. У сервера ВК есть одна особенность – он не любит большое количество запросов, соответственно нужно сделать так, чтобы наш скрипт «спал» определенное время между ними. Были перепробованы различные значение, и определены оптимальные.

Теперь сохраним полученный результат.

Далее нужно добавить функцию, подсчитывающую затраченное время.

И в конце нужно реализовать вызов созданных функций.

В результате мы получаем csv-файл, который в виде удобной таблицы можно открывать в Excel.

Яндекс.Метрика