vi命令列表

合集下载

vi操作命令大全完整版

vi操作命令大全完整版

v i操作命令大全HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】一vi的操作模式vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。

在输入模式下,用户可输入文本资料。

在指令模式下,可进行删除、修改等各种编辑动作。

在输入模式下,按Esc键切换到指令模式下。

在指令模式下,按输入指令(i、a、o等)进入输入模式。

二进入vi$ vi filename直接键入“vi + 所要编辑的文件名”,即可对指定的文件进行编辑。

如果指定的文件为新文件,则提示:“New file”,否则显示该文件的当前内容。

$ view filename以只读方式打开文件filename三指令模式3.1进入输入模式a 在当前游标之后输入A 在当前行之末输入i 在当前游标之前输入I 在当前行之首输入o 在当前行之下新增一行,并在新增行输入O 在当前行之上新增一行,并在新增行输入输入结束后,按Esc键退出输入模式。

3.2游标移动h 向左移动一个字元 l 向右移动一个字元 j 向下移动一个字元 k 向上移动一个字元 b 左移一个单词,至词首 w 右移一个单词,至词尾 0 移到当前行行首 $ 移到当前行行尾 + 移至下一行的行首 - 移至上一行的行首 H 移至视窗的第一行 M 移至视窗的中间一行 L 移至视窗的最后一行 G 移至该文件的最后一行 nG 移至该文档的第n行 n+ 下移n行 n- 上移n 行3.3视窗移动*<Ctrl> + f 视窗下卷一页 *<Ctrl> + b 视窗上卷一页 <Ctrl> + d 视窗下卷半页<Ctrl> + u 视窗上卷半页 * <Ctrl> + e 视窗下卷一行 * <Ctrl> + y 视窗上卷一行3.4删除操作x 删除游标所在字元 X 删除游标前一字元 dw 从游标当前位置开始向后删除一个单词 db 从游标当前位置开始向前删除一个单词 d0 从行首删除至当前游标位置 d$ 从游标当前位置删除至行尾 dd 删除游标所在行 D 同d$3.5修改操作s 修改游标所在字元,修改完成后按Esc键结束 S 修改整行内容,修改完成后按Esc键结束 r 替换当前游标所在字元 R 进入替换状态,直至按Esc键结束 cw 修改一个单词(从游标位置至词尾) cb 修改一个单词(从词首至游标位置) cc 修改整行内容,完成后按Esc 键结束,同S c0 修改行首至游标位置的内容 c$ 修改游标位置至行尾的内容 ~ 游标所在字元大小写切换3.6指令重复在指令模式中,可在指令前面加入一个数字n,则该指令会重复执行n次。

vi的常用命令

vi的常用命令

vi的常用命令
vi是Linux系统中一种常用的文本编辑器,它可以通过命令行界面进行操作。

对于初学者来说,掌握一些vi的常用命令是必不可少的。

下面是一些常见的vi命令:
1.打开文件:vi filename
2.保存文件:先按Esc键退出编辑模式,然后输入:wq
3.放弃修改:先按Esc键退出编辑模式,然后输入:q!
4.光标移动:
h:左移一个字符
j:下移一行
k:上移一行
l:右移一个字符
5.删除字符:
x:删除光标所在的字符
dd:删除光标所在的一整行
6.撤销上一步操作:u
7.查找字符:
/char:查找字符char(向下查找)
:查找字符char(向上查找)
n:继续查找下一个匹配项
N:继续查找上一个匹配项
8.替换字符:
:r filename:将filename文件的内容插入到当前光标所在位置 :s/old/new/g:将当前行的old替换为new
:%s/old/new/g:将整个文件中的old替换为new
以上是一些vi的常用命令,掌握了这些命令后,你可以更加方便地使用vi编辑器进行文本编辑。

vi命令大全

vi命令大全

