Ravindra BagaleCourses & study guides English

Vim Tutorial सुरुवातीपासून Advanced पर्यंत (nano सह): Modes, Commands, Search आणि Replace

बऱ्याच servers वर VS Code नसतो, mouse नसतो. vi किंवा vim मात्र नेहमी असतो. Vim एक तास विचित्र वाटतो आणि मग सगळ्यात fast editor होतो. आधी nano ने सोपी सुरुवात, मग vim चे तीन modes ते macros, search-replace आणि splits.

या chapter मध्ये तुम्ही काय शिकाल

  • nano ने एका मिनिटात edit आणि save
  • Vim modes: Normal, Insert, Visual, Command-line
  • Fast फिरणं: words, lines, file, search
  • Edit: delete, copy, paste, undo, redo, change
  • :s आणि :%s ने search आणि replace
  • Advanced: visual block, macros, registers, splits, .vimrc

1. रोजचं उदाहरण: remote असलेला typewriter

हे का लागतं?

दोन buttons असलेला typewriter समजा. एक button 'typing' mode: keys letters छापतात. दुसरा 'remote' mode: keys कागद हलवतात, lines कापतात, pages copy करतात. आपण कोणत्या mode मधे आहोत हे कळलं की कधी गडबड होत नाही.

हे काय आहे?

Typing mode = Insert mode (i दाबा). Remote mode = Normal mode (Esc). :wq type करायचा control panel = Command-line mode. Highlighter ने select = Visual mode (v).

कसं करायचं (step by step)

Vim modesOpen: vim file.txtNormal mode (फिरणं, delete)i: Insert mode (type)Esc: परत Normal:wq Enter: save आणि बाहेर
Esc नेहमी Normal mode मधे परत आणतो.

2. nano: सोपा आणि friendly editor

हे का लागतं?

कधी कधी आत्ता एक line बदलायची असते आणि modes शिकायचे नसतात.

हे काय आहे?

nano खाली shortcuts दाखवतो. ^ म्हणजे Ctrl. थेट type करा. Ctrl+O save (Write Out). Ctrl+X exit. Ctrl+W search. Ctrl+K line cut, Ctrl+U paste. Alt+U undo. Ctrl+_ line number ला.

Keysकाय करतो
Ctrl+O, EnterSave
Ctrl+XExit
Ctrl+WSearch
Ctrl+\Search आणि replace
Ctrl+K / Ctrl+ULine cut / paste
Alt+U / Alt+EUndo / redo
Ctrl+_Line ला जा

कसं करायचं (step by step)

  1. File line 20 वर उघडा.
nano +20 /etc/hosts

याचा अर्थ: Cursor line 20 वर सुरू.

  1. Root ची file edit.
sudo nano /etc/ssh/sshd_config

याचा अर्थ: sudo शिवाय Ctrl+O Permission denied देतो.

  1. Line numbers दाखवा.
nano -l app.conf

याचा अर्थ: -l डावीकडे numbers.

3. Vim modes आणि survival kit

हे का लागतं?

Modes माहीत नसल्याने लोक 'vim मधे अडकतात'. या पाच गोष्टी शिका, कधी अडकणार नाही.

हे काय आहे?

Vim Normal mode मधे उघडतो, जिथे keys म्हणजे commands. i ने Insert mode, type करायला. Esc ने परत Normal. : ने Command-line mode: :w (save), :q (quit), :wq किंवा :x (save आणि quit), :q! (save न करता quit). vimtutor म्हणजे 30 मिनिटांचा built-in lesson.

Commandकाय करतो
:wSave
:qQuit (बदल नसतील तर)
:wq or :x or ZZSave आणि quit
:q!बदल टाकून quit
:w newnameSave as
:e fileदुसरी file उघडा

कसं करायचं (step by step)

  1. File उघडा.
vim notes.txt

Output:

~
~
"notes.txt" [New]

याचा अर्थ: Normal mode. ~ म्हणजे रिकाम्या lines.

  1. Text type करा.
i  Hello Pune  Esc

Output:

Hello Pune

याचा अर्थ: i ने Insert mode; Esc ने बाहेर.

  1. Save आणि quit.
:wq

Output:

"notes.txt" [New] 1L, 11B written

