VIM рэдактар — различия между версиями

Материал из Вікі Фаланстэра
Перейти к: навигация, поиск
(Новая страница: «'''Мэта:''' Пазнаёмицца з рэдактарам»)
 
(Аб'яднанне радкоў)
 
(не показано 47 промежуточных версии этого же участника)
Строка 1: Строка 1:
 
'''Мэта:'''
 
'''Мэта:'''
Пазнаёмицца з рэдактарам
+
Пазнаёміцца з рэдактарам vi, навучыцца базавым камандам працы з рэдактарам.
 +
 
 +
==Тэорыя==
 +
Большасць дыстрыбутываў Linux утрымлівае не сапраўдны рэдактар vi, а яго палепшаную версію vim (Vi IMproved), створаную Брамам Мулінарам (Bram Moolenaar). Першасны ж vi рэдактар быў створаны студэнтам Каліфарнійскага універсітэту у Берклі - Біллі Джоем.
 +
 
 +
Vim значна больш дасканалы за традыцыйны vi і у сістэмах Linux звычайна выкарыстоўваецца пад сімвалічнай спасылкай (ці псеўданімам) vi.
 +
 
 +
===Запуск і завяршэнне vi===
 +
Каб запусціць vi увядзіце каманду:
 +
> vi
 +
 
 +
Каб выйсці з рэдактара:
 +
:q
 +
Звярніце ўвагу, што двухкропье таксама частка каманды.
 +
 
 +
Калі вы ўнесці нейкія змены, але хочыце выйсці з рэдактара, не захоўваючы іх:
 +
:q!
 +
 
 +
Калі вы ўнеслі нейкія змены і хочаце іх захаваць:
 +
:w
 +
 
 +
Калі вы ўнеслі нейкія змены і хочаце іх захаваць і выйсці:
 +
:wq
 +
 
 +
Каманды, якія прыведзены вышэй, уводзяцца у камандным рэжыме (нармальным рэжыме vi) і пачынаюцца з двухкропья - называюцца '''ех-каманды'''.
 +
 
 +
===Рэжым рэдагавання===
 +
 
 +
Адкрыць файл у рэдактары vi:
 +
> vi file.txt
 +
Калі файл file.txt не існуе, то ён будзе створаны.
 +
 
 +
Vi зъяўляецца рэжымным рэдактарам. Адразу пасля запуска vi знаходзіцца у камандным рэжыме. У гэтым рэжыме амаль кожная клавіша з'яўляецца камандай, таму калі вы пачнеце ўводзіць тэкст, то можаце заблытацца і заблытаць vi.
 +
 
 +
Пераход у рэжым устаўкі (тэкста):
 +
націсніце клавішу I(i), ці кнопку Insert
 +
Знізу дакумента можа з'явіцца надпіс -- INSERT --
 +
 
 +
Цяпер можна увесці тэкст.
 +
 
 +
Выйсці з рэжыму устаўкі (рэжыму рэдагавання):
 +
націсніце кнопку ESC
 +
 
 +
===Перамяшчэнне курсора===
 +
У камандным рэжыме vi прапаноўвае вялікую колькасць камандаў па кіраванню курсорам. Частка гэтых камандаў выкарыстоўваецца прыладай less.
 +
{| class="wikitable"
 +
|-
 +
!Клавіша
 +
!Змяшчае курсор
 +
|-
 +
|L ці стрэлка управа
 +
|Управа на адзін сімвал
 +
|-
 +
|H ці стрэлка улева
 +
|Улева на адзін сімвал
 +
|-
 +
|J ці стрэлка уніз
 +
|Уніз на адзін сімвал
 +
|-
 +
|K ці стрэлка уверх
 +
|Уверх на адзін сімвал
 +
|-
 +
|0 (нуль)
 +
|У пачатак бягучага радка
 +
|-
 +
|SHIFT+6 (^)
 +
|Да першага непрабельнага сімвала у бягучым радку
 +
|-
 +
|SHIFT+4 ($)
 +
|У канец бягучага радка
 +
|-
 +
|w
 +
|Да пачатку наступнага слова, ці да знаку прыпынку
 +
|-
 +
|SHIFT+w (W)
 +
|Да пачатку наступнага слова, мінуючы знакі прыпынку
 +
|-
 +
|b
 +
|Да пачатку папярэдняга слова, ці да знаку прыпынку
 +
|-
 +
|SHIFT+b (B)
 +
|Да пачатку папярэдняга слова, мінуючы знакі прыпынку
 +
|-
 +
|CTRL+F ці Page Down
 +
|Уніз на адну старонку
 +
|-
 +
|CTRL+B ці Page Up
 +
|Уверх на адну старонку
 +
|-
 +
|лічба-SHIFT+g
 +
|Да радка з пазначаным нумарам. (Напрыклад, каманда 1G выканае пераход да першага радка у файле)
 +
|-
 +
|SHIFT+g
 +
|Да апошняга радка у файле
 +
|}
 +
 
 +
===Асновы рэдагавання===
 +
Рэдагавання у асноўным заключаецца у некалькіх простых аперацыях: устаўка тэкста, выдаленне тэкста, перамяшчэнне частак тэкста, капіраванне.
 +
 
 +
{| class="wikitable"
 +
|-
 +
!Клавіша
 +
!Выконвае аперацыю
 +
|-
 +
|SHIFT+u (U)
 +
|Адмена апошняй змены
 +
|-
 +
|I (i)
 +
|Пераход з каманднага рэжыму у рэжым устаўкі
 +
|-
 +
|a
 +
|Пры знаходжанні курсора у канцы радка, vi змесціцца за канец радка і перойдзе у рэжым устаўкі
 +
|-
 +
|SHIFT+a (A)
 +
|Змяшчае курсор у канец радка і пераходзіць у рэжым устаўкі
 +
|-
 +
|ESC
 +
|Выйсці з рэжыма у стаўкі. (Пераход у камандны рэжым)
 +
|}
 +
 
 +
====Устаўка радка====
 +
 
 +
{| class="wikitable"
 +
|-
 +
!Каманда
 +
!Выконвае аперацыю
 +
|-
 +
|o (літара "о")
 +
|Уставіць пусты радок '''ніжэй''' бягучага радка і перайсці у рэжым устаўкі
 +
|-
 +
|SHIFT+o (O) (літара "O")
 +
|Уставіць пусты радок '''вышэй''' бягучага радка і перайсці у рэжым устаўкі
 +
|}
 +
 
 +
====Выдаленне (выразанне) тэкста====
 +
 
 +
{| class="wikitable"
 +
|-
 +
!Каманда
 +
!Выдаліт
 +
|-
 +
|X
 +
|Бягучы сімвал
 +
|-
 +
|3x
 +
|Бягучы сімвал і наступныя за ім 2 сімвалы
 +
|-
 +
|dd
 +
|Бягучы радок
 +
|-
 +
|5dd
 +
|Бягучы радок і наступныя за ім чатыры радкі
 +
|-
 +
|dW
 +
|Ад сімвала бягучай пазіцыі курсора да пачатку наступнага слова
 +
|-
 +
|d$
 +
|Ад сімвала бягучай пазіцыі курсора да канца бягучага радка
 +
|-
 +
|d0
 +
|Ад сімвала бягучай пазіцыі курсора да пачатку радка
 +
|-
 +
|d^
 +
|Ад сімвала бягучай пазіцыі курсора да першага непрабельнага сімвала ў радку
 +
|-
 +
|dG
 +
|Ад бягучага радка да канца файла
 +
|-
 +
|d20G
 +
|Ад бягучага радка да 20 радка файла
 +
|}
 +
 
 +
====Капіраванне тэкста====
 +
 
 +
{| class="wikitable"
 +
|-
 +
!Каманда
 +
!Скапіруе
 +
|-
 +
|yy
 +
|Бягучы радок
 +
|-
 +
|5yy
 +
|Бягучы радок і наступныя за ім чатыры радкі
 +
|-
 +
|yW
 +
|Ад сімвала бягучай пазіцыі курсора да пачатку наступнага слова
 +
|-
 +
|y$
 +
|Ад сімвала бягучай пазіцыі курсора да канца бягучага радка
 +
|-
 +
|y0
 +
|Ад сімвала бягучай пазіцыі курсора да пачатку радка
 +
|-
 +
|y^
 +
|Ад сімвала бягучай пазіцыі курсора да першага непрабельнага сімвала ў радку
 +
|-
 +
|yG
 +
|Ад бягучага радка да канца файла
 +
|-
 +
|y20G
 +
|Ад бягучага радка да 20 радка файла
 +
|}
 +
 
 +
====Устаўка тэкста====
 +
{| class="wikitable"
 +
|-
 +
!Каманда
 +
!Выконвае аперацыю
 +
|-
 +
|p
 +
|Уставіць '''правей''' пазицыі курсора
 +
|-
 +
|SHIFT+p (P)
 +
|Уставіць '''левей''' пазіцыі курсора
 +
|}
 +
 
 +
====Аб'яднанне радкоў====
 +
У рэдактары vi нельга перайсці ў канец радка і выдаліць сімвал, каб аб'яднаць быгучы радок з насутупным. Для гэтага выкарыстоўваецца каманда J. (Перамясціце курсор на бягучы радок, націсніце J і бягучы радок аб'яднаецца з наступным).
 +
 
 +