vi命令大全进入vivi filename 打开或新建文件,并将光标置于第一行首vi +n filename 打开文件,并将光标置于第n行首vi + filename 打开文件,并将光标置于最后一行首vi +/pattern filename 打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename 在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename ……filename 打开多个文件,一次进行编辑保存退出w 保存当前文件w /tmp1 另存为/tmp120,59w /tmp1 仅将20-59行之间的内存另存为/tmp1x或wq 保存退出q 退出viq!退出不保存!command 执行shell命令commandn1,n2 w!command 将文件中n1行至n2行的内容最为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入r!command 将命令command的输出结果放到当前行w!sudo tee % 保存没权限时,可获得权限再保存光标移动h 光标左移一个字符l 光标右移一个字符space 光标右移一个字符backspace 光标左移一个字符k 或Ctrl+p 光标上移一行j 或Ctrl+n 光标下移一行Enter 光标下移一行w 或W 光标右移一个字至字首b 或B 光标左移一个字至字首e 或E 光标右移一个字至字尾)光标移至句尾(光标移至句首} 光标移至段落开头{ 光标移至段落结尾nG 光标移至第n行首n+ 光标下移n行n- 光标上移n行n$ 光标移至第n行尾H 光标移至屏幕顶行M 光标移至屏幕中间行L 光标移至屏幕最后行0 光标移至当前行首$ 光标移至当前行尾屏幕翻滚Ctrl+u 向文件首翻半屏Ctrl+d 向文件尾翻半屏Ctrl+f 向文件尾翻一屏Ctrl+b 向文件首翻一屏nz 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部插入i 在光标前I 在光标行首a 光标后A 在当前行尾o 在当前行之下新开一行O 在当前行之上新开一行r 替换当前字符R 替换当前字符及其后的字符,直至按ESC键s 从当前光标位置处开始,以输入的文本替代指定书目的字符S 删除指定数目的行,并以所输入文本替代之ncw nCW 修改指定数目的字nCC 修改指定数目的行删除ndw 或者ndW 删除光标处开始及其后的n-1个字do 删至行首d$ 删至行尾ndd 删除当前行及其后n-1行x或X 删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u 删除输入方式下所输入的文本n1,n2 d 将n1行到n2行之间的内容删除%d 删除全部内容1,$d 删除全部内容复制粘贴、剪切、移动yy 复制当前行nyy复制当前行开始的n行先按v然后方向键选择区域,按y复制选中行dd 剪切当前行p(小写)在当前光标处下面粘贴内容P(大写)在当前光标处上面粘贴内容n1,n2 co n3 将n1行到n2行之间的内容拷贝到第n3行下n1,n2 m n3 将n1行到n2行之间的内容移至到第n3行下搜索/abc 从光标开始处向文件尾搜索abc?abc 从光标开始处向文件首搜索abc/\/abc 从光标开始处向文件尾搜索/abc,其中/是转义n 在同一方向重复上一次搜索命令N在反方向上重复上一次走命令替换s/Vivian/sky/ 替换当前行第一个vivian为skys/Vivian/sky/g 替换当前行所有vivian为skyn,$s/vivian/sky 替换第n行开始到最后一行中每一行的第一个vivian为skyn,$s/vivian/sky/g 替换第n行开始到最后一行中每一行所有vivian为sky%s/vivian/sky/g (等同于g/vivian/s//sky/)替换每一行的每一个vivian 为skys#vivian/#sky/# 替换当前行第一个vivian/ 为sky/(可以使用#或+作为分隔符,此时中间出现的/ 不会作为分隔符)s/p1/p2/g 将当前行中所有p1均用p2替代n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代g/p1/s/ /p2/g 将文件中所有的p1均用p2替换选项设置set number 显示行号set number! 不显示行号,其它选项同理加!号set all 列出所有选项设置情况set term 设置终端类型set ignorance 在搜索中忽略大小写set list 显示制表位(Ctrl+I)和行尾标志($)set report 显示又面向行的命令修改过的数目set terse 显示简短的警告信息set warn 在转到别的文件时若没保存当前文件则显示NO write信息set nomagic 允许在搜索模式中,使用前面不带“”的特殊字符set nowrapscan 禁止vi在搜索到达文件两端时,又从另一端开始set mesg 允许vi显示其他用户用write写到自己终端上的信息。

VI命令大全

VI命令大全

/根目录下的文件夹输入”/”,回车里面有很多文件夹,如:etc,home,lib,mnt等等etc:存放用户名和密码home:每个用户有个文件夹,存放在这里lib:操作系统文件等mnt:挂扣用的opt:java工具bea:web编程的一些东西sbin,bin,usr:这三个文件夹都是存放unix的命令的tmp:临时文件夹常用的操作:查看当前目录:pwd修改密码:passwd更换模式:csh,bash远程登陆:telnet 服务器ip回到上级目录:cd ..查看该目录下的文件夹:ls打开文件:vi /文件夹/文件文件显示的格式:root:x:0:root…:/root;/bin/bash 用户名,加密,序号,组,默认路径退出:esc shift+: q! quit exit清空:clear显示当前目录所有文件:ls –a显示当前目录所有文件和详细信息:ls –al新建文件:vi 文件名文件的权限:chmod g –(+)r w x u g o s新建文件(不能编辑)更新文件的访问时间,如果存在文件,更新,不存在,建立:touch 文件名创建目录:mkdir 目录名/目录名创建多个目录:mkdir 目录名目录名…..在主目录创建下目录:mkdir ~/目录名创建多级目录:mkdir –p 目录名/目录名在覆盖文件前做个提示:cp –I文件和文件内容间的拷贝:cp复制目录:cp –r 目录目录复制文件:cp 文件文件移动文件:mv 要移动的文件要移动到的目录移动目录:mv -fi要移动的目录要移动到的目录修改文件或目录的名字:mv 文件名字删除文件:rm rm –I提示删除目录中的所有内容包括目录:rm –r 要删除的文件夹连接:软连接:相当于创建快捷方式,作用:修改linux内核会用到他in硬连接:如果删除源文件,被连接的文件内容还存在帮助:man 命令补全名字:table显示日历:cal输入:>输出:<查看文件内容:cat 例子:cat<文件>文件分屏显示:ls –l/目录|more合并到一个新的文件:cat a.txt b.txt设置环境变量:csh中.cshrc source cshrcbash中.profile 执行..profile或者source .profile本编辑器是所有计算机系统中最常用的一种工具。

vi命令大全

vi命令大全

vi命令大全一、vi基本命令1)光标命令左h 上j 下k 右lnG ——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/xx3)查找命令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默认值为81)语法加亮显示: syntax on 该命令在vi中打开语法加亮显示的功能。

