项目3 文本编辑器vim
3.1 vim的工作模式
Vi:Visual Editor的缩写,命令行界面下的文本编辑器;Unix操作系统中默认的编辑器等
Vim:Vi IMproved的缩写,Vi的升级版;用彩色显示文本,可视为程序编辑器等
默认CentOS已经安装Vim,如果没有,联网后使用以下命令进行安装:
yum install -y vim-enhanced
Vim的3种工作模式:
-
一般模式(指令模式)
- 使用命令 vim filename 进入一般模式:
移动光标
删除字符或行
复制和粘贴
查找和替换
- 使用命令 vim filename 进入一般模式:
-
编辑模式
- 从一般模式切换到编辑模式:i、I、a、A、o、O、r、R 中的任意一个
- 当进入编辑模式时,屏幕的最后一行出现“INSERT”或“REPLACE”的字样
- 从编辑模式返回一般模式:ESC 键
-
从一般模式进入编辑模式
按键 作用 i 在光标前插入字符 I 在光标所在行的行首插入字符 a 在光标后插入字符 A 在光标所在行的行末插入字符 o 在光标所在行下插入新的一行 O 在光标所在行上插入新的一行 r 替换光标所在的字符,只替换一次 R 一直替换光标所在的字符,直到按下Esc键 -
命令行模式
按键 作用 :w 保存文本 :w! 如果文件属性为只读时,强制保存 :q 退出vi :q! 强制退出vi,不管编辑还是未编辑都不保存退出 :wq 保存之后退出 :e! 将文档还原到最原始状态 ZZ 等价于:wq :w [filename] 将文档另存为filename :r [filename] 在光标所在行的下面读入filename文档的内容 :set nu 在每行的行首设置行号 :set nonu 取消行号 :n1,n2 w [filename] 将n1到n2行的内容另存为filename文件中 :sp 在vim中实现文件多窗口编辑 :only 只保留当前分屏 :q 退出当前所在分屏 :n 多文件编辑不分屏显示时,编辑下一个文件 :N 多文件编辑不分屏显示时,编辑上一个文件 :files 列出目前vim开启的所有文件 :! command 暂时离开vi,执行某个Linux命令,例如::! ls/home 暂时列出/home下的文件,然后会提示按回车返回vi - 从一般模式进入命令行模式:
保存文件
退出Vim
读入外部文件
显示行号等
- 从一般模式进入命令行模式:
3.2 vim常见命令
一般模式下的功能键分类:
-
移动光标
按键 作用 h或左方向键 光标向左移动一个字符 j或下方向键 光标向下移动一个字符 k或上方向键 光标向上移动一个字符 l或右方向键 光标向右移动一个字符 n方向键(n是数字) 光标向方向键方向移动n个字符 Ctrl+f或PgDn 屏幕向文件尾移动一页 Ctrl+b或PgUp 屏幕向文件头移动一页 n空格(n是数字) 按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n 0(数字0)或Home 移动到本行行首 $或End 移动到本行行尾 H 光标移动到当前屏幕的最顶行 M 光标移动到当前屏幕的中央那一行 L 光标移动到当前屏幕的最底行 G 光标移动到文本的最末行 nG(n是数字) 光标移动到文本的第n行 gg 光标移动到文本的首行 n回车(n是数字) 光标向下移动n行 -
删除、复制和粘贴
按键 作用 x, X x为向后删除一个字符,X为向前删除一个字符 nx(n是数字) 向后删除n个字符 dd 删除光标所在的那一行 ndd(n是数字) 删除光标所在的向下n行 d1G 删除光标所在行到第1行的所有数据 dG 删除光标所在行到末行的所有数据 yy 复制光标所在的那一行 nyy 复制从光标所在行开始的向下n行 p,P p将复制的数据从光标下一行粘贴,P则从光标上一行粘贴 y1G 复制光标所在行到第1行的所有数据 yG 复制光标所在行到末行的所有数据 J 将光标所在行与下一行的数据结合成一行 u 还原过去的操作 Ctrl+r 重复上一个操作 . 重复前一个操作 -
查找和替换
按键/输入 作用 /keyword 向光标之后寻找名为keyword的字符串,当找到第一个keyword后,该单词高亮显示,按下“n“继续查找下一个,按下”N“,反方向查找下一个 ?keyword 向光标之前寻找名为keyword的字符串,当找到第一个keyword后,该单词高亮显示,按下“n“继续查找下一个,按下”N“,反方向查找下一个 :n1,n2s/word1/word2/g 在n1和n2行之间查找word1字符串并替换为word2 :1,$s/word1/word2/g 从第一行到最末行,查找word1并替换为word2 :1,$s/word1/word2/gc 在第一行和最末行之间查找word1,替换为word2之前需要用户确认
3.3 vim的其他事项(恢复文件与打开时的警告信息+额外功能)
文件救援--交换文件(filename.swp)
在使用 vim 编辑的时候会产生一个 swp 文件, 类似于一个编辑缓冲存档. 该文件是隐藏状态, 必须使用 ls -a 命令才能看到。重新连接上机器后, 再次打开该文件时, 一般会弹出类提示:
说这文件有个编辑缓存文档, 你要使用下面的哪个命令来继续操作?
- 【O】以只读方式打开
- 【E】直接编辑
- 【R】恢复
- 【D】删除交换文件
- 【Q】退出
- 【A】中止
注意:文件 filename.swp 不需要时,需要用户手动删除,用 rm -rf 的方式删除该swp文件
彩蛋(因后续文本改动,思维图并没有及时同步变动,请读者自行补充)
未完,待续 ~