===Глабальны пошук з заменай===
 +
Ех-каманда. Прыклад:
 +
:%s/Радок/радок/g
 +
Слова "Радок" заменіцца на слова "радок" ва ўсім файле.
 +
 
 +
* % - ад першага да апошняга радка
 +
* 1,$ - ад радка нумар 1 да апошняга радка.
 +
* 1,5 - ад радка нумар 1 да радка нумар 5.
 +
 
 +
* g - азначае global. Гэта значыць, што падстаноўва выконваецца ддля усіх уваходжанняў слова "Радок". Калі g апусціць, то замена будзе адбывацца толькі для першага ўваходжання слова "Радок" у кожным радку.
 +
 
 +
==Заданне==
 +
Для выканання заданняў вам спатрэбіцца шукаць дадатковую інфармацыю пра каманды shell у інтэрнэце!
 +
 
 +
===Удаленае падключэнне да сэврвера на Windows===
 +
# Зайсці у тэчку "Загрузки", запусціць прыладу putty.exe
 +
# У поле Host Name (or IP Address) запісаць 10.194.0.220
 +
# У акне кансолі ўвесці лагін: user і пароль: user.
 +
 
 +
Цяпер вы працуеце на ўдаленам Linux сэрверы.
 +
 
 +
===Заданне 1===
 +
