Difference between revisions of "Vi editor"

From Teknologisk videncenter
Jump to: navigation, search
m (Inserting control characters in documents)
m
Line 58: Line 58:
 
set fileencoding=utf-8
 
set fileencoding=utf-8
 
set fileencodings=utf-8
 
set fileencodings=utf-8
 +
</source>
 +
==Sane C programming .vimrc==
 +
<source lang=text>
 +
syntax on
 +
set showmode
 +
set tabstop=4
 +
set number
 +
set autoindent
 +
set smartindent
 +
if has("autocmd")
 +
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
 +
endif
 
</source>
 
</source>
 
{{Source cli}}
 
{{Source cli}}
 
[[Category:Operating Systems]][[Category:UNIX]][[Category:Linux]][[Category:Linux Command]]
 
[[Category:Operating Systems]][[Category:UNIX]][[Category:Linux]][[Category:Linux Command]]

Revision as of 09:02, 30 November 2020

Search and replace

Replace all oldtext to newtext starting at line 1 to last line ($). s means search and g globally - not just once.

:1,$s/oldtext/newtext/g

FAQ

Syntax highlighting

To use syntax highlighting temporarily use the command :syntax on. To switch it off again use :syntax off.

To use syntax highlighting permanently use

[root@mars ~]# <input>echo "syntax on" >> $HOME/.vimrc</input>

Line numbers in vi

To use line numbers temporarily use the command :set number. To switch it off again use :set nonumber.

To use line number permanently use

[root@mars ~]# <input>echo "set number" >> $HOME/.vimrc</input>

Which editor mode are I'm in

Use showmode option. Shown below

[root@mars ~]# <input>echo "set showmode" >> $HOME/.vimrc</input>

Now you can see which mode you are in by looking at the bottom line

  1. In insert mode it will write -- INSERT --
  2. In replace mode it will write -- REPLACE --
  3. In line command mode it will write a colon (:) in the lower left cornor of the screen.
  4. In command mode - empty or everything else

VIM and FreeBSD malfunctioning arrow keys in insert mode

Set vim to work in nocompatible mode. Not as old vi.

[root@mars ~]# <input>echo "set nocompatible" >> $HOME/.vimrc</input>

Inserting control characters in documents

Using the <CTRL>-v and A inserts SOH (001) See ASC-II. <CTRL>-v and <ESC> inserts <ESC>. Remember capital letters.

To see non-visible characters use set list turn of again with set nolist

Forcing UTF8 in vim

Add the following lines to your $HOME/.vimrc

Note
Remember to set your terminal to UTF-8
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8

or

set nocompatible
syntax off
set showmode
set tabstop=4
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8

Sane C programming .vimrc

syntax on
set showmode
set tabstop=4
set number
set autoindent
set smartindent
if has("autocmd")
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
endif