याचा अर्थ: 1 line, 11 bytes save.

  1. चूक झाली तर save न करता quit.
:q!

याचा अर्थ: शेवटच्या save नंतरचे बदल गेले.

  1. Tutor ने अजून शिका.
vimtutor

Output:

= W e l c o m e   t o   t h e   V I M   T u t o r

याचा अर्थ: Practice copy उघडते.

4. Normal mode मधे fast फिरणं

हे का लागतं?

Arrow keys slow आहेत. Vim motions ने words, lines, patterns ने उडी मारता येते, आणि त्या प्रत्येक edit command सोबत जुळतात.

हे काय आहे?

h j k l = डावीकडे खाली वर उजवीकडे. w = पुढचा word, b = मागचा word, e = word चा शेवट. 0 = line ची सुरुवात, ^ = पहिला non-space, $ = line चा शेवट. gg = पहिली line, G = शेवटची line, 42G किंवा :42 = line 42. Ctrl+d / Ctrl+u = अर्धं page खाली/वर. % = जुळणारा bracket. Motion आधी number = repeat: 5j = 5 lines खाली.

कसं करायचं (step by step)

  1. File च्या शेवटी.
G

Output:

(cursor on the last line)

याचा अर्थ: नव्या log lines वाचायला उत्तम.

  1. Line 120 ला (error message मधून).
:120

Output:

(cursor on line 120)

याचा अर्थ: किंवा थेट: vim +120 app.py.

  1. 3 words उजवीकडे.
3w

याचा अर्थ: Count + motion.

  1. Line numbers.
:set number