* У тэчцы '''laba_2''' стварыць тэкставы дакумент '''list_1.txt'''.
 +
* У гэтым дакуменце напісаць ліст аднаму з цікавых людзей у свеце адкрытых тэхналогій: [https://be.wikipedia.org/wiki/%D0%A0%D1%8B%D1%87%D0%B0%D1%80%D0%B4_%D0%9C%D1%8D%D1%86%D1%8C%D1%8E_%D0%A1%D1%82%D0%BE%D0%BB%D0%BC%D0%B0%D0%BD Рычарду Столману], [https://be.wikipedia.org/wiki/%D0%9B%D0%BE%D1%80%D1%8D%D0%BD%D1%81_%D0%9B%D0%B5%D1%81%D1%96%D0%B3 Лоурэнсу Лесігу], [https://be.wikipedia.org/wiki/%D0%94%D0%B6%D1%8B%D0%BC%D1%96_%D0%92%D1%8D%D0%B9%D0%BB%D0%B7 Джымі Вэйлзу], [https://ru.wikipedia.org/wiki/%D0%A8%D0%B2%D0%B0%D1%80%D1%86,_%D0%90%D0%B0%D1%80%D0%BE%D0%BD Аарану Шварцу], [https://be.wikipedia.org/wiki/%D0%A6%D1%96%D0%BC_%D0%91%D0%B5%D1%80%D0%BD%D0%B5%D1%80%D1%81-%D0%9B%D1%96 Тіму Бернерсу-Лі], [https://be.wikipedia.org/wiki/%D0%9B%D1%96%D0%BD%D1%83%D1%81_%D0%A2%D0%BE%D1%80%D0%B2%D0%B0%D0%BB%D1%8C%D0%B4%D1%81 Лінусу Торвальдсу], [https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B1%D0%B0%D0%BA%D1%8F%D0%BD,_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%B0_%D0%90%D1%81%D0%B0%D0%BD%D0%BE%D0%B2%D0%BD%D0%B0 Аляксандры Элбакян], ці [https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D1%82%D0%BE%D1%81%D0%B8_%D0%9D%D0%B0%D0%BA%D0%B0%D0%BC%D0%BE%D1%82%D0%BE Сатошы Накамота]. Напісаць не менш за 15 радкоў тэкста.
 +
 
 +
===Заданне 2===
 +
* Быць гатовым прадэманстраваць каманды рэдагавання тэкста па запыту выкладчыка.
 +
 
 +
==Літаратура==
 +
# Уильям Шоттс, "Командная строка Linux", 2017, c 146.

Текущая версия на 14:29, 12 февраля 2018

Мэта: Пазнаёміцца з рэдактарам vi, навучыцца базавым камандам працы з рэдактарам.

Тэорыя

Большасць дыстрыбутываў Linux утрымлівае не сапраўдны рэдактар vi, а яго палепшаную версію vim (Vi IMproved), створаную Брамам Мулінарам (Bram Moolenaar). Першасны ж vi рэдактар быў створаны студэнтам Каліфарнійскага універсітэту у Берклі - Біллі Джоем.

Vim значна больш дасканалы за традыцыйны vi і у сістэмах Linux звычайна выкарыстоўваецца пад сімвалічнай спасылкай (ці псеўданімам) vi.

Запуск і завяршэнне vi

Каб запусціць vi увядзіце каманду:

> vi

Каб выйсці з рэдактара:

:q

Звярніце ўвагу, што двухкропье таксама частка каманды.

Калі вы ўнесці нейкія змены, але хочыце выйсці з рэдактара, не захоўваючы іх:

:q!

Калі вы ўнеслі нейкія змены і хочаце іх захаваць:

:w

Калі вы ўнеслі нейкія змены і хочаце іх захаваць і выйсці:

:wq

Каманды, якія прыведзены вышэй, уводзяцца у камандным рэжыме (нармальным рэжыме vi) і пачынаюцца з двухкропья - называюцца ех-каманды.

Рэжым рэдагавання

Адкрыць файл у рэдактары vi:

> vi file.txt

Калі файл file.txt не існуе, то ён будзе створаны.

Vi зъяўляецца рэжымным рэдактарам. Адразу пасля запуска vi знаходзіцца у камандным рэжыме. У гэтым рэжыме амаль кожная клавіша з'яўляецца камандай, таму калі вы пачнеце ўводзіць тэкст, то можаце заблытацца і заблытаць vi.

Пераход у рэжым устаўкі (тэкста):

націсніце клавішу I(i), ці кнопку Insert

Знізу дакумента можа з'явіцца надпіс -- INSERT --

Цяпер можна увесці тэкст.

Выйсці з рэжыму устаўкі (рэжыму рэдагавання):

націсніце кнопку ESC

Перамяшчэнне курсора

У камандным рэжыме vi прапаноўвае вялікую колькасць камандаў па кіраванню курсорам. Частка гэтых камандаў выкарыстоўваецца прыладай less.

Клавіша Змяшчае курсор
L ці стрэлка управа Управа на адзін сімвал
H ці стрэлка улева Улева на адзін сімвал
J ці стрэлка уніз Уніз на адзін сімвал
K ці стрэлка уверх Уверх на адзін сімвал
0 (нуль) У пачатак бягучага радка
SHIFT+6 (^) Да першага непрабельнага сімвала у бягучым радку
SHIFT+4 ($) У канец бягучага радка
w Да пачатку наступнага слова, ці да знаку прыпынку
SHIFT+w (W) Да пачатку наступнага слова, мінуючы знакі прыпынку
b Да пачатку папярэдняга слова, ці да знаку прыпынку
SHIFT+b (B) Да пачатку папярэдняга слова, мінуючы знакі прыпынку
CTRL+F ці Page Down Уніз на адну старонку
CTRL+B ці Page Up Уверх на адну старонку
лічба-SHIFT+g Да радка з пазначаным нумарам. (Напрыклад, каманда 1G выканае пераход да першага радка у файле)
SHIFT+g Да апошняга радка у файле

Асновы рэдагавання

Рэдагавання у асноўным заключаецца у некалькіх простых аперацыях: устаўка тэкста, выдаленне тэкста, перамяшчэнне частак тэкста, капіраванне.

Клавіша Выконвае аперацыю
SHIFT+u (U) Адмена апошняй змены
I (i) Пераход з каманднага рэжыму у рэжым устаўкі
a Пры знаходжанні курсора у канцы радка, vi змесціцца за канец радка і перойдзе у рэжым устаўкі
SHIFT+a (A) Змяшчае курсор у канец радка і пераходзіць у рэжым устаўкі
ESC Выйсці з рэжыма у стаўкі. (Пераход у камандны рэжым)

Устаўка радка

Каманда Выконвае аперацыю
o (літара "о") Уставіць пусты радок ніжэй бягучага радка і перайсці у рэжым устаўкі
SHIFT+o (O) (літара "O") Уставіць пусты радок вышэй бягучага радка і перайсці у рэжым устаўкі

Выдаленне (выразанне) тэкста

Каманда Выдаліт
X Бягучы сімвал
3x Бягучы сімвал і наступныя за ім 2 сімвалы
dd Бягучы радок
5dd Бягучы радок і наступныя за ім чатыры радкі
dW Ад сімвала бягучай пазіцыі курсора да пачатку наступнага слова
d$ Ад сімвала бягучай пазіцыі курсора да канца бягучага радка
d0 Ад сімвала бягучай пазіцыі курсора да пачатку радка
d^ Ад сімвала бягучай пазіцыі курсора да першага непрабельнага сімвала ў радку
dG Ад бягучага радка да канца файла
d20G Ад бягучага радка да 20 радка файла

Капіраванне тэкста

Каманда Скапіруе
yy Бягучы радок
5yy Бягучы радок і наступныя за ім чатыры радкі
yW Ад сімвала бягучай пазіцыі курсора да пачатку наступнага слова
y$ Ад сімвала бягучай пазіцыі курсора да канца бягучага радка
y0 Ад сімвала бягучай пазіцыі курсора да пачатку радка
y^ Ад сімвала бягучай пазіцыі курсора да першага непрабельнага сімвала ў радку
yG Ад бягучага радка да канца файла
y20G Ад бягучага радка да 20 радка файла

Устаўка тэкста

Каманда Выконвае аперацыю
p Уставіць правей пазицыі курсора
SHIFT+p (P) Уставіць левей пазіцыі курсора

Аб'яднанне радкоў

У рэдактары vi нельга перайсці ў канец радка і выдаліць сімвал, каб аб'яднаць быгучы радок з насутупным. Для гэтага выкарыстоўваецца каманда J. (Перамясціце курсор на бягучы радок, націсніце J і бягучы радок аб'яднаецца з наступным).

