linux文本编辑器vim详解
vim

1.打开文件
vim [option] … file... 打开文件
+# 打开文件后,让光标处于第#行的行首 +/字符串 打开文件后,光标处于第一个被匹配到字符串的行首 -b file 二进制方式打开文件 -d file1 file2 对比多个文件 -m file 只读打开文件 -e 直接进入ex,扩展命令 模式
2.vim的模式
2.1 模式分类
按键行为是依赖于vim的模式
- 命令模式:默认模式,移动光标,剪切/粘贴文本
- 插入或者编辑模式:修改文本
- 扩展命令模式(末行模式):保存、退出等
- 可视化模式
esc 键 退出当前模式
2.2 模式转换
- 命令模式 —> 插入模式
- i 在光标所在处插入
- I 在当前光标所在行的行首插入
- a 在光标所在处后面插入
- A 在光标所在行的行尾插入
- o 在当前光标所在行的下方打开一个新行
- O 在当前光标所在行的上方打开一个新行
- 插入模式 —> 命令模式
- esc
- 命令模式—> 末行模式
- :
- 扩展命令模式—>命令模式
- esc enter
- esc esc
2.3关闭文件
- 扩展命令模式
- :q 退出
- :q! 强制退出
- :wq 保存退出
- :x 保存退出
- 命令模式
- ZZ 保存退出
- ZQ 不保存退出
2.4扩展命令模式
- 按“:”进入ex模式
- 创建一个命令提示符:处于底部的屏幕左侧
- 命令:
- w 写(存)磁盘文件
- wq 保存并退出
- x 写入并退出
- q 退出
- q! 不存盘退出
- r filename 读文件内容到当前文件中
- w filename 将当前文件内容写入另外一个文件,另存为
- !command 执行命令,回车返回到文本编辑模式
- r!command 直接读入命令的输出
2.5 光标移动
命令模式光标跳转
- 字符键跳转
- h 左
- l 右
- j 下
- k 上
- # command 跳转#个字数的字符
- 单词间跳转
- w 下一个单词的次首
- e 当前或者下一个单词的词尾
- b 当前或者前一个单词的词首
- #command 跳转#个单词
- 当前页跳转
- H 页首
- M 中间
- L 页底
- zt 将光标所在行移动到屏幕顶端
- zz 将光标所在行移动到屏幕中间
- zb 将光标所在行移动到屏幕底端
- 行首行尾跳转
- ^ 跳转至行首的第一个非空白字符
- 0 跳转至行首
- $ 跳转至行尾
- 行间移动
- #G 扩展命令模式下:#跳转至第#行
- G 最后一行
- 1G 第一行
- gg 第一行
- :# 扩展命令模式下,跳转至#行
- 段落间移动(空行)
- } 下一段
- { 上一段
- 翻屏操作
- ctrl+f 向文件尾部翻一屏
- ctrl+b 向文件首部翻一屏
- ctrl+d 向文件尾部翻半屏
- ctrl+u 向文件首部翻半屏
3.命令模式操作
- 字符编辑
- x 删除光标处的字符
- #x:删除#个字符
- xp 交换光标所在处的字符与后面的字符
- ~ 转换大小写
- J 删除当前行后的换行符
- 替换
- r 替换光标所在处的字符
- R 切换成替换模式
- 删除
- d 删除,可以结合光标跳转字符
- d$ 删除到行尾
- d^ 删除到非空行首
- d0 删除到行首
- dw: 删除一个单词
- de: 向后删除一个单词
- db 想前删除一个单词
- \COMMAND
- dd 删除光标所在的行
- #dd 多行删除
- dgg 删除到文件首部
- dG 删除到文件尾部
- D 相当于d$
- 复制
- y 复制,可以结合光标跳转字符
- y$ 复制到行尾
- y0 复制到行首
- y^ 复制到非空行
- ye 向后复制一个单词
- yw 复制一个单词
- yb 向前复制一个单词
- #command
- yy 复制行
- #yy 复制多行
- Y 复制整行
- 粘贴
- p 如果是整行,则粘贴当前行所在行的下方,否则,则粘贴在当前光标所在行的后面
- P如果是整行,则粘贴当前行所在行的上方,否则,则粘贴在当前光标所在行的前面
- 改变命令
- c 修改后切换成插入模式
- c$ 删除到行尾 切换成插入模式
- c^ 删除到非空行切换成插入模式
- c0 删除到行首切换成插入模式
- cb 向前删除一个单词并且进入插入模式
- ce 向后删除一个单词并且进入插入模式
- cw 向后删除一个单词并且进入插入模式
- #command
- cc 删除当前行并输入新的内容
- #cc 删除#行,并切换到插入模式
- C 相当于c$ ,删除当前光标至行尾,并切换成插入模式
- 10ialex [esc] 粘贴10次alex
- 查找
- /pattern 从当前光标所在处向文件底部查找
- ?pattern 从当前光标所在处向文件首部查找
- n 与命令同方向
- N 与命令反方向
- 撤销更改
- u 撤销最近的更改
- #u 撤销之前多次更改
- U 撤销光标落在这行后所有此行的更改
- ctrl+r 重做最后的操作 撤销撤销
- . 重复前一个操作
- n. 重复前一个操作n次
4.扩展命令模式
4.1地址定界
:start,end
具体第#行
,# 从左侧#表示起始行,到右侧#表示结尾行-
,+# 从左侧#表示的起始行,加上右侧#表示的行数 :2,+3 表示2到5行
- . 当前行
- $ 最后一行
- $-# 倒数第#+1行
- .,$-1相当于当前行到倒数第二行
- % 全文
- /pat1/,/pat2/ 从第一个被pat1匹配到的行开始,一直到第一次被pat2匹配到的行开始
, /pat/ 从第#行开始,一直到第一次被pat2匹配到的行开始
- /pat/,$ 从第一个被pat1匹配到的行开始,到行尾
地址定界-使用方式
后跟一个编辑命令
- d 删除
- y 复制
- w file :将范围内的行另存到指定的文件中--另存为
- r file 在指定位置插入指定文件中的内容
4.2 查找并替换
- 在扩展模式下完成查找替换操作
- 格式 :地址定界 s/要查找的内容/替换为的内容/装饰器
- 要查找的内容:可使用正则表达式,
- 要替换的内容:不能使用正则表达式,,但可以使用\1,\2等,还可以使用“&”引用前面查找到整个内容
- 修饰符
- 默认情况下,每一行只替换第一个出现的
- i 忽略大小写
- g 全局替换
- gc 全局替换,每次替换前询问
- 查找替换中的分隔符/可以替换成其他字符v
- @
- #
5.可视化模式
允许选择的文本块
- v 面向字符
- V 面向行
- ctrl -v 面向块
- 可以化键可以与移动键结合使用
- w )} 箭头等
- 突出显示的文字可以被删除,复制,变更,过滤,收拾,替换等
6.多文件操作
vim file1 file2 file3
- :next 下一个
- :prev 前一个
- :first 第一个
- :last 最后一个
- :wall 保存所有
- :qall 退出所有
- :wqall
7.使用多个窗口
- 多文件分割
- vim -o|-O file1 file2
- -o 水平分割
- -O 垂直分割
- 切换 ctrl+w
- 单文件分割
- ctrl-w,s 水平分割
- ctrl-w,v 垂直分割
- ctrl-w,q 取消相邻窗口
- ctrl-w,o 取消全部窗口
- :wqall
8.定制vim的工作特性
- 配置文件:永久生效
- 全局:/etc/vimrc
- 个人:~/.vimrc
- 扩展模式:当前vim进程有效
- 行号 set nu 设置行号set nonu取消行号设置
- 忽略字符大小写(搜索) set ic set noic
- 自动缩进(和上一行对齐) set ai 设置缩进 set noai取消缩进
- 高亮搜索 set hlsearch set nohlsearch
- 语法高亮 syntax on syntax off
- 文件格式
- 启用windows格式: set fileformat=dos
- 启用unix格式:set fileformat=unix
- 简写 set ff=dos|unix
- 设置贯标所在行的标识线 set cul set nocul
- 获取帮助 :set all
- vim 内置帮助
- :help
- :help topic
- vimtutor