这样以后在输入的字符中,vi就会自动的识别出关键字,字符串以及其他的一些语法元素,并以不同的颜色来显示出来。

2)自动缩进在vi中自动缩进的选项一般有以下的几种:autoindent: 在这种缩进形式中,新增加的行和前一行有相同的缩进形式。

smartindent: 在这种缩进模式中,每一行都和前一行有相同的缩进量,同时能够正确的识别出{和},当遇到右花括号(}),则取消了缩进形式。

vi指令大全

vi指令大全

Vi指令大全1 进入vi的命令2 移动光标类命令3 屏幕翻滚类命令4 插入文本类命令5 删除命令6 搜索及替换命令7 选项设置8 最后行方式命令9 寄存器操作进入vi的命令vi filename: 打开或新建文件,并将光标置于第一行首vi +n filename: 打开文件,并将光标置于第n行首vi + filename: 打开文件,并将光标置于最后一行首vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename: 打开多个文件,依次进行编辑移动光标类命令h: 光标左移一个字符l: 光标右移一个字符space: 光标右移一个字符Backspace: 光标左移一个字符k或Ctrl+p: 光标上移一行j或Ctrl+n: 光标下移一行Enter: 光标下移一行w或W : 光标右移一个字至字首b或B : 光标左移一个字至字首e或E : 光标右移一个字至字尾): 光标移至句尾(: 光标移至句首}: 光标移至段落开头{: 光标移至段落结尾nG: 光标移至第n行首n+: 光标下移n行n-: 光标上移n行n$: 光标移至第n行尾H: 光标移至屏幕顶行M: 光标移至屏幕中间行L: 光标移至屏幕最后行0: 光标移至当前行首$: 光标移至当前行尾屏幕翻滚类命令Ctrl+u: 向文件首翻半屏Ctrl+d: 向文件尾翻半屏Ctrl+f: 向文件尾翻一屏Ctrl+b: 向文件首翻一屏nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令i: 在光标前I: 在当前行首a: 光标后A: 在当前行尾o: 在当前行之下新开一行O: 在当前行之上新开一行r: 替换当前字符R: 替换当前字符及其后的字符,直至按ESC键s: 从当前光标位置处开始,以输入的文本替代指定数目的字符S: 删除指定数目的行,并以所输入文本代替之ncw或nCW: 修改指定数目的字nCC: 修改指定数目的行删除命令ndw或ndW: 删除光标处开始及其后的n-1个字do: 删至行首d$: 删至行尾ndd: 删除当前行及其后n-1行x或X: 删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u: 删除输入方式下所输入的文本搜索及替换命令/pattern: 从光标开始处向文件尾搜索pattern?pattern: 从光标开始处向文件首搜索patternn: 在同一方向重复上一次搜索命令N: 在反方向上重复上一次搜索命令:s/p1/p2/g: 将当前行中所有p1均用p2替代:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代:g/p1/s//p2/g: 将文件中所有p1均用p2替换选项设置all: 列出所有选项设置情况term: 设置终端类型ignorance: 在搜索中忽略大小写list: 显示制表位(Ctrl+I)和行尾标志($)number: 显示行号report: 显示由面向行的命令修改过的数目terse: 显示简短的警告信息warn: 在转到别的文件时若没保存当前文件则显示NO write信息nomagic: 允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始mesg: 允许vi显示其他用户用write写到自己终端上的信息最后行方式命令:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下:n1,n2 d: 将 n1行到n2行之间的内容删除:w: 保存当前文件:e filename: 打开文件filename进行编辑:x: 保存当前文件并退出:q: 退出vi:q!: 不保存文件并退出vi:!command: 执行shell命令command:n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入:r!command: 将命令command的输出结果放到当前行寄存器操作"?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字"?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字"?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字"?p: 取出寄存器?中的内容并将其放到光标位置处。

vi命令列表

vi命令列表
光标移动到这个屏幕的最上方那一行
M
光标移动到这个屏幕的中央那一行
L
光标移动到这个屏幕的最下方那一行
G
移动到这个档案的最后一行常用
nG
移动到这个档案的第 n 行.例如20G则会移动到这个档案的 20 行可配合 :set nu
n<Enter>
光标向下移动 n 行常用
一般模式:
搜寻与取代
/word
向光标之后寻找一个字符串名称为 word 的字符串.常用
:1,$s/word1/word2/gc
从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 且在取代前显示提示字符给使用者确认confirm是否需要取代常用
一般模式:
删除、复制与贴上
x, X
x 为向后删除一个字符, X 为向前删除一个字符常用
nx
向后删除 n 个字符
dd
删除游标所在的那一整列常用Байду номын сангаас
:q
若曾修改过档案,又不想储存,使用 为强制离开不储存档案.
:wq
储存后离开,若为 :wq 则为强制储存后离开常用
:e
将档案还原到最原始的状态
ZZ
若档案没有更动,则不储存离开,若档案已经经过更动,则储存后离开
:w filename
将编辑的数据储存成另一个档案类似另存新档
:r filename
在编辑的数据中,读入另一个档案的数据.亦即将 『filename』这个档案内容加到游标所在行后面
ndd
删除光标所在的向下 n 列,例如 20dd 则是删除 20 列常用
d1G
删除游标所在到第一行的所有数据
dG
删除游标所在到最后一行的所有数据

vi命令大全

vi命令大全

rchar 用char替代当前字符 Rtext escape 用text替代当前字符,直到输入ESC键结束 stext escape 用text替代当前字符 S或cctext escape 用text替代整行 cwtext escape 用text替代整行
Ctext escape 将当前字改为text cG escape 修改到文件的末尾 ccursor_cmd text escape 从当前位置处到光标命令(cursor_cmd)所指位置处都改为text
u 撤消上一次的修改 U 撤消对当前行 .( 句号) 重复上一次的修改 ,(逗号) 向相反方向重复上一次的f,F,t或T搜索命令 ;(分号) 重复上一次的f,F,t或 搜索命令 "np 恢复最后第n个删除 (即恢复缓冲区中有限数目的删除,通常为9个 ) n 重复上一次的/或?搜索命令 N 向相反方向重复上一次的/或?搜索命令
/text 在文件中向前搜索text ?text 在文件中向后搜索text n 同最初搜索相同的方向重复搜索 N 同最初搜索相反的方向重复搜索 ftext 在当前行中向前搜索text Ftext 在当前行中向后搜索text ttext 在当前行中向前搜索text,并在text字符前停止 Ttext 在当前行中向前搜索text,并在text字符后停止 :set ic 搜索时忽略大小写 :set noic 使搜索对大小写敏感 :s/oletext/newtext/ 用newtext(新文本)替代oletext(旧文本) :m,ns/oldtext/newtext 用newtext替代从m行到n 行中的oletext & 重复上一次的:s命令 :g/text1/s/text/text3 搜索包含text1的行,并用text3替代text2 :g/text/command 在所有包含text的行中运行command命令 :v/text/command 在所有不包含text的行中运行conmmand命令

vi命令表

vi命令表

二、移动
移动
←,↓,↑,→ 到下一行的首字符 到上一行的首字符 到单词的尾部 按单词前移 按单词后移 到行尾 到行首
命令
h,j,k,l + e或E w或W b或B $ 0(数字零)
三、其他操作
操作 从缓冲区输出文本 启动 i,如果指定了文件,就打开该文件 保存编辑、退A o(小写字母 o) O(大写字母 O) S(大写) R J ~ .(句号) u(小写) U(大写)
3/8
vi 移动命令
移动 向前滚动一屏
向后滚动一屏 向前滚动半屏 向后滚动半屏 向前滚动一行 向后滚动一行 把当前行移动到屏幕顶部并滚动 把当前行移动到屏幕中央并滚动 把当前行移动到屏幕底部并滚动 刷新当屏幕 移动到起始点——屏幕首行 移动到屏幕的中间行 移动到屏幕的末行 移动到下一行的首字符 移动到下一行的首字符 移动到上一行的首字符 移动到当前行的第一个非空格字符 移动到当前行的第 n 列 移动到词尾 移动到词尾(忽略标点) 移动到当前句子的开始 移动到下一句的开始 移动到当前段落的开始 移动到下一段落的开始 移动到当前节的开始 移动到下一节的开始 向前搜索模式 向后搜索模式 重复上次搜索 反方向重复上次搜索 向前重复上次搜索
说明
本文档内容来自 O'REILLY 出版社的《学习 vi 编辑器》,该书的中文版由机械工业出版 社出版。切勿用于商业用途。
本文档不是 vi/vim 的教程,只是列出一些快捷键和命令以方便记忆和查询。如果你需要 vim 的教程,我推荐李果正先生的《大家来学 vim》(正体中文),你可以在下面的网站浏 览这个教程或下载 pdf 文档:
其中命令是修改命令 c,文本目标是移动命令(不用输入圆括号)。但是 c 并 不是唯一需要文本目标的命令,d 命令(删除)和 y 命令(复制)也遵循这个 模式。

vi命令大全

vi命令大全

移动光标h将光标左移一格l将光标右移一格。

k或Ctrl+p光标上移一行j或Ctrl+n光标下移一行w将光标移到下一个小字的前面。

W将光标移到下一个大字的前面。

b将光标移到前一个小字的前面。

B将光标移到前一个大字的前面。

e将光标移到下一个小字的后面。

E将光标移到前一个大字的后面。

fc把光标移到同一行的下一个c字符处。

Fc把光标移到同一行的前一个c字符处。

tc把光标移到同一行的下一个字符c的前一格。

Tc把光标移到同一行的前一个字符c的后一格。

number|把光标移到递number列上。

+或Enter把光标移至下一行第一个非空白字符。

-把光标移至上一行第一个非空白字符。

)光标移至句尾(光标移至句首}光标移至段落开头{光标移至段落结尾nG光标移至第n行首n+光标下移n行n-光标上移n行n$光标移至第n行尾H把光标移到屏幕最顶端一行。

M光标移至屏幕中间行L光标移至屏幕最后行0(注意是数字零)光标移至当前行首$光标移至当前行尾space字符光标右移一个字符屏幕翻滚Ctrl+f向后滚一页。

Ctrl+d向后滚半页。

Ctrl+b向前滚一页。

Ctrl+u向前滚半页。

Ctrl+e屏幕向下滚一行。

Ctrl+y屏幕项上滚一行。

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

"?nyl字符保存到寄存器?中,其中?为一个字母,n为一个数字将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字插入文本i在光标前I在当前行首a光标后A在当前行尾o在当前行之下新开一行O在当前行之上新开一行r字符替换当前字符R字符及其后的字符,直至按ESC键替换当前字符及其后的字符,直至按ESC键s字符从当前光标位置处开始,以输入的文本替代指定数目的字符S删除指定数目的行,并以所输入文本代替之ncw或nCW修改指定数目的字nCC修改指定数目的行修改ndw或ndW删除光标处开始及其后的n-1个字do删至行首d$删至行尾ndd删除当前行及其后n-1行x或X字符,x删除光标后的,而X删除光标前的删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u删除输入方式下所输入的文本cc或S修改一整行。

vi命令列表精编

vi命令列表精编
u
复原前一个动作。(常用)
进入编辑模式
i, I
插入:在目前的光标所在处插入输入之文字,已存在的文字会向后退;(常用)
a, A
增加:由目前光标所在的下一个字开始输入,已存在的文字会向后退:(常用)
o, O
插入新的一行:从光标所在的下一行枝行首开始输入文字;(常用)
r, R
取代:r 会取代光标所在的那一个字符;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
vi命令列表精编
一般模式:
移动光标
h 或 向左方向键
光标向左移动一个字符
j 或 向下方向键
光标向下移动一个字符
k 或 向上方向键
光标向上移动一个字符
l 或 向右方向键
光标向右移动一个字符
[Ctrl] + [f]
屏幕『向前』移动一页(常用)
[Ctrl] + [b]
屏幕『向后』移动一页(常用)
[Ctrl] + [d]
$
移动到这一行的最后面字符处(常用)
H
光标移动到这个屏幕的最上方那一行
M
光标移动到这个屏幕的中央那一行
L
光标移动到这个屏幕的最下方那一行
G
移动到这个档案的最后一行(常用)
nG
移动到这个档案的第 n 行。例如20G则会移动到这个档案的 20 行(可配合 :set nu)
n<Enter>
光标向下移动 n 行(常用)
屏幕『向前』移动半页
[Ctrl] + [u]
屏幕『向后』移动半页
+
光标移动到非空格符的下一列
-
光标移动到非空格符的上一列
n<space>

vi常用命令全

vi常用命令全

vi常用命令全-----------------------------------------------------------1)文件操作vi FileName 打开文件FileName,并将光标置于第一行首。

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

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

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

