您的位置:首页 > 运维架构 > Linux

linux-c-vi编辑器

2015-10-25 23:13 495 查看

linux下Vi编辑器

1. 简介

vi编辑器

2. 三种工作方式

命令行模式

文本输入模式

末行模式

3. vi一般操作

3.1 文件基本操作

打开文件:

vi test.c

打开文件并跳到指定行:

vi +行号 文件名

vi +5 test.c

打开文件并跳转到模式匹配后的第一行:

vi +/模式字符串 文件名

vi +/main test.c

取消高亮显示:

:set nohlsearch

打开多个文件

vi *.c

打开多个文件并模式匹配到第一行

vi +/main .c .h

3.2 文本插入操作

插入文本命令

i 命令将文本插入到光标所在位置前.

I 命令将文本插入到当前行的行首.

追加文本命令

a 命令将文本追加到光标当前所在位置之后.

A 命令將文本追加到所在行的行尾.

空行插入命令

o 命令将光标所在行的下面插入一个空行.

O 命令将光标所在行的上面插入一个空行.

3.3 文本删除操作

文本删除命令命令的意义
x删除光标处的字符
X删除光标处前面的字符
dd删除光标处所在的整行
D或d$删除从光标所在处开始到行尾的内容
d0删除从光标前一个字符开始到行首的内容
dw删除一个单词
d(删除到上一句开始的所有字符
d)删除到下一句开始的所有字符
d{删除到上一段开始的所有字符
d}删除到下一段开始的所有字符
d < CR >删除包括当前行在内的两行字符
注:< C R > 回车

3.4 文本复制操作

文本复制命令命令的意义
yy复制光标所在的整行
Y或y$复制从光标所在处开始到行尾的内容
y0复制从光标前一个字符开始到行首的内容
y(复制到上一句的开始
y)复制到下一句的开始
y{复制到上一段的开始
y}复制到下一段的开始
y< CR >复制到当前行在内的两行的内容
yw复制一个单词
p命令:粘贴命令,粘贴当前缓冲区的内容.

v命令:在命令行模式下进行文本选择.

V命令:在命令模式下按行进行文本选择.

3.5 撤销命令

u命令:该命令撤销上一次所做的操作.

U命令:该命令会一次性撤销自上次移动到当前行以来做过的所有操作,再使用一次U命令则撤销之前的U命令所做的操作,回复被撤销的内容.

3.6 重复命令

命令行模式下 “.” 键即可.

3.7 退出vi

q命令:退出,不过如果修改后,不会退出.

q!命令:强制退出, 不管做没做修改都退出.

w命令:保存文件命令.

w 新文件名 : 将当前文件保存到 ‘新文件名’ 的文件.

w! 文件名 : 将当前文件保存到 ‘新文件名’ 的文件,不管有没有 ‘新文件名’ 文件.

wq命令: 保存并退出.

x命令:如果文件修改过保存文件, 否则直接退出.

4. vi的增强操作

4.1 替换命令

r命令:将当前光标所指的字符替换尾提供的字符.

R命令:进入replace模式.在此模式下,每个输入的字符都会替换当前光标下的字符,直到输入< Esc >结束该模式.

4.2 光标移动

光标移动命令命令的意义
h光标左移一个字符
j光标下移一行
k光标上移一行
l光标右移一个字符
H将光标移动到当前屏幕的第一行
M将光标移至屏幕显示文件的中间行的行首
L将光标移至屏幕显示文件的最底行的行首
GnumG移动的文件的num行

4.3 按字移动光标

w和W命令:将光标右移至下一个字的字首.区别:w为英文单词-标点符号-和非字母字符, W 两个空格之间的任意内容.

e和E命令:如果光标起始位置处于字内,则e和E命令将把光标移动到本字字尾,则e和E命令将把光标移动到下一个字的字尾.区别:同上.

如果光标处于字内,则移动到字首,如果处于字首,则移动到上一个字的字首.区别:同上.

4.4 按句移动光标

( 命令:该命令将光标移动到上一个句子的开头.

) 命令:该命令将光标移动到下一个句子的开头.

4.5 按段移动光标

{ 命令:该命令将光标向前移至上一个段的开头.

} 命令:该命令将光标向后移至下一个段的开头.

4.6 文本行的移动

‘>’ 命令:>num将指定的正文行向右移动num个空格.

‘<’ 命令:将指定的正文向左移动.

“>>” 命令:右移8个空格.

“<<” 命令:左移8个空格.

4.7 文本的异行移动

m命令:5m2 第5行移动到第2行.

4.8 屏幕移动

滚屏和分页命令命令的意义
ctrl+u向前滚动半屏
ctrl+d向后滚动半屏
ctrl+f向文件尾滚动一屏
ctrl+b向文件首滚动一屏

4.9 查找命令

/命令: /string–>从光标处开始向后寻找字符串string.

?命令: ?string–>从光标处开始向前寻找字符串string.

n命令: 重复上一条检索命令.

g/命令: g/string–>使光标停止在第一个检索到的string串的行首.

4.10 替换命令

[range]s/s1/s2/ [option]

option

g/ 表示在全局文件中进行替换.

/c 表示在每次替换之前需要用户进行确认.

例子

“1,10” 表示从第一行到第十行.

“%” 表示整个文件,同”1,”.“.,”从当前行到文件尾.

\< word 替换以word开始的单词的word部分

%s/\< int/abc/cde 表示将以abc开头的单词替换以cde开头.

%s/\< buf/stat_buf/g 更改stat结构的变量名,将整个文件中的buf替换为stat_buf.

4.11 窗口的切分

切换命令命令的意义
ctrl+w,然后j移动光标到下面的一个窗口
ctrl+w,然后k移动光标到上面的一个窗口
ctrl+w,然后q关闭当前窗口
ctrl+w,然后q移动光标到另一个窗口

5 设置环境

行号设置命令 :set nu {nonu}

显示行号 :set hlsearch {nohlsearch}

语法缩进命令 :set autoindent

文件存储命令 :set backup {nobackup}

显示选项命令 :set all

语法高亮命令 :syntax on {off}

大小写区分命令 :set ignorecase {noignorecase}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vi linux-c