kodar-lan - text and editors vi/vim

12
Texteditor Demo - VI/VIM (Tim Gremalm) Addicted To vi (http://www.gnu.org/fun/jokes/vi.song.html) 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. Tim Gremalm Developer at Conmel Data AB Programming, Web, Databases, Windows/Linux, Servers, Network, TCP/IP, Robotics, Electronics [email protected] http://tim.gremalm.se

Upload: tim-gremalm

Post on 18-Jul-2015

202 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Kodar-lan - Text and editors Vi/Vim

Texteditor Demo - VI/VIM (Tim Gremalm)

Addicted To vi (http://www.gnu.org/fun/jokes/vi.song.html)

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.

Tim GremalmDeveloper at Conmel Data AB

Programming, Web, Databases, Windows/Linux, Servers, Network, TCP/IP, Robotics, Electronics

[email protected]://tim.gremalm.se

Page 2: Kodar-lan - Text and editors Vi/Vim

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

Page 3: Kodar-lan - Text and editors Vi/Vim

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)

Page 4: Kodar-lan - Text and editors Vi/Vim

Texteditor Demo - VI/VIM (Tim Gremalm)

Page 5: Kodar-lan - Text and editors Vi/Vim

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

Page 6: Kodar-lan - Text and editors Vi/Vim

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

Page 7: Kodar-lan - Text and editors Vi/Vim

Texteditor Demo - VI/VIM (Tim Gremalm)

How to work with Vimmodes and escape

Page 8: Kodar-lan - Text and editors Vi/Vim

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

Page 9: Kodar-lan - Text and editors Vi/Vim

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

Page 10: Kodar-lan - Text and editors Vi/Vim

Texteditor Demo - VI/VIM (Tim Gremalm)

Vim features

● Tabs

● Split pane

● Python-support

● Plugins (.vim)

Page 11: Kodar-lan - Text and editors Vi/Vim

Texteditor Demo - VI/VIM (Tim Gremalm)

Plugins for Vim

● Vundle

● Powerline

● Autocomplete

● Ctrl+P

● NERDTree

Page 12: Kodar-lan - Text and editors Vi/Vim

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