Глабальны пошук з заменай

Ех-каманда. Прыклад:

:%s/Радок/радок/g

Слова "Радок" заменіцца на слова "радок" ва ўсім файле.

  •  % - ад першага да апошняга радка
  • 1,$ - ад радка нумар 1 да апошняга радка.
  • 1,5 - ад радка нумар 1 да радка нумар 5.
  • g - азначае global. Гэта значыць, што падстаноўва выконваецца ддля усіх уваходжанняў слова "Радок". Калі g апусціць, то замена будзе адбывацца толькі для першага ўваходжання слова "Радок" у кожным радку.

Заданне

Для выканання заданняў вам спатрэбіцца шукаць дадатковую інфармацыю пра каманды shell у інтэрнэце!

Удаленае падключэнне да сэврвера на Windows

  1. Зайсці у тэчку "Загрузки", запусціць прыладу putty.exe
  2. У поле Host Name (or IP Address) запісаць 10.194.0.220
  3. У акне кансолі ўвесці лагін: user і пароль: user.

Цяпер вы працуеце на ўдаленам Linux сэрверы.

Заданне 1

Заданне 2

  • Быць гатовым прадэманстраваць каманды рэдагавання тэкста па запыту выкладчыка.

Літаратура

  1. Уильям Шоттс, "Командная строка Linux", 2017, c 146.