当前位置:Linux教程 - Linux文化 - linux下强大的编辑器工具vi使用技巧

linux下强大的编辑器工具vi使用技巧


  一、vi基本命令

1)光标命令

左h 上j 下k 右l

nG ——n为行数,该命令立即使光标跳到指定行;n为空,光标跳到文件最后一行。

Ctrl+G——光标所在位置的行数和列数报告

w,b——使光标向前或向后跳过一个单词

2)编辑命令

(n)dd 删除

(n)yy 复制

i 光标前插入

a 当前字母后插入

r 在当前光标处替换

cw 替换光标所在处的单词(从光标开始处)

dw 删除光标所在处的单词

x 删除(右)

X 删除(左)

u 撤销

. 重复上次操作

o 插入新行

J 合并两行

A 行尾

:.,3w /tmp/xx

:r /tmp/xx

3)查找命令

f 查找

/ 查找

4)复制粘贴命令

(n)yy 拷贝n行到剪切板

p 粘贴(后)

P 粘贴(当前)

二、vi选项设置

vi是一个强大的编辑器,它不仅可以用来处理我们平时的文本工作,还可以用来写程序文件。在用vi进行程序编辑时,它可以实现语法加亮显示、自动缩进、括号匹配等编辑功能。为控制不同的编辑功能,vi 提供了很多内部选项。

利用 :set 命令可以设置选项。基本语法为:

: set option 设置选项 option

常见的功能选项包括:

autoindent 设置该选项,则正文自动缩进

ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别

number 设置该选项,则显示正文行号

ruler 设置该选项,则在屏幕底部显示光标所在行、列的位置

tabstop 设置按 Tab 键跳过的空格数。例如:set tabstop=n,n默认值为8

1)语法加亮显示

: syntax on 该命令在vi中打开语法加亮显示的功能。这样以后在输入的字符中,vi就会自动的识别出关键字,字符串以及其他的一些语法元素,并以不同的颜色来显示出来。

2)自动缩进

在vi中自动缩进的选项一般有以下的几种:

autoindent: 在这种缩进形式中,新增加的行和前一行有相同的缩进形式。

smartindent: 在这种缩进模式中,每一行都和前一行有相同的缩进量,同时能够正确的识别出{和},当遇到右花括号(}),则取消了缩进形式。此外还增加了识别C语言关键字的功能。如果一行是以#开头的,那么这种格式将会被特殊对待而不采用缩进格式。这种缩进格式强于autoindent。

cindent:这是C语言的缩进形式,采用这样的缩进方式的程序语言有:C,C++,Java等。当采用这种缩进格式时,vi就会自动的采用标准的C语言形式。这种缩进格式强于smartindent。

可以用如下命令进行缩进形式的设置:

:set autoindent(ai)

:set smartindent(si)

:set cindent(ci)

3)显示行号

:set number(nu) 显示行号

: set nonumber (nonu) 不显示行号

在每个用户的目录下,都有一个vi的配置文件".vimrc"(没有的话可以自己创建)。用户可以编辑它,输入以上命令,使这些设置在每次vi时都有效。例如:在.vimrc文件中加入如下设置行:

set nu #显示行号

set nonu #不显示行号

set ic #查找时不考虑大小写

set noic #查找时考虑大小写

set smartindent #自动缩进

syntax on #语法加亮