热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

当前位置 :| 主页>Linux教程>软件应用>

vi编辑器命令大全-1

来源: 作者: 时间:2008-08-27 Tag: 点击:
1)文件操作

vi FileName 打开文件 FileName,并将光标置于第一行首。

vi +n FileName 打开文件 FileName,并将光标置于第 n 行首。

vi + FileName 打开文件 FileName,并将光标置于最后一行。

vi + /pattern File 打开文件 File,并将光标置于其中第一个于 pattern 匹配的字符串处。

vi –r FileName 在上次正用 vi 编辑 FileName 发生系统崩溃后,恢复FileName。

vi File1 … Filen 打开多个文件,依次对之进行编辑。

:%!xxd 按十六进制查看当前文件

:%!xxd -r 从十六进制返回正常模式

:n1,n2 co n3 将 n1 行到 n2 行之间的内容拷贝到第 n3 行下。

:n1,n2 m m3 将 n1 行到 n2 行之间的内容移至第 n3 行下。

:n1,n2 d 将 n1 行到 n2 行之间的内容删除。

:n1,n2 w filename 将 n1 行到 n2 行之间的内容保存到文件 filename 中

:n1,n2 w! Command 将文件中n1行到n2行的内容作为 Command的输入并执行之,

若不指定 n1、n2,则将整个文件内容作为 Command 的输入。

:r! Command 将命令 Command 的输出结果放到当前行。

:nr <文件> 把<文件>插入到第n行

:so <文件> 读取<文件>,再执行文件里面的命令(文件中的命令应该都是一些ex命令)

:l1,l2w <文件> 把第l1和第l2行之间的文本写到<文件>中去

:w >> <文件> 添加到<文件>末尾. 也可以使用行号

:e! 重新编辑当前文件,忽略所有的修改

·(、[、、]、)对应显示

% 显示当前(、[、{ 、}、] 、)的对应项

) :光标移至句尾

( :光标移至句首

}:光标移至段落开头

{:光标移至段落结尾

·(、[、、]、)内数据选择

daB 删除{}及其内的内容 (在非v可视模式下)

diB 删除{}中的内容

ab 选择()中的内容

ib 选择()中的内容( 不含() )

aB 选择{}中的内容

iB 选择{}中的内容( 不含{} )

·语法提示与自动补齐

★ <C-N><C-P> 插入模式下的单词自动完成

★ <C-X><C-L> 行自动完成(超级有用)

·设置ctags

#ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src /usr/src/kernels/2.6.9-5.EL-i686

^p 自动补齐上下文已有相近项

^n 自动补齐~/.tags中的相近函数

^[ 显示~/.tags中的光标下的函数的原型,

按^t退出函数

:pta 函数名 预览窗口快速打开相应函数所在文件,并将光标定位在对应函数的开头

K 显示光标下的C函数的man说明手册

·变量定位

gd 转到光标下局部变量的定义处

Gd 转到光标下全局变量的定义处

·编译选项

:cn 命令会把你带到下一个出错地点,而不考虑它在什么文件里。

:cc 命令会向你显示当前错误的编译器输出信息;

:cl 会生成一个列有项目所有错误的列表,以供浏览这些错误

3]光标移动

·字符

h 光标左移一个字符。

l 光标右移一个字符。

·字

w 或 W 光标右移一个字至字首。

B 或 b 光标左移一个字至字首。

E 或 e 光标右移一个字至字尾。

·句} 光标移至句尾。

( 光标移至句首。

·段) 光标移至段落开头。

{ 光标移至段落结尾。

·行k 或 Ctrl+p 光标上移一行。

j 或 Ctrl+n 光标下移一行。

Enter 光标下移一行。

nG 光标移至第 n 行首。

n+ 光标下移 n 行。

n- 光标上移 n 行。

n$ 光标移至第 n 行尾。

0 光标移至当前行首。

$ 光标移至当前行尾。

·屏幕

H 光标移至屏幕顶行。

M 光标移至屏幕中间行。

L 光标移至屏幕最后行。

Ctrl+u 向文件首翻半屏。

Ctrl+d 向文件尾翻半屏。

Ctrl+f 向文件尾翻一屏。

Ctrl+b 向文件首翻一屏。

nz 将第 n 行滚至屏幕顶部。不指定 n 时将当前行滚至屏幕顶。

4}插入

# 在文件中插入行号(不是显示行号,是插入!)

★:g/^/exec "s/^/".strpart(line(".")." ", 0, 4)

·光标

i 在光标前插入。

a 在光标后插入。

·行

I 在当前行首插入。

A 在当前行尾插入。

o 在当前行之下一新行插入。

O 在当前行之上新开一行插入。

5)替换

r 替换当前字符。

R 替换当前字符及其后的字符,直至按 ESC 键。

s 从当前光标位置处开始,以输入的文本代替指定数目的字符。

S 删除指定数目的行,并以所输入的文本代替。

6)修改

ncw 或 nCW 修改指定数目的字符。

nCC 修改指定数目的行。

:r filename 将文件 filename 插入在当前行之下

7)查找替换

/<C-R><C-W> 把狭义单词 <cword> 写到 搜索命令行

/<C-R><C-A> 把广义单词 <cWORD> 写到 搜索命令行

:g/str/s/str1/str2/g

第一个g表示对每一个包括s1的行都进行替换,

第二个g表示对每一行的所有进行替换

包括str的行所有的str1都用str2替换

:%s/f $/for$/g 将每一行尾部的“f ”(f键和空格键)替换为for

:%s/^/mv /g 在每一行的头部添加“mv ”(mv键和空格键)

:s/fred/<c-r>a/g 替换fred成register a中的内容,呵呵

:g/<input|<form/p 显示含<input或<form的行
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册