vi编辑器的使用
vi简介 vi简介
Vi是 Visual”的意思 几乎所有的UNIX 的意思, UNIX系统都提 Vi是“Visual 的意思,几乎所有的UNIX系统都提 供这个程序。 供这个程序。 它是一种全屏幕编辑程序。 它是一种全屏幕编辑程序。这里的屏幕是文本对 外显示的窗口,在这个窗口内, 外显示的窗口,在这个窗口内,用户可以自由地 移动光标,对文本中的字符、 移动光标,对文本中的字符、字、行、段进行插 删除和修改等操作,并通过上下移动窗口, 入、删除和修改等操作,并通过上下移动窗口, 对文件的全部内容进行操作。 对文件的全部内容进行操作。
vi中的句、 vi中的句、段 中的句
逗号、句号、问号和感叹号结尾, 句:以逗号、句号、问号和感叹号结尾,且其后 至少有两个以上空格或一个换行符的字符序列。 至少有两个以上空格或一个换行符的字符序列。 段:以空白行开始和结束的片段
2. 光标移动操作
插入模式: 插入模式:直接使用方向键移动光标 命令模式下,相对文本移动: 命令模式下,相对文本移动: 在当前行移动光标( 在当前行移动光标(←、→、0、$) 在行间移动光标( 在行间移动光标(↓、↑、+、-) 在文本块间移动光标( 在文本块间移动光标((、)、{、}) 将光标移至[行号] 指定行的行首: 行号]G 将光标移至[行号] 指定行的行首:[行号]G
删除字符指令
x 删除当前光标处的字符 dh or X 删除当前光标前一个字符 dw 删除当前字 db 删除前一个字 dd 删除当前行 d0 删除从当位置到行首的所有字符 d$ 删除从当位置到行尾的所有字符 dG 删除从当位置到文档末的所有字符 d1G 删除从当位置到文档开始处的所有字符
复制与粘贴指令
浏览文件
<filename>,退出时使用q! vi <filename>,退出时使用q! filename, view filename,以只读方式打开文件
vi编辑操作命令 vi编辑操作命令
1. 显示文件的行号 末行模式下输入:set 末行模式下输入:set number 或 :set nu
vi中的字 vi中的字
屏幕滚动( 3. 屏幕滚动(续)
状态命令,显示文件名、是否修改、文件行数、 状态命令,显示文件名、是否修改、文件行数、 光标之前占整个文件的百分比, 光标之前占整个文件的百分比,光标所在行号 和列号: 和列号: Ctrl+g 屏幕调零命令: 屏幕调零命令: [行号] z [行数] <回车>:指定行首 [行号] z [行数] .:指定中间行 [行号] z [行数] -:指定最末行
vi的பைடு நூலகம்种模式, vi的三种模式,及模式间切换 的三种模式
:wq :q!
shell 命令状态 [root@hostname /]$
:
vi filename ZZ 命令模式
末行模式
自动返回 a A i I o O 插入模式 <ESC>
vi的进入与退出 vi的进入与退出
进入vi:在终端shell提示符后键入vi 进入vi:在终端shell提示符后键入vi vi shell提示符后键入
• w:保存当前文件,但不退出vi 保存当前文件,但不退出vi • w<newfile>:保存当前文件到指定文件newfile中, w<newfile>:保存当前文件到指定文件newfile newfile中 而原有文件保持不变,相当于office word中的 中的“ 而原有文件保持不变,相当于office word中的“另 存为” 存为” • w!<newfile>:保存当前文件到指定文件newfile中, w!<newfile>:保存当前文件到指定文件newfile newfile中 newfile已存在 已存在, 若newfile已存在,则覆盖原有内容
6. 重复与取消命令
取消命令, 取消命令,也称复原命令 命令模式下,输入u和U u与Ctrl+z类似 重复命令 命令模式下,按“.”键
光标移动指令
对应方向键移动 h 左移一字符 k 上移一行 j 下移一行 l 右移一字符 按单词单位移动 b 移到词首 e 移到词尾 w 移到下一词首 按行单位移动 0 移到行首 $ 移到行尾 移到第n nG 移到第n行 G 移到最后一行 按页单位移动 ^ f 下卷一屏 ^ b 上卷一屏 ^ d 下卷半屏 ^ u 上卷半屏
{int k; 广义的字: {int” “k; k;” 广义的字:“{int k; 狭义的字:“{” “int “k” “;” 狭义的字: int” k ; int 英文单词、标点符号、 英文单词、标点符号、非字母字符均作为一个 字 使用大写命令一般是将字作为广义的字来对待, 使用大写命令一般是将字作为广义的字来对待, 使用小写命令则将字作为狭义的字对待
命令模式下的编辑( 4. 命令模式下的编辑(续)
文本查找 ?<pattern>回车:向文件头方向查找符合该模 式的文本(区分大小写) / <pattern>回车:向文件尾方向 n:向文件头方向重复前一个查找命令 N:向文件尾方向重复前一个查找命令
命令模式下的编辑( 4. 命令模式下的编辑(续)
文本修改: 文本修改:命令模式 插入模式 c:c后紧跟光标命令,修改内容的范围从光标 当前位置开始到指定位置为止 <n>C:可以修改从光标当前位置开始到该行末 尾 或 光标当前位置开始到某行末尾范围内的 内容 <n>cc:修改从光标所在行的行首到该行末尾或 某行末尾范围内的内容
vi的进入与退出( vi的进入与退出(续) 的进入与退出
退出vi,返回到shell shell: 退出vi,返回到shell: vi 末行模式: 末行模式: 系统退出返回shell q:系统退出返回shell !:放弃所作修改 直接退出vi 放弃所作修改, q!:放弃所作修改,直接退出vi wq:先保存文件,再退出vi返回到shell vi返回到 wq:先保存文件,再退出vi返回到shell x:文件保存并退出
命令模式下的编辑( 4. 命令模式下的编辑(续)
文本移动 1. 使用文本删除命令将要移动的文本删除: x dh dw db dd d0 d$ d) d( d{ d} 2. 使用光标移动命令将光标移动到目标位置 3. 使用p命令将刚删除的文本粘贴到目标位置
5. 插入模式下的文本编辑
插入命令:i或I 插入命令: i:光标所在位置插入 I:行首插入 附加命令: 附加命令:a或A a:光标之后插入 A:行尾插入 打开命令: 打开命令:o或O o:光标下一行插入 O:光标上一行
vi简介 vi简介
行编辑器:ed、 行编辑器:ed、ex 全屏幕编辑器:vi、 全屏幕编辑器:vi、emacs vi: vi:visual interface vi可执行输出 删除、查找、替换、 可执行输出、 vi可执行输出、删除、查找、替换、块操作等操 作 三种基本工作模式: 三种基本工作模式: 命令模式 插入模式 末行模式
vi的进入与退出( vi的进入与退出(续) 的进入与退出
vi的进入与退出( vi的进入与退出(续) 的进入与退出
保存文件准备退出vi的几种方法: 保存文件准备退出vi的几种方法: vi的几种方法 命令模式:连按两次大写字母Z 对文件保存 命令模式:连按两次大写字母Z,对文件保存 并退出 末行模式: 末行模式:
字替换cw(n:n)
• cw替换的是狭义上的字,将某个字的内容用其 他文本串替换
命令模式下的编辑( 4. 命令模式下的编辑(续)
文本行合并 [n]J:把光标所在行与下面n-1行合并为一行 文本复制与粘贴 yw:将光标所在位置到字尾的字符复制到缓冲区 [n]yw:光标所在位置开始的n个字复制到缓冲区 yy:将光标所在的行复制到缓冲区 [n]yy:将光标所在行及其后n-1行复制到缓冲区 p:粘贴文本,将缓冲区字符粘贴到光标所在位置
2. 插入模式
此模式下可进行文字输入 进入方法: 进入方法:命令模式下 输入命令i 输入命令i 附加命令a 附加命令a 打开命令o 打开命令o 修改命令c 修改命令c 取代命令r 取代命令r 替换命令s 替换命令s
3. 末行模式
进入方法:在命令模式下按“ 键 进入方法:在命令模式下按“:”键 多数文件管理命令都在此模式下执行 末行命令执行完毕后自动回到命令模式
命令模式下的编辑( 4. 命令模式下的编辑(续)
文件替换: 文件替换:命令模式 插入模式 取代命令r和R(1:1)
• r<字符>:用输入的“字符”代替当前光标处字 符 • R:用随后输入的文本取代从当前光标处到其后 面的若干字符,直到按<Esc>结束
替换命令s和S(1:n)
• s:用随后输入的文本替换当前光标所在的字符 • S:用新输入的正文替换光标当前行(整行)
1. 命令模式
初始进入状态即为命令模式, 初始进入状态即为命令模式,可输入各种合法的 即为命令模式 vi命令 vi命令 若输入的字符不是vi合法命令,vi会响铃报警。 vi合法命令 若输入的字符不是vi合法命令,vi会响铃报警。 输入的命令不在屏幕上显示出来 不管用户处于何种模式,<Esc>键 不管用户处于何种模式,<Esc>键即可进入命令模 式
vi编辑器的使用 vi编辑器的使用
福建师范大学数学与计算机科学学院 林惠君
vi编辑器的使用 vi编辑器的使用
vi的进入和退出, vi的进入和退出,工作模式的转化命令 的进入和退出 熟练使用vi vi的光标移动命令 熟练使用vi的光标移动命令 熟练掌握在命令模式和插入模式下, 熟练掌握在命令模式和插入模式下,对文本进行 编辑
vi的特点及几个基本概念 vi的特点及几个基本概念
1. 由行编辑器发展而来 2. 双手不必离开键盘就可完成所有操作 3. 不依赖于鼠标和功能键 home/end/pageup/pagedown/...) (home/end/pageup/pagedown/...) 命令模式下 4. 在命令模式下,所有的输入都当作命令看待 5. 在文本输入模式下,所有的输入都当作文本 文本输入模式下