vi ???? 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 命令会把你带到下一个出错地点,而不考虑它在什么文件里。

vi命令一览表

vi命令一览表

vi命令一览表!ex, vi, view - text editors◎SYNOPSISvi [-eFGlRrSv] [-c cmd] [-t tag] [-w size] [file ...]ex [-eFGRrSsv] [-c cmd] [-t tag] [-w size] [file ...]◎DESCRIPTIONex和vi是相同程式但不同介面,ex是一行处理的(line-oriented),vi是以全萤幕为基准的(screen oriented).二者能相互切换.View相当於vi使用-R(唯读)参数◎OPTIONS-e 以ex模式开始编辑,如同用ex编辑一般。

vi -e filename 等同於 ex filename-F 当第一次编辑时,不要让vi整个档案。

(预设是整个档案,以避免当您在编辑时,他人更改这个档案。

) -R 以唯读模式开启,如同以vipw开启档案,或在命令列中设定readonly参数。

-r 重新取得某个特定档案,若没有指定档案,档案表列会被重新取得。

若没有该指定档案,档案会被视为没有-r参数编辑。

-S 以安全编辑模式启动,不允许所有的外部程式存取。

-s 进入batch模式,只能应用在ex编辑。

batch模式在执行ex scripts非常有用。

一些及时资讯及其他使用者导向的讯息被忽略(不显示),没有开始档案或环境变数被读取。

