linux VI命令

VIM安装:

Red Hat / CentOS / Fedora:

·           rpm -ivh vim-common-...rpm vim-minimal-...rpm vim-enhanced-...rpm vim-X11-...rpm

·           yum install vim-common vim-minimal vim-enhanced vim-X11

 

Ubuntu / Debian:

·           apt-get install vim vim-common vim-gnome vim-gui-common vim-runtime

 

从源代码编译VIM

·           Download vim source from http://vim.org

·           tar xzf vim-7.0.tar.gz

·           cd vim70

·           ./configure --prefix=/opt --enable-cscope

·           make

·           make install

 

基本“VI”特性

使用以下命令进入VI编辑模式:vi file-to-edit.txt

VI编辑器有三种模式,命令模式(command mode)、插入模式(insert mode)和命令行模式(command line mode):

1. 命令模式(command mode):字母或者语句中字符的交互VI命令。命令通常为大小写敏感。ESC键可以退出命令。

2. 插入模式(insert mode):文本被插入。ESC键中断插入模式并且返回至命令模式。可以通过键入”i”(插入),”a”(附加),”A”(在行末尾附加),”o”(在当前行后打开新行),”O”(???)命令进入插入模式。

3. 命令行模式(command line mode):通过输入号以将命令行入口放置在屏幕的底端以进入此模式。

 

交互命令的部分列表:

游标移动:

按键

操作

h/j/k/l

游标左移/下移/上移/右移

空格

游标右移一个空格位置

-/+

游标向下/向上移动到第一列

ctrl-d

向下滚动半页

ctrl-u

向上滚动半页

ctrl-f

向前滚动一页

ctrl-b

向后滚动一页

M (shift-h)

游标移动至页面中间

H

游标移动至页顶

L

游标移动至页底

w

5w

每次向前移动游标一个字

向前移动游标5个字

b
5b

每次向上移动游标一个字

向上移动游标5个字

e
5e

游标移动到字尾

游标向前移动到第五个字的末尾

0 (zero)

游标移动到行的开头

$

游标移动到行的末尾

)

游标移到下一个句子的开头

(

游标移到当前句子的开头

G

游标移动到当前文件的末尾

%

游标移动到匹配的字

将游标放置于{}()[]中并且输入%

'.

游标移动到上次修改的行

]'

游标移动到下一个小写标记

['

游标移动到前一个小写标记

Ctrl+G

5G

列出游标所在行的行号

移动游标至第5行行首

 

编辑命令:

 

按键

操作

i

在游标处插入

a

在游标处添加

A

在行尾添加

ESC

中断插入模式

u

撤销上次改变

U

撤销整行改变

o

打开新行

dd
3dd

删除一行

删除3行

D

删除当前行中游标后的内容

C

删除当前行中游标后的内容并且插入新的文本。键入ESC时中断插入。

dw
4dw

删除字

删除4个字

cw

cw3

更改游标所在处的字到字尾处

更改3个字

x

5x

X

5X

删除游标后的字符

删除游标后的5个字符

删除游标前的字符

删除游标前的5个字符

r

替换字符

R

替换字符直到按Esc为止

s

替换当前行的第一个字符

S

替换整行并且在行首进行插入

~

改变某个字符的大小写

/search_string{CR}

搜索给定的搜索字符串?

?search_string{CR}

向后搜索给定的搜索字符串

/\<search_string\>{CR}

搜索给定的字。当给定的字为字符串中的一部分时,将不被搜索到

n

查找下一个搜索字

N

查找上一个搜索字

.

重复上一次命令操作

yw

将光标所在处到字尾的字符复制到缓冲区中

p

将缓冲区内的字符粘贴到光标所在位置(指令‘yw与‘p必须搭配使用)

yy

5yy

复制光标所在行

复制从光标所在的该行往下数5行文字

p

复制单行到您想粘贴之处。(指令‘yy与‘p必须搭配使用)

ayy

将复制行放入buffer a

ap

将放在buffer a的数据粘贴

b3yy

将三行数据存入buffer b

b3p

将存在buffer b的数据粘帖

 

中断会话:

·           命令ZZ:保存改变并且退出;

·           命令行wq”:保存改变并且退出;

·           命令行w”:保存改变但是不退出;

·           命令行q!”:忽略改变并且退出。从上次修改后的任何改变将不会被保存;

·           命令行qa”:退出所有打开的文件。

 

 

posted on 2012-12-06 00:05  mrluoxj  阅读(127)  评论(0)    收藏  举报

导航