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

Материал из Вікі Фаланстэра
Перейти к: навигация, поиск
(Асновы рэдагавання)
(Аб'яднанне радкоў)
 
(не показано 25 промежуточных версии этого же участника)
Строка 1: Строка 1:
 
'''Мэта:'''
 
'''Мэта:'''
Пазнаёмицца з рэдактарам vi, навучыцца базавым камандам працы з рэдактарам.
+
Пазнаёміцца з рэдактарам vi, навучыцца базавым камандам працы з рэдактарам.
  
 
==Тэорыя==
 
==Тэорыя==
Большасць дыстрыбутыващ Linux утрымливае не сапращдны рэдактар vi, а яго палепшаную версию vim (Vi IMproved), створаную Брамам Мулинарам (Bram Moolenaar). Першасны ж vi рэдактар быщ створаны студэнтам Калифарнийскага университэту у Беркли - Билли Джоем.
+
Большасць дыстрыбутываў Linux утрымлівае не сапраўдны рэдактар vi, а яго палепшаную версію vim (Vi IMproved), створаную Брамам Мулінарам (Bram Moolenaar). Першасны ж vi рэдактар быў створаны студэнтам Каліфарнійскага універсітэту у Берклі - Біллі Джоем.
  
Vim значна больш дасканалы за традыцыйны vi и у систэмах Linux звычайна выкарыстощваецца пад симваличнай спасылкай (ци псещданимам) vi.
+
Vim значна больш дасканалы за традыцыйны vi і у сістэмах Linux звычайна выкарыстоўваецца пад сімвалічнай спасылкай (ці псеўданімам) vi.
  
===Запуск и завяршэнне vi===
+
===Запуск і завяршэнне vi===
Каб запусциць vi увядзице каманду:
+
Каб запусціць vi увядзіце каманду:
 
  > vi
 
  > vi
  
Каб выйсци з рэдактара:
+
Каб выйсці з рэдактара:
 
  :q
 
  :q
Звярнице щвагу, што двухкропье таксама частка каманды.
+
Звярніце ўвагу, што двухкропье таксама частка каманды.
  
Кали вы щнесци нейкия змены, але хочыце выйсци з рэдактара, не захощваючы их:
+
Калі вы ўнесці нейкія змены, але хочыце выйсці з рэдактара, не захоўваючы іх:
 
  :q!
 
  :q!
  
Кали вы щнесли нейкия змены и хочаце их захаваць:
+
Калі вы ўнеслі нейкія змены і хочаце іх захаваць:
 
  :w
 
  :w
  
Кали вы щнесли нейкия змены и хочаце их захаваць и выйсци:
+
Калі вы ўнеслі нейкія змены і хочаце іх захаваць і выйсці:
 
  :wq
 
  :wq
  
Каманды, якия прыведзены вышэй, уводзяцца у камандным рэжыме (нармальным рэжыме vi) и пачынаюцца з двухкропья - называюцца '''ех-каманды'''.
+
Каманды, якія прыведзены вышэй, уводзяцца у камандным рэжыме (нармальным рэжыме vi) і пачынаюцца з двухкропья - называюцца '''ех-каманды'''.
  
 
===Рэжым рэдагавання===
 
===Рэжым рэдагавання===
Строка 30: Строка 30:
 
Адкрыць файл у рэдактары vi:
 
Адкрыць файл у рэдактары vi:
 
  > vi file.txt
 
  > vi file.txt
Кали файл file.txt не иснуе, то ён будзе створаны.
+
Калі файл file.txt не існуе, то ён будзе створаны.
  
Vi зъящляецца рэжымным рэдактарам. Адразу пасля запуска vi знаходзицца у камандным рэжыме. У гэтым рэжыме амаль кожная клавиша зъящляецца камандай, таму кали вы пачнеце щводзиць тэкст, то можаце заблытацца и заблытаць vi.
+
Vi зъяўляецца рэжымным рэдактарам. Адразу пасля запуска vi знаходзіцца у камандным рэжыме. У гэтым рэжыме амаль кожная клавіша з'яўляецца камандай, таму калі вы пачнеце ўводзіць тэкст, то можаце заблытацца і заблытаць vi.
  
Пераход у рэжым устащки (тэкста):
+
Пераход у рэжым устаўкі (тэкста):
  нациснице клавишу I(i), ци кнопку Insert
+
  націсніце клавішу I(i), ці кнопку Insert
Знизу дакумента можа зъявицца надпис -- INSERT --
+
Знізу дакумента можа з'явіцца надпіс -- INSERT --
  
Цяпер можна увесци тэкст.
+
Цяпер можна увесці тэкст.
  
Выйсци з рэжыму устащки (рэжыму рэдагавання):
+
Выйсці з рэжыму устаўкі (рэжыму рэдагавання):
  нациснице кнопку ESC
+
  націсніце кнопку ESC
  
 
===Перамяшчэнне курсора===
 
===Перамяшчэнне курсора===
У камандным рэжыме vi прапанощвае вяликую колькасць камандащ па кираванню курсорам. Частка гэтых камандащ выкарыстощваецца прыладай less.
+
У камандным рэжыме vi прапаноўвае вялікую колькасць камандаў па кіраванню курсорам. Частка гэтых камандаў выкарыстоўваецца прыладай less.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
!Клавиша
+
!Клавіша
 
!Змяшчае курсор
 
!Змяшчае курсор
 
|-
 
|-
|L ци стрэлка управа
+
|L ці стрэлка управа
|Управа на адзин симвал
+
|Управа на адзін сімвал
 
|-
 
|-
|H ци стрэлка улева
+
|H ці стрэлка улева
|Улева на адзин симвал
+
|Улева на адзін сімвал
 
|-
 
|-
|J ци стрэлка униз
+
|J ці стрэлка уніз
|Униз на адзин симвал
+
|Уніз на адзін сімвал
 
|-
 
|-
|K ци стрэлка уверх
+
|K ці стрэлка уверх
|Уверх на адзин симвал
+
|Уверх на адзін сімвал
 
|-
 
|-
 
|0 (нуль)
 
|0 (нуль)
Строка 66: Строка 66:
 
|-
 
|-
 
|SHIFT+6 (^)
 
|SHIFT+6 (^)
|Да першага непрабельнага симвала у бягучым радку
+
|Да першага непрабельнага сімвала у бягучым радку
 
|-
 
|-
 
|SHIFT+4 ($)
 
|SHIFT+4 ($)
Строка 72: Строка 72:
 
|-
 
|-
 
|w
 
|w
|Да пачатку наступнага слова, ци да знаку прыпынку
+
|Да пачатку наступнага слова, ці да знаку прыпынку
 
|-
 
|-
 
|SHIFT+w (W)
 
|SHIFT+w (W)
|Да пачатку наступнага слова, минуючы знаки прыпынку
+
|Да пачатку наступнага слова, мінуючы знакі прыпынку
 
|-
 
|-
 
|b
 
|b
|Да пачатку папярэдняга слова, ци да знаку прыпынку
+
|Да пачатку папярэдняга слова, ці да знаку прыпынку
 
|-
 
|-
 
|SHIFT+b (B)
 
|SHIFT+b (B)
|Да пачатку папярэдняга слова, минуючы знаки прыпынку
+
|Да пачатку папярэдняга слова, мінуючы знакі прыпынку
 
|-
 
|-
|CTRL+F ци Page Down
+
|CTRL+F ці Page Down
|Униз на адну старонку
+
|Уніз на адну старонку
 
|-
 
|-
|CTRL+B ци Page Up
+
|CTRL+B ці Page Up
 
|Уверх на адну старонку
 
|Уверх на адну старонку
 
|-
 
|-
|личба-SHIFT+g
+
|лічба-SHIFT+g
 
|Да радка з пазначаным нумарам. (Напрыклад, каманда 1G выканае пераход да першага радка у файле)
 
|Да радка з пазначаным нумарам. (Напрыклад, каманда 1G выканае пераход да першага радка у файле)
 
|-
 
|-
Строка 97: Строка 97:
  
 
===Асновы рэдагавання===
 
===Асновы рэдагавання===
Рэдагавання у аснощным заключаецца у некальких простых аперацыях: устащка тэкста, выдаленне тэкста, перамяшчэнне частак тэкста, капираванне.
+
Рэдагавання у асноўным заключаецца у некалькіх простых аперацыях: устаўка тэкста, выдаленне тэкста, перамяшчэнне частак тэкста, капіраванне.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
!Клавиша
+
!Клавіша
 
!Выконвае аперацыю
 
!Выконвае аперацыю
 
|-
 
|-
Строка 108: Строка 108:
 
|-
 
|-
 
|I (i)
 
|I (i)
|Пераход з каманднага рэжыму у рэжым устащки
+
|Пераход з каманднага рэжыму у рэжым устаўкі
 
|-
 
|-
 
|a
 
|a
|Пры знаходжанни курсора у канцэ радка, vi змесцицца за канец радка и перойдзе у рэжым устащки
+
|Пры знаходжанні курсора у канцы радка, vi змесціцца за канец радка і перойдзе у рэжым устаўкі
 
|-
 
|-
 
|SHIFT+a (A)
 
|SHIFT+a (A)
|Змяшчае курсор у канец радка и пераходзиць у рэжым устащки
+
|Змяшчае курсор у канец радка і пераходзіць у рэжым устаўкі
 
|-
 
|-
 
|ESC
 
|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.

Текущая версия на 15: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.