Output:

  1 server {
  2   listen 80;

याचा अर्थ: :set nonumber ने बंद.

5. Editing: delete, copy, paste, undo, change

हे का लागतं?

बहुतेक editing म्हणजे छोटे भाग delete, copy, change करणं. Vim हे दोन-तीन keys मधे करतो.

हे काय आहे?

Operator + motion. d = delete, y = yank (copy), c = change (delete करून Insert). dd = line delete, yy = line copy, p = नंतर paste, P = आधी paste. dw = word delete, d$ किंवा D = line शेवटपर्यंत delete, ciw = आतला word change. x = एक character delete. u = undo, Ctrl+r = redo, . = शेवटचा बदल repeat. o / O = खाली/वर नवी line. A = line च्या शेवटी append.

Keysकाय करतो
dd / 3dd1 / 3 lines delete
yy / pLine copy / paste
dw / cwWord delete / change
ciwCursor खालचा पूर्ण word change
ci"Quotes मधला text change
xCharacter delete
u / Ctrl+rUndo / redo
.शेवटचा बदल repeat
>> / <<Line indent / unindent

कसं करायचं (step by step)

  1. 3 lines delete.
3dd

Output:

3 fewer lines

याचा अर्थ: Register मधे जातात, p ने paste करता येतं.

  1. Line खाली हलवा (cut आणि paste).
ddp

याचा अर्थ: Line delete, पुढच्या नंतर paste.

  1. Word बदला.
ciw  production  Esc

Output:

env = production

याचा अर्थ: Cursor खालचा word बदलला.

  1. Quotes मधली value बदला.
ci"  10.0.1.20  Esc

Output:

host = "10.0.1.20"

याचा अर्थ: Line वर quotes मधे कुठेही चालतं.

  1. पुढच्या match वर तोच बदल.
n.

याचा अर्थ: n पुढच्या search hit ला, . repeat.

  1. दोनदा undo, एकदा redo.
u u Ctrl+r

Output:

1 change; before #4

याचा अर्थ: Session मधे undo अमर्याद.

6. Search आणि replace

हे का लागतं?

40 ठिकाणी host name हाताने बदलणं slow आणि चुका होणारं.

हे काय आहे?

/text पुढे search, ?text मागे, n = पुढचा, N = मागचा, * = cursor खालचा word search. :s/old/new/ line वरचा पहिला match replace. :%s/old/new/g पूर्ण file मधे सगळे. प्रत्येकाला विचारायला c: :%s/old/new/gc. :10,20s/// lines 10–20 पुरतं. :noh highlight काढतो.

कसं करायचं (step by step)

  1. Log मधे errors शोधा.
/ERROR

Output:

search hit BOTTOM, continuing at TOP

याचा अर्थ: पुढच्यासाठी n.

  1. File मधे सगळे replace.
:%s/db-old.internal/db-new.internal/g

Output:

12 substitutions on 12 lines

याचा अर्थ: % = पूर्ण file, g = प्रत्येक line वरचे सगळे matches.

  1. Confirm सह replace.
:%s/8080/9090/gc

Output:

replace with 9090 (y/n/a/q/l/^E/^Y)?

याचा अर्थ: y = हो, n = skip, a = सगळे, q = थांबा.

  1. फक्त lines 5 ते 15.
:5,15s/^/# /

Output:

11 substitutions on 11 lines

याचा अर्थ: Lines 5–15 comment (^ = line सुरुवात).

  1. सगळ्या blank lines delete.
:g/^$/d

Output:

8 fewer lines

याचा अर्थ: :g प्रत्येक जुळणाऱ्या line वर command चालवतो.

7. Advanced: visual mode, macros, registers, splits

हे का लागतं?

मोठ्या edits साठी (YAML blocks, CSV columns, 200 lines वर तोच बदल) power tools लागतात.

हे काय आहे?

v = characters select, V = lines select, Ctrl+v = block (columns) select. Select नंतर d, y, >, < किंवा : त्यावर चालतात. Macros: qa register a मधे recording सुरू, q थांबवतो, @a play, 10@a 10 वेळा. Registers: "ayy a मधे copy, "ap a मधून paste, "+y system clipboard. Splits: :split आणि :vsplit, Ctrl+w w ने फिरा. :!cmd shell command. :r !cmd त्याचा output आत घालतो.

कसं करायचं (step by step)

  1. YAML block indent.
V 4j >

Output:

5 lines >ed 1 time

याचा अर्थ: 5 lines select करून उजवीकडे.

  1. 10 lines च्या सुरुवातीला # (block insert).
Ctrl+v 9j I # Esc

Output:

# line1
# line2 ...

याचा अर्थ: Block mode मधे I प्रत्येक selected line वर type करतो.

  1. Word ला quotes लावून खाली जाणारा macro.
qa I" Esc A", Esc j q

Output:

"apple",

याचा अर्थ: Register a मधे record.

  1. आणखी 50 lines वर play.
50@a

Output:

"banana",
"cherry", ...

याचा अर्थ: तोच edit, 50 वेळा, एका second मधे.

  1. दोन files शेजारी.
:vsplit nginx.conf

याचा अर्थ: Ctrl+w w windows मधे फिरतो.

  1. Shell मधून आजची date.
:r !date

Output:

Sun Oct 25 11:02:10 IST 2026

याचा अर्थ: File मधे shell output.

  1. sudo शिवाय उघडलेली root file save.
:w !sudo tee % > /dev/null

याचा अर्थ: % म्हणजे current file name. नंतर :e! ने reload.

8. तुमचा .vimrc: vim आपलं बनवा

हे का लागतं?

प्रत्येक वेळी :set number type करणं कंटाळवाणं. ~/.vimrc मधल्या settings दर वेळी load होतात.

हे काय आहे?

~/.vimrc म्हणजे settings ची text file. चांगली सुरुवात: number, relativenumber, YAML साठी tabs म्हणून spaces, search options, syntax on.

कसं करायचं (step by step)

  1. Starter .vimrc लिहा.
cat > ~/.vimrc <<'V'
syntax on
set number relativenumber
set expandtab tabstop=2 shiftwidth=2
set ignorecase smartcase incsearch hlsearch
set paste?
V

याचा अर्थ: आता प्रत्येक vim session मधे या settings.

  1. Setting तपासा.
:set tabstop?

Output:

  tabstop=2

याचा अर्थ: ? current value दाखवतो.

  1. Vim default editor (git, crontab, visudo).
echo 'export EDITOR=vim VISUAL=vim' >> ~/.bashrc && source ~/.bashrc

याचा अर्थ: crontab -e आणि git commit आता vim उघडतात.

9. अनेक industries मधली खरी उदाहरणं

हे का लागतं?

तेच Linux skill प्रत्येक प्रकारच्या company मध्ये लागतं. वेगवेगळ्या ठिकाणी पाहिलं की लक्षात राहतं.

हे काय आहे?

प्रत्येक row म्हणजे एक काल्पनिक team. कोण हे वापरतं आणि कसं ते दाखवते.

कसं करायचं (step by step)

Team आणि शहरते कसं वापरतातCommand
Vikram, SRE, NoidaLive server वर vim ने nginx config fixsudo vim /etc/nginx/nginx.conf
Chloe, Kubernetes, Sydneyexpandtab आणि visual indent ने YAML editkubectl edit deploy web
Javier, data, BogotáMacro ने CSV column चं SQLqa ... q 200@a
Sneha, support, KochiHosts file साठी nanosudo nano /etc/hosts
Yusuf, security, Istanbulsudoers सुरक्षितपणे editsudo visudo
Aarav, student, Delhigit commit messages vim मधेgit commit
Nora, embedded, Munichvim नसलेल्या BusyBox devices वर vivi /etc/config/network

10. नेहमीच्या errors आणि त्यांचे fixes

हे का लागतं?

हे errors सगळ्यांना येतात. कारण माहीत असलं की तास वाचतात.

हे काय आहे?

आधी नेमका message वाचा. मग खालच्या row शी जुळवा.

कसं करायचं (step by step)

दिसणारा errorका होतंFix कसा करायचा
E37: No write since last change (add ! to override)Save न करता :q:wq ने save, किंवा :q! ने टाका.
:wq
E45: 'readonly' option is set (add ! to override)File read-only उघडलीतुमची असेल तर :w!, नाही तर नीट उघडा.
:w!
E212: Can't open file for writingPermission नाही किंवा folder नाहीsudo tee ने save, किंवा sudo ने उघडा.
:w !sudo tee % > /dev/null
E325: ATTENTION Found a swap file by the name ".app.conf.swp"आधी vim crash किंवा file दुसरीकडे उघडीRecover ला R, जुनी असेल तर D ने swap delete.
ls -la .*.swp
Typed text appears as commands (letters vanish, lines deleted)तुम्ही Insert नाही, Normal mode मधे होतातEsc, मग u ने undo, मग i ने insert.
u
E486: Pattern not found: ErrorSearch case sensitive/\cerror किंवा :set ignorecase.
:set ignorecase
Pasted code gets extra indent (staircase)Paste वर auto-indentPaste आधी :set paste, नंतर :set nopaste.
:set paste
Stuck in 'Recording @q'q नंतर letter दाबलंथांबवायला पुन्हा q.
q
Error 'mapping' or tab errors in YAML after editingSpaces ऐवजी tabs आलेexpandtab set करून :retab.
:set expandtab | retab
nano: Error writing /etc/hosts: Permission deniedsudo शिवाय nanoExit करून sudo nano ने उघडा.
sudo nano /etc/hosts

11. Troubleshooting step by step

हे का लागतं?

Vim विचित्र वागला तर जवळजवळ नेहमी mode, file permission किंवा setting.

हे काय आहे?

वरून खाली जा. ज्या step ला problem दिसतो तिथे थांबा.

कसं करायचं (step by step)

  1. दोनदा Esc. आता Normal mode.
  1. जे झालं ते undo.
u
  1. खालची mode line बघा (INSERT, VISUAL, recording).
  1. File लिहिता येते का.
:!ls -l %
  1. Typing बदलणाऱ्या settings.
:set paste? expandtab? autoindent?
  1. vimrc शिवाय clean start.
vim -u NONE file

12. Lab 1: फक्त vim ने बिघडलेला config fix

हे का लागतं?

Grace Cape Town मधल्या bakery chain साठी on call. App config जुन्या database कडे आणि port चुकीचा. Vim ने fix करा.

हे काय आहे?

पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).