-w 设定基本的视窗大小,用以定义显示的行数。

-v 以vi模式开始编辑,如同vi 或view命令。

ex/vi从标准输入读取讯息,在vi介面,若标准输入不是一个终端机,会产生错误。

在ex介面,若标准输入不是终端机,无论如何ex会试着从他读取命令。

然而,此时会以batch模式进行,如同-s参数被指定。

移动命令:<control+A> 往下移动到这个字下次一出现的地方。

<control+B> 标向上移动一个萤幕。

<control+D> 标往下移动数行(约12行)。

vi模式下的基本指令

vi模式下的基本指令

vi模式下的基本指令VI是一款常用的文本编辑器,具备强大的编辑功能。

下面将介绍VI 模式下的基本指令,包括光标移动、插入、删除、复制粘贴、搜索替换等操作。

一、光标移动1. h、j、k、l:分别向左、下、上、右移动光标。

2. w、b:向后、向前移动一个单词。

3. 0、$:移动到行首、行尾。

4. gg、G:跳转到文件开头、文件末尾。

5. Ctrl+f、Ctrl+b:向前、向后翻页。

二、插入与编辑1. i、a:在光标前、后插入文本。

2. o、O:在当前行下、上插入新行。

3. A、I:在行尾、行首插入文本。

4. r:替换当前字符。

