linux vi全文本编辑器的使用

△ Vi编辑器(全屏幕文本编辑器,Full Screen Text Editor)

□ Vi的工作模式

◇ 编辑模式

Vi在初始启动后首先进入编辑模式,这时用户可以利用一些预先定义的按键来移动光标、删除文字、复制或粘贴文字等。这些按键均是普通的字符,例如l是向右移动光标,相当于向右箭头键,k是向下移动光标,相当于向下箭头键。在编辑模式下,用户还可以利用一些特殊按键选定文字,然后再进行删除、或复制等操作。

◇ 插入模式

当用户在编辑模式下键入i/a/o等命令之后,可进入插入模式。在该模式下,用户随后输入的,除Esc之外的任何字符均将被看成是插入到编辑缓冲区中的字符。按Esc之后,从插入模式切换到编辑模式。

◇ 命令模式

在插入模式下,键入:可进入命令模式。在命令模式,Vi将把光标挪到屏幕的最下方,并在第一个字符的位置显示一个“:”(冒号)。这时,用户就可以键入一些命令。这些命令可用来保存文件、读取文件内容、执行 Shell 命令、设置Vi参数、以正则表达式的方式查找字符串或替换字符串等。

□ Vi编辑器的简单使用

◇ Vi的启动  输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令模式。

∵ vi 进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。

∵ vi file1

                :如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。

∵ vi + file1 如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件最后1行第1列的位置上。

∵ vi +N file1(N:为数字) 如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件第N行第1列的位置上。

∵ vi +/string file1 如果file1文件不存在将建立此文件;如该文件存在则将其拷贝到一个临时缓冲区。光标定位在文件中第一次出现字符串string的行首位置。

◇ 退出Vi 建议在退出vi前,先按ESC键,以确保当前vi的状态为命令方式,然后再键入“:”(冒号),输入下列命令,退出vi。

∵ :w 将编辑缓冲区的内容写入文件,则新的内容就替代了原始文件。这时并没有退出vi,必须进一步输入下述命令才能退出vi::w filename(存入指定文件) :q

∵ :wq 即将上面的两步操作可以合成一步来完成,先执行w,后执行q。

∵ :x和ZZ(注意:ZZ前面没有“:”)功能与“:wq”等价。

∵ :q!(或:quit) 强行退出vi,使被更新的内容不写回文件中。仅键入命令:q时,如vi发现文本内容已被更改,将提示用户使用“:quit”命令退出。

◇ 另外请参见:http://dwz.cn/6pTuTA

□ Vi编辑器的常用命令

◇ 在文件中移动光标

● h:向左移动一个字符

● l:向右移动一个字符

● j:向下移动一行

● k:向上移动一行

● ^(即Shift+6):移动到当前行的开头处

● $(即Shift+4):移动到当前行的结尾处

● Ctrl+b:上滚一屏。

● Ctrl+f:下滚一屏。

● Ctrl+d:下滚半屏。

● Ctrl+u: 上滚半屏。

◇ 插入文本

∵ 添加:

● 输入a后,在光标的右边插入文本

● 输入A,在一行的结尾处添加文本

∵ 插入:

● 通过在命令模式下输入i,在光标的左边插入文本

● 通过在命令模式下输入I,在行首插入文本

∵ 插入新行:

● 输入o,在当前光标位置下面打开一行

● 输入O,在当前光标位置上面打开一行

◇ 撤消更改

∵ 撤消前一个命令:在最后一个命令之后立即输入u来撤消该命令

∵ 重复某个命令:“.”

∵ 撤消对一行的更改:输入U来撤消你对一行所做的所有更改,这个命令只有在你没将光标移动到该行以外时才生效。

◇ 删除文本

∵ 删除一个字符:

● 为删除一个字符,需将光标放置在要删除的字符上并输入x

● 为删除光标之前(其左边)的一个字符,需输入X

∵ 删除一个词或词的部分内容:

● 为删除一个词,需将光标放置到该词的开头并输入dw

● 为删除词的部分内容,将光标放到该词要保存部分的右边。输入dw来删除余下的部分

∵ 删除1行:将光标放置到该行的任意处并输入dd;删除多行:ndd

∵ 删除行的部分内容:将光标放置到该行要保存部分的右边,并输入D。为删除光标左边的所有内容,须将光标放置到该行要删除部分的右边,并输入d0(d-零)。

∵ 删除到文件的结尾:为删除从当前行到文件结尾的所有内容,需输入dG

◇ 复制和移动文本

● 复制一行命令:yy

● 粘贴命令:p

● 移动文本:先将要移动的部分用删除命令删除,然后再粘贴就可以了

● 复制指定文件的内容(使用底行模式)::r filename

◇ 查找一个字符串

● 输入/,并在/后面输入要查找的串,然后按下回车

● 输入“n”跳转到该串的下一个出现处

● 输入“N”跳转到该串的上一个出现处

◇ 替换一个字符串

● 在一行内替换头一个字符串old为新的字符串new::s/old/new

● 在一行内替换所有的字符串old为新的字符串new::s/old/new/g

● 在两行内替换所有的字符串old为新的字符串new::#,#s/old/new/g

● 在文件内替换所有的字符串old为新的字符串new::%s/old/new/g

● 进行全文替换时询问用户确认每个替换需添加c选项::%s/old/new/gc(需按两次回车)

◇ 设置vi

● 显示行号:set number

● 取消行号显示:set nonumber

● 设置显示用户模式:set showmode

● 设置文件只读:set readonly

◇ 更多关于vim编辑器的内容请参见:http://www.dwz.cn/6pTuTA

猜你喜欢

转载自blog.csdn.net/qq_42239069/article/details/82558099