कसं करायचं (step by step)

  1. File बनवा.
printf 'db_host = "db-old.internal"\ndb_port = 5433\nreplica = "db-old.internal"\ndebug = true\n' > app.conf
  1. Numbers सह उघडा.
vim +'set number' app.conf

Output:

  1 db_host = "db-old.internal"
  2 db_port = 5433
  3 replica = "db-old.internal"
  4 debug = true
  1. सगळीकडे host replace.
:%s/db-old/db-new/g

Output:

2 substitutions on 2 lines
  1. Line 2 वर जाऊन port बदला.
:2 then $ ciw 5432 Esc

Output:

db_port = 5432
  1. debug line delete.
G dd

Output:

3 lines
  1. Save, quit, check.
:wq then cat app.conf

Output:

db_host = "db-new.internal"
db_port = 5432
replica = "db-new.internal"

13. Lab 2: Macro ने list चं JSON

हे का लागतं?

100 शहरांची नावं एका मिनिटात JSON array मधे.

हे काय आहे?

पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).

कसं करायचं (step by step)

  1. List बनवा.
printf '%s\n' Pune Mumbai Delhi Paris Lagos Lima > cities.txt && vim cities.txt
  1. Record: line ला quotes, comma, खाली.
qq I" Esc A", Esc j q

