SlideShare a Scribd company logo
1 of 12
Download to read offline
You press the keys with no effect,
Your mode is not correct.
The screen blurs, your fingers shake;
You forgot to press escape.
Can't insert, can't delete,
Cursor keys won't repeat.
You try to quit, but can't leave,
An extra "bang" is all you need.

♫

Addicted To vi (http://www.gnu.org/fun/jokes/vi.song.html)
Tim Gremalm
Developer at Conmel Data AB
Programming, Web, Databases, Windows/Linux, Servers,
Network, TCP/IP, Robotics, Electronics

tim@gremalm.se
http://tim.gremalm.se

Texteditor Demo - VI/VIM (Tim Gremalm)
vi - an old editor (37 years)
●

First written by Bill Joy (1976) at Berkeley University

●

Is defined in POSIX (Portable Operating System Interface)
and i Single Unix Specification

●

A visual mode for the editor ex

●

Terminal-based

Texteditor Demo - VI/VIM (Tim Gremalm)
vim - Vi IMproved
●

Written by Bram Moolenaar (1991) at Atari - Amiga

●

A extended version of vi, with more features

●

Still terminal-based

●

gVim (GUI)

Texteditor Demo - VI/VIM (Tim Gremalm)
Texteditor Demo - VI/VIM (Tim Gremalm)
Why you should know Vim
●

A whole world of UNIX-culture

●

more/less

●

Regular expressions

●

Cross platform - it even exists in Computercraft (Minecraft)

●

Quick and Responsive - To start, and to work with

●

Efficient

Texteditor Demo - VI/VIM (Tim Gremalm)
How to work with Vim
●

You start out in normal mode, all keys is mapped to different commands

●

Navigation h/j/k/l or ←/↓/↑/→

●

Jump between Characters, Words, Sentence, Paragraphs and Lines

●

Go to line X

●

To start edit, you will have to switch mode

Texteditor Demo - VI/VIM (Tim Gremalm)
How to work with Vim
modes and escape

Texteditor Demo - VI/VIM (Tim Gremalm)
How to work with Vim
●

You build sentences of how you want to edit
<number><command><text object or motion>

●
●
●

y - “yank” copy
d - delete
p - “put” paste

●
●
●
●
●

y3j - yank 3 down
d3w - delete 3 words
yap - yank a paragraph
cw - change word, followed by insert
cia - change inner argument

●

. - Repat last change

●

Edit beyond individual characters. Instead, edit by word, sentence, line,
and paragraph

Texteditor Demo - VI/VIM (Tim Gremalm)
Commands in Vim
●

:%s/foo/bar/g - Substitute “foo” for “bar” globally

●

:set paste - Enable paste-mode

●
●

:w newfilename - Save as new filename
:r filetoimport - Imports file after cursor

●
●
●

:set enc=utf-8 - Character-encoding
:set ff=dos - Newline mode
:setf c - Syntax language

●
●
●
●

:set tabstop=4 - Length of a tab
:set shiftwidth=4 - Indentation tab width
:set expandtab - Convert tabs into spaces
:retab - Convert all tabs to set indentation-parameters

●

@: - Repeat last command

Texteditor Demo - VI/VIM (Tim Gremalm)
Vim features
●

Tabs

●

Split pane

●

Python-support

●

Plugins (.vim)

Texteditor Demo - VI/VIM (Tim Gremalm)
Plugins for Vim
●

Vundle

●

Powerline

●

Autocomplete

●

Ctrl+P

●

NERDTree

Texteditor Demo - VI/VIM (Tim Gremalm)
Links
●

http://vim-adventures.com/ - A small Vim-game (get started)

●

http://www.vim.org/ - Vim’s mainsite

●

http://blog.carbonfive.com/2011/10/17/vim-text-objects-the-definitive-guide/ - Edit efficently

●

http://vimbits.com/ - Vim tips

●

https://news.ycombinator.com/ - News about programming, alot of vim-stuff appears here

Texteditor Demo - VI/VIM (Tim Gremalm)

More Related Content

Similar to Kodar-lan - Text and editors Vi/Vim

Similar to Kodar-lan - Text and editors Vi/Vim (20)

Kick my mouse away
Kick my mouse awayKick my mouse away
Kick my mouse away
 
Vim and Python
Vim and PythonVim and Python
Vim and Python
 
Tuffarsi in vim
Tuffarsi in vimTuffarsi in vim
Tuffarsi in vim
 
Useful Vim Plugins
Useful Vim PluginsUseful Vim Plugins
Useful Vim Plugins
 
Vim Vi Improved
Vim Vi ImprovedVim Vi Improved
Vim Vi Improved
 
Vim
VimVim
Vim
 
Tmux quick intro
Tmux quick introTmux quick intro
Tmux quick intro
 
Basics
BasicsBasics
Basics
 
Editing Tricks in Vim editor: The Power of dyp
Editing Tricks in Vim editor: The Power of dypEditing Tricks in Vim editor: The Power of dyp
Editing Tricks in Vim editor: The Power of dyp
 
Intro to the command line
Intro to the command lineIntro to the command line
Intro to the command line
 
How to use git from vim @vim conf2013
How to use git from vim @vim conf2013How to use git from vim @vim conf2013
How to use git from vim @vim conf2013
 
How to write patches for Vim
How to write patches for VimHow to write patches for Vim
How to write patches for Vim
 
What is Vim?
What is Vim?What is Vim?
What is Vim?
 
Vi editor
Vi editorVi editor
Vi editor
 
Small Screen Development
Small Screen DevelopmentSmall Screen Development
Small Screen Development
 
Introduction to Vim 8.0
Introduction to Vim 8.0Introduction to Vim 8.0
Introduction to Vim 8.0
 
Introduction to Vim
Introduction to VimIntroduction to Vim
Introduction to Vim
 
Vim week
Vim weekVim week
Vim week
 
Vim Book
Vim BookVim Book
Vim Book
 
Feel++ webinar 9 27 2012
Feel++ webinar 9 27 2012Feel++ webinar 9 27 2012
Feel++ webinar 9 27 2012
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

Kodar-lan - Text and editors Vi/Vim

  • 1. You press the keys with no effect, Your mode is not correct. The screen blurs, your fingers shake; You forgot to press escape. Can't insert, can't delete, Cursor keys won't repeat. You try to quit, but can't leave, An extra "bang" is all you need. ♫ Addicted To vi (http://www.gnu.org/fun/jokes/vi.song.html) Tim Gremalm Developer at Conmel Data AB Programming, Web, Databases, Windows/Linux, Servers, Network, TCP/IP, Robotics, Electronics tim@gremalm.se http://tim.gremalm.se Texteditor Demo - VI/VIM (Tim Gremalm)
  • 2. vi - an old editor (37 years) ● First written by Bill Joy (1976) at Berkeley University ● Is defined in POSIX (Portable Operating System Interface) and i Single Unix Specification ● A visual mode for the editor ex ● Terminal-based Texteditor Demo - VI/VIM (Tim Gremalm)
  • 3. vim - Vi IMproved ● Written by Bram Moolenaar (1991) at Atari - Amiga ● A extended version of vi, with more features ● Still terminal-based ● gVim (GUI) Texteditor Demo - VI/VIM (Tim Gremalm)
  • 4. Texteditor Demo - VI/VIM (Tim Gremalm)
  • 5. Why you should know Vim ● A whole world of UNIX-culture ● more/less ● Regular expressions ● Cross platform - it even exists in Computercraft (Minecraft) ● Quick and Responsive - To start, and to work with ● Efficient Texteditor Demo - VI/VIM (Tim Gremalm)
  • 6. How to work with Vim ● You start out in normal mode, all keys is mapped to different commands ● Navigation h/j/k/l or ←/↓/↑/→ ● Jump between Characters, Words, Sentence, Paragraphs and Lines ● Go to line X ● To start edit, you will have to switch mode Texteditor Demo - VI/VIM (Tim Gremalm)
  • 7. How to work with Vim modes and escape Texteditor Demo - VI/VIM (Tim Gremalm)
  • 8. How to work with Vim ● You build sentences of how you want to edit <number><command><text object or motion> ● ● ● y - “yank” copy d - delete p - “put” paste ● ● ● ● ● y3j - yank 3 down d3w - delete 3 words yap - yank a paragraph cw - change word, followed by insert cia - change inner argument ● . - Repat last change ● Edit beyond individual characters. Instead, edit by word, sentence, line, and paragraph Texteditor Demo - VI/VIM (Tim Gremalm)
  • 9. Commands in Vim ● :%s/foo/bar/g - Substitute “foo” for “bar” globally ● :set paste - Enable paste-mode ● ● :w newfilename - Save as new filename :r filetoimport - Imports file after cursor ● ● ● :set enc=utf-8 - Character-encoding :set ff=dos - Newline mode :setf c - Syntax language ● ● ● ● :set tabstop=4 - Length of a tab :set shiftwidth=4 - Indentation tab width :set expandtab - Convert tabs into spaces :retab - Convert all tabs to set indentation-parameters ● @: - Repeat last command Texteditor Demo - VI/VIM (Tim Gremalm)
  • 10. Vim features ● Tabs ● Split pane ● Python-support ● Plugins (.vim) Texteditor Demo - VI/VIM (Tim Gremalm)
  • 12. Links ● http://vim-adventures.com/ - A small Vim-game (get started) ● http://www.vim.org/ - Vim’s mainsite ● http://blog.carbonfive.com/2011/10/17/vim-text-objects-the-definitive-guide/ - Edit efficently ● http://vimbits.com/ - Vim tips ● https://news.ycombinator.com/ - News about programming, alot of vim-stuff appears here Texteditor Demo - VI/VIM (Tim Gremalm)