目录
一、Vim文本编辑器??
1.1、什么是Vim文本编辑器
1.2、Vim文本编辑器基本格式
1.3、Vim的三种模式及切换
?二、命令模式
2.1、Vim的进入与退出
2.2、命令模式下光标跳转的快捷键
2.3、常用命令集合
三、编辑模式
四、末行模式
一、Vim文本编辑器??
1.1、什么是Vim文本编辑器
Linux 系统中“一切皆文件”,因此当我们要更改文件内容时,不可避免地要用到文本编辑器。
Vim则可以理解为vi的升级版,比起vi功能更为全面,也不需要自己安装,使用 Vim文本编辑器的原因有很多:
1、几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在 2、Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计接口
1.2、Vim文本编辑器基本格式
vim???[option]??[文件名]——当文件名不存在时是新建文件
命令??[选项]??????[文件名] ——当文件名存在时是修改文件内容
常用选项 | 效果 | !?? ? | 打开上一次的文件 | +/PATTERN? | 让光标处于第一个被PATTERN匹配到的行行首(很少用) | +? 行号 | 打开文件后,让光标处于第几行行首 打开1.txt文件,光标处于第四行行首 | |
1.3、Vim的三种模式及切换
命令模式(普通模式):在该模式下不能对文件直接进行编辑,但可使用快捷键对文件进行操作(文件的粘贴复制、移动光标、进入编辑模式、末行模式等)【是打开默认进入的模式】;
编辑模式(插入模式):在该模式下可以对文件内容进行编辑,esc键退回命令模式;
末行模式(扩展命令):可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)。
二、命令模式
2.1、Vim的进入与退出
2.2、命令模式下光标跳转的快捷键
| 快捷键 | 效果 | 方向跳转 | 方向键=kjhl | 上下左右移动 | 单词间跳转 | w | 下一个单词词首 | e | 当前或下一个单词的词尾 | b | 当前或前一个单词的词首 | 当前页跳转 | H | 当前页首行 | M | 当前页中间行 | L | 当前页尾行 | zt | 将光标所在当前行移到屏幕顶端 | zz | 将光标所在当前行移到屏幕中间 | zb | 将光标所在当前行移到屏幕底端 | 行首行尾跳转 | ^ | 跳转至行首第一个非空白字符 | 0=home | 跳转至行首 | $=end | 跳转至行尾 | 文件行跳转 | gg=1G | 跳转到文件的首行 | G | 跳转到文件的末尾行 | #G | 跳转到文件的#行 | 翻屏 | Ctrl+f=Pagedown | 向文件尾部翻一屏 | Ctrl+b=Pageup | 向文件首部翻一屏 |
2.3、常用命令集合
| 快捷键 | 效果 | 复制命令 | yy | 复制光标所在行整行的内容 | #yy | 复制几行(#代表要复制的行数) | yw | 复制一个单词 | 粘贴命令 | P | 光标所在位置的的上一行 | p | 粘贴到光标所在位置的下一行 | 剪切命令 | dd | 剪切光标所在行全部内容 | #dd | 删除几行(#代表要删除的行数) | 删除命令 | x=del | 删除一个字符 | #x | 删除光标起始的多个字符(#代表要删除的字符数) | dw | 删除一个单词 | d^ | 删除到非空白字符行首 | d0 | 删除到行首 | d$ | 删除到行尾 | 撤销命令 | u | 撤销上一次的更改操作 | U | 一次撤销所有更改操作 | #u | 撤销多次更改(#代表更改的次数) | 替换命令 | r | 替换光标处所在字符,限一个字符 | ~ | 转换大小写 | R | 可连续替换字符(第四种模式,在末行出现——替换) | 查找命令 | n | 与命令同方向查找 | N | 与命令反方向查找 | /字符 | 向下查找 | ?字符 | 向上查找 |
三、编辑模式
通过下方列表中的插入命令进行编辑,当编辑文件完成后按esc键退出编辑模式
快捷键 | 效果 | i | 光标所在位置输入 | a | 光标所在位置后输入 | I(大写) | 在当前光标所在行行首输入 | A | 在当前光标所在行行尾输入 | o | 在当前光标所在行的下方新建行 | O | 在当前光标所在行的上方新建行 |
四、末行模式
文件中的指定内容执行<font color='red'>保存、查找或替换</font>等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。
| 快捷键 | 效果 | 基础命令 | # | 第几行 | #,# | 左起始行,右结尾行 | #,+# | 表示第几行到第几行 | . | 当前行 | $ | 最后一行 | % | 全文, 相当于1,$ | 另存为 | w 路径 | 把范围内的行另存到指定文件中 | r? 路径 | 把另一个文件加入到当前文件中编辑 | 行号 | set number=set nu | 显示行号 | set nonumber=set nonu | 关闭行号 | 标识线 | set cul | 显示下划线 | set nocul | 关闭下划线 | 显示 | set all | 显示所有命令 | set list | 显示隐藏字符 | set nolist | 不显示隐藏字符 | 格式 | set paste | 复制保留格式 | set nopaste | 复制不保留格式 | 加密 | set key=密码 | 启用密码 | set key=(不输入直接回车) | 禁用密码 | 缩进 | set autoindent=set ai | 开启自动缩进 | set noautoindent=set noai | 关闭自动缩进 | 保存与退出 | w | 保存 | q | 退出 | ! | 强制 | 高亮 | highlight | 开启高亮 | nohighlight | 取消高亮 | 指定空格代替 | set tsbdtop=n——set ts=n | 设置 Tab 键宽度为 4 个空格 | 查找替换 | 范围 s/原始字符/替换字符/修饰符 | 范围 | 没有范围 | 默认当前行 | % | 全文 | #,# | 行到行之间 | s | 查找命令search | / | 分隔符,可替换,如/、#、@ | 原始字符 | 可使用* ^等基本正则表达式 | 替换字符 | 不可以使用,但可以使用\1, \2, ...等后向引用符号 | 修饰符 | i | 忽略大小写 | g | 全局替换,不添加g,每一行只替换第一次出现 | c? | 全局替换,每次替换前询问 | % s/^/#/g | 给所有行开头加上# |
|