5. R:进入替换模式,连续替换多个字符。

三、删除与撤销1. x、X:删除当前字符、前一个字符。

2. dd:删除当前行。

3. dw、db:删除一个单词、前一个单词。

4. D:删除光标后的内容。

5. u:撤销上一步操作。

6. Ctrl+r:恢复被撤销的操作。

四、复制与粘贴1. yy:复制当前行。

2. yw、yb:复制一个单词、前一个单词。

3. p、P:粘贴到光标后、前。

4. dd+p:交换两行位置,相当于剪切黏贴。

五、搜索与替换1. /word:向后搜索指定单词。

2. ?word:向前搜索指定单词。

3. n:跳转到下一个匹配项。

4. N:跳转到上一个匹配项。

5. :s/old/new:替换当前行第一个匹配项。

6. :s/old/new/g:替换当前行所有匹配项。

7. :%s/old/new/g:替换全文所有匹配项。

六、保存与退出1. :w:保存文件。

2. :q:退出编辑器。

3. :wq:保存并退出。

4. :q!:强制退出,不保存修改。

VI编辑器的基本指令可以提高编辑效率,适用于各种文本编辑需求。

掌握这些指令可以更加高效地编辑和管理文本文件。

希望通过本文的介绍,能帮助读者更好地使用VI编辑器进行文本编辑。