linux文本编辑器vim详解的更多相关文章
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- Linux文本编辑器vim
目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...
- Linux 文本编辑器 vim
第五讲 文本编辑器 vim
- linux文本编辑器vim大全
linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...
- 10.18.1 linux文本编辑器vim
vi和vim的区别 编辑一个文本时,vi不会显示颜色,而vim会显示颜色,vi 有点类似windows记事本,简单,那么就是vim复杂编辑器,功能复杂,高亮,自动缩进(写shell/python脚本用 ...
- Linux | 文本编辑器vim
vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...
- linux 文本编辑器 vim 基本操作
三种模式之间转换: 一般模式 可用于光标移动.复制粘贴.查找替换 "vim.txt"表示文件名 8L 表示8行 , 80C 表示80个字符 移动光标常用操作: h .j. k. l ...
- linux文本编辑器-VIM基本使用方法
vim [OPTION]... FILE... +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首vim + file 直接打开file,光标在最后一行 三种主要模式 ...
- Linux文本编辑器Vim使用
1. 插入 o 在光标下插入新行 a 在光标后插入 i 在光标前插入 O 在光标上一行插入新行 A 在光标行尾插入 I 在光标行首插入 2.光标定位 gg 到第一行行首 G 到最后一行 ...
随机推荐
- idea教程--如何申请免费的ideaIDE
开始申请前请先到 https://www.jetbrains.com/zh/student/ 阅读免费学生授权的介绍和常见问题,再依照下方流程进行申请. (1)到 https://www.jetbra ...
- Activity跳转显式方法及隐式方法
1 public class AActivity extends AppCompatActivity { 2 private Button btnJump; 3 @Override 4 protect ...
- 《Selenium+Pytest Web自动化实战》随到随学在线课程,零基础也能学!
课程介绍 课程主题:<Selenium+Pytest Web自动化实战> 适合人群: 1.功能测试转型自动化测试 2.web自动化零基础的小白 3.对python 和 selenium 有 ...
- anaconda及jupyter notebook的使用之numpy模块的用法(2)
今日内容概要 numpy模块结束 ndarray创建 numpy内置方法 索引与切片(花式索引.布尔索引) 常用函数 统计方法 随机数 numpy的内置方法 import numpy as np 1. ...
- [2022-2-26] OICLASS-USACO提高组模拟赛 C·Convoluted Intervals S
这道题非常简单啊,我看很多人都做出来了,张林昨天也讲的很明白了,那我来简单写一下: 暴力思路(10pts) 我们发现,我们只需要模拟画出一个图然后进行暴力枚举就行了. 差分+桶+加乘原理思路(100p ...
- php 23种设计模式 - 备忘录模式
备忘录模式 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象.备忘录模式属于行为型模式. 介绍 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该 ...
- 编译OneAPI(支持Nvidia显卡)
开始使用DPC++ 官方安装教程 预备条件 请确保当前开发环境满足如下条件: git cmake版本需要满足3.14及以上. python版本3.6以上的python. nijia版本1.8及以上(使 ...
- OpenSSL CVE-2022-0778漏洞问题复现与非法证书构造
本文介绍CVE-2022 0778漏洞及其复现方法,并精心构造了具有一个非法椭圆曲线参数的证书可以触发该漏洞. 本博客已迁移至CatBro's Blog,那是我自己搭建的个人博客,欢迎关注.本文链接 ...
- 使用Github Action自动填写疫情通
使用Github Action自动填写疫情通 西电晨午晚检一天三次,通过企业号功能进行填写.实际上,西电企业号大部分功能是以网页模式工作的,通过构造connection发送合适的request,设置计 ...
- js中的函数嵌套和闭包
小编已经有一段时间没有更新文章了,最近一直在考虑接下来要更新什么内容.接下来,小编会围绕以下三个方面更新文章.实际项目中遇到的问题和解决方案.Vue源码解析.代码重构.关于数据可视化.小编也会按照这个 ...