vi

  以下是自己比较经常使用的vi命令~ 

 

i 是光标处编辑模式,I 是光标行首插入

a 是光标后边追加,A是行尾插入

o 是下一行编辑模式,O 是上一行编辑模式

--------------------------------------------------

 

快速移动:

上下左右   hjkl

行里快速左移,移到左边单词首字母:b    (begin

行里快速右移,移到右边单词尾字母:e     (end

 

翻到下一页  ctrl+f  (front)    翻到上一页 ctrl+b  (back)

直接跳到某一行   底行模式   :12    (跳到12行)     (vi显示行号  底行模式 :set nu)

跳到文件第一行 gg

跳到文件最后一行  G

-----------------------------------------------------

 

删除一个字符  x     多个删除就是2x    3x      nx

删除一个单词  dw   多个单词删除就是2dw    3dw     ndw

删除一行    dd   多行就是  2dd   3dd       ndd

删除该行光标后   d$       删到行首d^

删除光标下所有行   dG   例如删除文件所有内容,可以gg + dG

 

拷贝一个单词  yw    多个单词就是  nyw

拷贝一行里光标到行首  y^     行尾 y$

拷贝一行  yy    多行  nyy

 

 v ,取块,然后hjkl移动光标  选中文字  y进行复制

粘贴  p

 

vi列编辑:

光标定位在想要编辑的列位置,ctrl+v,进入可视块操作。移动光标,选择操作多少行。然后 shift+i 进入头插入(或者shift+o进入尾插入)模式(此时会在某一行处显示编辑),编辑后,按下ESC。

稍后,这几个选中的行的列出现了插入的字符。

如果需要列编辑替换,同样ctrl+v,选中哪些行,然后底行模式,:/s/xx/yy,回车即替换

如果需要列编辑删除,同样ctrl+v,选中哪些行,然后按x或者d,则删除

 

 

查看vi剪切板的内容

:reg

会有"0 或者 "2  这些双引号后边带一个数字的,粘贴的时候就是把对应的数字敲上  "2p

-----------------------------------------------

 

保存    :w

退出    :q

 强制退出  :q!

行号  :set nu

取消行号  :set nonu

语法高亮  :syntax on

---------------------------------------------------

 

查找某个单词  如hello

/hello      字母n是下一个  N上一个 

--------------------------------------------------

 

替换某一行的某个单词 hello-->hi   

:s/hello/hi     光标所在行 第一个出现的hello替换成hi    该行全部替换需要加g(global)参数

:n1,n2s/hello/hi/g     n1-n2 行替换      g是全部,否则只替换每行出现的第一个

:1,$s/hello/hi/g  整个文件 

 ---------------------------------------------------

 

撤销上一次操作   u

取消撤销  ctrl+r

---------------------------------------------------

 

分屏查看:

vi多个文件在一个屏幕, vi -O file1 file2      (o是截横屏,O竖屏)

底行模式   :vsp      v是vertical  sp是split       (vsp垂直分隔;sp是水平分隔)    :sp filename   没有文件名就是自身文件分屏,否则就是和filename分屏

分屏时切换各个文件   ctrl+w  然后接着  hjkl    (水平分割就是h,l切换   垂直分割就对应j,k切换)

退出所有     :qall

----------------------------------------------------

 

vim的常见问题:  更改 vi ~/.vimrc文件

1. cat一个文件时汉字不是乱码,vi进去后是乱码?

解决办法:

set encoding=utf8

2. vi进去,鼠标拖动文字,不能拷贝?

set mouse=v

3. vi保存后,会自动产生备份文件

set nobackup

posted @ 2015-08-10 10:55  根号五  阅读(319)  评论(0编辑  收藏  举报