VI 命令一览表

VI 命令一览表

VI 命令一览表进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename :打开多个文件,依次进行编辑移动光标类命令h 或Backspace::?? 光标左移一个字符l? 或space::?????????? 光标右移一个字符k 或Ctrl+p:????????????? 光标上移一行j 或??Enter?或Ctrl+n :光标下移一行w :光标右移一个字至字首W :光标右移一个字至字首,忽略标点符号b 或 B :?光标左移一个字至字首e 或 E :?光标右移一个字至字尾) :光标移至句尾( :光标移至句首}:光标移至段落开头{:光标移至段落结尾nG:光标移至第n行首n+:光标下移n行n-:光标上移n行n$:光标移至第n行尾H :光标移至屏幕顶行M :光标移至屏幕中间行L :光标移至屏幕最后行0:(注意是数字零)光标移至当前行首$:光标移至当前行尾屏幕翻滚类命令Ctrl+u:向文件首翻半屏Ctrl+d:向文件尾翻半屏Ctrl+f:?向文件尾翻一屏Ctrl+b;向文件首翻一屏nz:???将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令i :在光标前I :在当前行首a:光标后A:在当前行尾o:在当前行之下新开一行O:在当前行之上新开一行r:替换当前字符R:替换当前字符及其后的字符,直至按ESC键s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之ncw或nCW:修改指定数目的字nCC:修改指定数目的行删除命令ndw或ndW:删除光标处开始及其后的n-1个字do:删至行首d$:删至行尾ndd:删除当前行及其后n-1行x或X:删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u:删除输入方式下所输入的文本搜索及替换命令/pattern:从光标开始处向文件尾搜索pattern?pattern:从光标开始处向文件首搜索patternn:在同一方向重复上一次搜索命令N:在反方向上重复上一次搜索命令: s/p1/p2/g:将当前行中所有p1均用p2替代: n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代: g/p1/s//p2/g:将文件中所有p1均用p2替换选项设置all:列出所有选项设置情况term:设置终端类型ignorance:在搜索中忽略大小写list:显示制表位(Ctrl+I)和行尾标志($)number:显示行号report:显示由面向行的命令修改过的数目terse:显示简短的警告信息warn:在转到别的文件时若没保存当前文件则显示NO write nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始mesg:允许vi显示其他用户用write写到自己终端上的末行方式命令:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下:n1,n2 d :将n1行到n2行之间的内容删除:w :保存当前文件:e filename:打开文件filename进行编辑:x:保存当前文件并退出:q:退出vi:q!:不保存文件并退出vi:!command:执行shell命令command:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command 的输入:r!command:将命令command的输出结果放到当前行寄存器操作"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字"?p:取出寄存器?中的内容并将其放到光标位置处。

vi常用命令

vi常用命令

文本编辑器是所有计算机系统中最常用的一种工具。

UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename :打开多个文件,依次进行编辑移动光标类命令h :光标左移一个字符l :光标右移一个字符space:光标右移一个字符Backspace:光标左移一个字符k或Ctrl+p:光标上移一行j或Ctrl+n :光标下移一行Enter :光标下移一行w或W :光标右移一个字至字首b或B :光标左移一个字至字首e或E :光标右移一个字至字尾) :光标移至句尾( :光标移至句首}:光标移至段落开头{:光标移至段落结尾nG:光标移至第n行首n+:光标下移n行n-:光标上移n行n$:光标移至第n行尾H :光标移至屏幕顶行M :光标移至屏幕中间行L :光标移至屏幕最后行0:(注意是数字零)光标移至当前行首$:光标移至当前行尾屏幕翻滚类命令Ctrl+u:向文件首翻半屏Ctrl+d:向文件尾翻半屏Ctrl+f:向文件尾翻一屏Ctrl+b;向文件首翻一屏nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令i :在光标前I :在当前行首a:光标后A:在当前行尾o:在当前行之下新开一行O:在当前行之上新开一行r:替换当前字符R:替换当前字符及其后的字符,直至按ESC键s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之ncw或nCW:修改指定数目的字nCC:修改指定数目的行删除命令ndw或ndW:删除光标处开始及其后的n-1个字do:删至行首d$:删至行尾ndd:删除当前行及其后n-1行x或X:删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u:删除输入方式下所输入的文本搜索及替换命令/pattern:从光标开始处向文件尾搜索pattern?pattern:从光标开始处向文件首搜索patternn:在同一方向重复上一次搜索命令N:在反方向上重复上一次搜索命令:s/p1/p2/g:将当前行中所有p1均用p2替代:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代:g/p1/s//p2/g:将文件中所有p1均用p2替换选项设置all:列出所有选项设置情况term:设置终端类型ignorance:在搜索中忽略大小写list:显示制表位(Ctrl+I)和行尾标志($)number:显示行号report:显示由面向行的命令修改过的数目terse:显示简短的警告信息warn:在转到别的文件时若没保存当前文件则显示NO write信息nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始mesg:允许vi显示其他用户用write写到自己终端上的信息最后行方式命令:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下:n1,n2 d :将n1行到n2行之间的内容删除:w :保存当前文件:e filename:打开文件filename进行编辑:x:保存当前文件并退出:q:退出vi:q!:不保存文件并退出vi:!command:执行shell命令command:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入:r!command:将命令command的输出结果放到当前行寄存器操作"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字"?p:取出寄存器?中的内容并将其放到光标位置处。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一般模式:移动光标
h 或向左方向键光标向左移动一个字符
j 或向下方向键光标向下移动一个字符
k 或向上方向键光标向上移动一个字符
l 或向右方向键光标向右移动一个字符
[Ctrl] + [f] 屏幕『向前』移动一页(常用)
[Ctrl] + [b] 屏幕『向后』移动一页(常用)
[Ctrl] + [d] 屏幕『向前』移动半页
[Ctrl] + [u] 屏幕『向后』移动半页
+ 光标移动到非空格符的下一列
- 光标移动到非空格符的上一列
n<space> 按下数字后再按空格键,光标会向右移动这一行的 n 个字符。

例如 20<space> 则光标会向后面移动 20 个字符距离。

0 这是数字『 0 』:移动到这一行的最前面字符处(常用)
$ 移动到这一行的最后面字符处(常用)H 光标移动到这个屏幕的最上方那一行M 光标移动到这个屏幕的中央那一行
L 光标移动到这个屏幕的最下方那一行G 移动到这个档案的最后一行(常用)
nG 移动到这个档案的第 n 行。

例如 20G 则会移动到这个档案的 20 行(可配合 :set nu)
n<Enter> 光标向下移动 n 行(常用)
一般模式:搜寻与取代
/word 向光标之后寻找一个字符串名称为 word 的字符串。

(常用)
word 向光标之前寻找一个字符串名称为 word 的字符串。

:n1,n2s/word1/word2/g 在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !(常用)
:1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
:1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给使用者确认(confirm)是否需要取代!(常用)
一般模式:删除、复制与贴上
x, X x 为向后删除一个字符, X 为向前删除一个字符(常用)nx 向后删除 n 个字符
dd 删除游标所在的那一整列(常用)
ndd 删除光标所在的向下 n 列,例如 20dd 则是删除 20 列(常用)
d1G 删除游标所在到第一行的所有数据dG 删除游标所在到最后一行的所有数据yy 复制游标所在的那一行(常用)
nyy 复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用)
y1G 复制游标所在列到第一列的所有数据yG 复制游标所在列到最后一列的所有数据
p, P p 为复制的数据在光标下一行贴上,P 则为贴在游标上一行!(常用)
J 将光标所在列与下一列的数据结合成同一列
c 重复删除多个数据,例如向下删除 10 行,[ 10cj ] u 复原前一个动作。

(常用)
进入编辑模式?
i, I 插入:在目前的光标所在处插入输入之文字,已存在的文字会向后退;(常用)
a, A 增加:由目前光标所在的下一个字开始输入,已存在的文字会向后退:(常用)
o, O 插入新的一行:从光标所在的下一行枝行首开始输入文字;(常用)
r, R 取代:r 会取代光标所在的那一个字符;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
Esc 退出编辑模式,回到一般模式中(常用)指令列命令模式?
:w 将编辑的数据写入硬盘档案中(常用)
:w! 若档案属性为『只读』时,强制写入该档案
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。

:wq 储存后离开,若为 :wq! 则为强制储存后离开(常用):e! 将档案还原到最原始的状态!
ZZ 若档案没有更动,则不储存离开,若档案已经经过更动,则储存后离开!
:w [filename] 将编辑的数据储存成另一个档案(类似另存新档)
:r [filename] 在编辑的数据中,读入另一个档案的数据。

亦即将『filename』这个档案内容加到游标所在行后面
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!
n1,n2 w
[filename]
将 n1 到 n2 的内容储存成 filename 这个档案。

:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如[ :! ls /home ]。

相关文档
最新文档