Output:

"Pune",
  1. बाकीवर play.
100@q

Output:

"Mumbai",
...
"Lima",
  1. शेवटचा comma काढा.
G $ x
  1. Brackets जोडा.
gg O [ Esc G o ] Esc :wq

Output:

[
"Pune",
...
"Lima"
]
  1. Validate.
python3 -m json.tool cities.txt | head -3

Output:

[
    "Pune",
    "Mumbai",

Ravindra Bagale's Tip

Lost in vim? Press Esc twice, then type :q! and Enter. You are out with no damage. Then spend 30 minutes with vimtutor, it is the best free vim course.

14. नेहमी विचारले जाणारे प्रश्न

प्र. vi vs vim?

vi प्रत्येक Unix मधला जुना editor. vim म्हणजे 'vi improved': undo levels, syntax colours, plugins. बऱ्याच systems वर vi म्हणजे vim.

प्र. nano शिकू की vim?

दोन्ही. Quick edit ला nano, vim कारण सगळीकडे असतो आणि खऱ्या कामात खूप fast.

प्र. Laptop clipboard ला copy कसं?

GUI किंवा clipboard support असेल तर "+y. SSH वर terminal मधे mouse ने select.

प्र. Neovim म्हणजे?

vim चा modern fork, Lua config आणि built-in LSP. Keys त्याच.

प्र. sudoers सुरक्षित कसं edit?

नेहमी visudo ने. Save आधी syntax तपासतो, म्हणून lock-out होत नाही.

15. मुलाखत प्रश्न आणि उत्तरं

Beginner level

प्र. Vim save आणि quit कसं?

:wq किंवा :x किंवा ZZ.

प्र. Save न करता quit कसं?

:q!

प्र. Insert mode कसा?

i (किंवा a, o, A, I).

प्र. nano मधे save?

Ctrl+O मग Enter.

Mid level level

प्र. File मधे सगळे replace कसे?

:%s/old/new/g, confirm साठी c.

प्र. . काय करतो?

शेवटचा बदल repeat.

प्र. v, V आणि Ctrl+v फरक?

Character, line आणि block selection.

प्र. Line 50 ला कसं?

:50 किंवा 50G.

Senior level

प्र. sudo शिवाय nginx.conf मधे 30 edits. Save कसं?

:w !sudo tee % > /dev/null, मग :e!. किंवा /tmp मधे save करून sudo cp.

प्र. Macro समजावा आणि कधी वापराल.

Register मधे record केलेला keys चा क्रम (qa ... q, @a). Lines reformat सारख्या repetitive edits ला.

प्र. Swap file आणि E325 कसं handle?

Vim ची crash-recovery file. Crash असेल तर R, जुनी असेल तर delete, दुसरं कोणी edit करत असेल तर read-only.

प्र. Vim मधे YAML safe कसं?

set expandtab tabstop=2 shiftwidth=2, tabs बघायला :set list, convert ला :retab.

घरी करून बघा

  1. vimtutor 30 मिनिटं.
  2. Starter settings सह ~/.vimrc.
  3. Test file मधे :%s ने word बदला.

सराव Tasks

या scenario बद्दल

Ahmednagar Sugar Co-op हा अहिल्यानगर मधला साखर सहकारी व्यवसाय आहे. Balasaheb Pawar त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 16

सोपं File एका line वर उघडा

का: Error line वर उडी.

काय करायचं: app.py vim मधे line 120 वर cursor ठेवून उघडा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Line numbers सह nano

का: Context सह quick edit.

काय करायचं: site.ini nano मधे line numbers सह उघडा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं nano ने root file

का: System files ना root.

काय करायचं: /etc/motd nano मधे उघडा म्हणजे save करता येईल.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं vim tutor सुरू

का: सगळ्यात चांगला free 30 मिनिटांचा lesson.

काय करायचं: Built-in vim tutorial French मधे सुरू करा (language code fr).

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Save आणि quit

का: सगळ्यात वापरला जाणारा vim command.

काय करायचं: vim Normal mode मधे save करून quit करणारा command-line command लिहा.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Insert mode

का: Normal mode मधे text type होत नाही.

काय करायचं: Cursor आधी Insert mode मधे जाणारी एक key कोणती?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Line delete

का: झटपट line काढणं.

काय करायचं: Current पूर्ण line delete करणाऱ्या Normal-mode keys कोणत्या?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Line copy

का: Copy ला yank म्हणतात.

काय करायचं: Current line copy (yank) करणाऱ्या keys कोणत्या?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Undo

का: प्रत्येक चूक परत घेता येते.

काय करायचं: शेवटचा बदल undo करणारी एक key कोणती?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Line numbers

का: Error messages च्या line numbers जुळवा.

काय करायचं: Line numbers दाखवणारा vim command लिहा.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Line 50 ला

का: Error message वरून उडी.

काय करायचं: Line 50 ला जाणारा vim command-line command लिहा.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं nano मधे save

का: nano files write out करतो.

काय करायचं: nano मधे file save करणारं key combination कोणतं? ctrl+x सारखं लिहा.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम sudoers सुरक्षित

का: एका typo ने सगळे admins lock होतात.

काय करायचं: Syntax तपासणाऱ्या safe editor ने /etc/sudoers.d/40-ops drop-in file उघडा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम पूर्ण file मधे replace

का: 40 ठिकाणी host बदला.

काय करायचं: पूर्ण file मधे प्रत्येक db-old ला db-new करणारा vim command लिहा.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Macro play

का: Record केलेला edit repeat.

काय करायचं: Register a मधे macro record केला. तो एकदा play करणाऱ्या keys लिहा.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड Blank lines delete

का: Config files साफ.

काय करायचं: File मधल्या सगळ्या रिकाम्या lines delete करणारा vim command.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

थोडक्यात सांगायचं तर

  1. nano: Ctrl+O save, Ctrl+X exit.
  2. vim: Esc Normal, i Insert, :wq save आणि quit, :q! बाहेर.
  3. Operator + motion: dd, yy, p, ciw, u, .
  4. :%s/old/new/g, visual block, macros @a.

उजळणी, तुलना आणि मुलाखत cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

Vim modes. कोणत्याही server वर config edit. Normal, Insert, Visual, Command. i टाइप, Esc परत. Save करून बाहेर.
उजळणी card: Vim modes · PNG download करा · Card page उघडा
Vim editing. Mouse शिवाय जलद edits. dd delete, yy copy, p paste. u undo, /word search. पूर्ण file मध्ये replace.
उजळणी card: Vim editing · PNG download करा · Card page उघडा
Vim vs nano. Modal power editor. / सोपा editor.
तुलना: Vim vs nano · PNG download करा · Card page उघडा
:wq vs :q!. Save करून बाहेर. / Save न करता बाहेर.
तुलना: :wq vs :q! · PNG download करा · Card page उघडा
Vim मधून बाहेर कसं?. आधी Esc दाबा. :wq save, :q! बदल टाकतो. Save व quit shortcut.
मुलाखत card: Vim मधून बाहेर कसं? · PNG download करा · Card page उघडा
Vim swap file exists सांगतो?. मागचं edit crash किंवा open. Recover करा किंवा swap delete. File recover करा.
मुलाखत card: Vim swap file exists सांगतो? · PNG download करा · Card page उघडा
User म्हणून edit, root हवा?. बदल गमावू नका. sudo tee ने लिहा. पुढच्या वेळी sudoedit.
मुलाखत card: User म्हणून edit, root हवा? · PNG download करा · Card page उघडा
Server वर Vim की nano?. Vim जवळजवळ सर्व servers वर. nano सुरुवातीला सोपा. तरीही Vim basics शिका.
मुलाखत card: Server वर Vim की nano? · PNG download करा · Card page उघडा

अजून cards: Ravi Sir's Cards.