| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> vim编辑器的用法: -> 正文阅读 |
|
[系统运维]vim编辑器的用法: |
一、扩展命令模式(末行模式): 按“:”进入,在底部屏幕左侧出现一个“:” 常见命令: w 保存磁盘文件 wq 保存并退出 x 保存并退出 q 退出 q! 不存盘退出,即使更改都将丢失 r filename 读文件内容到当前文件中 w filename 将当前文件内容写入另一个文件 !command 执行命令 r!command 读入命令的输出 (1)地址定界 #:具体第#行,例如2表示第2行; #,#:从左侧#表示行起始,到右侧#表示行结尾; #,+#:从左侧#表示的行起始,加上右侧#表示的个数的行; .:当前行 $:最后一行 例:.,$-1 %:全文(相当于1,$) /pat1/,/pat2/? 从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束; 使用方式: 后跟一个编辑命令(d,y,w,r) (2)查找: /PATTERN:从当前光标所在处向文件尾部查找; ?PATTERN:从当前光标所在处向文件首部查找; n:与命令同方向; N:于命令反方向; (3)查找并替换: s:在末行模式下完成查找替换操作 s/要查找的内容/替换为的内容/修饰符 要查找的内容:可使用模式(可使用正则表达式) 替换为的内容:不能使用模式,但可以使用\1,\2,...等后向引用符号,还可以使用“&”引用前面查找时查找到的整个内容。 修饰符: i:忽略大小写 g:全局替换;(默认情况下,每一行只替换第一次出现) 例::1,10s/how/HOW/g? 将第1行至第10行中所有的how替换为HOW :%s/\/etc\/fstab/\/var\/log/g 将全文中所有的/etc/fstab替换为/var/log ("\"为转义符) 查找替换中的分隔符/可替换为其他字符,例如 s@@@ s### 例如::%s@/var/log@/etc/fstab@g -------------------------------------------------------------------------------------------------------------------------- 二、命令模式: 退出vim: ZZ 保存退出 ZQ 不保存退出 光标跳转: 字符间跳转: h:左 l:右 j:下 k:上 #COMMADN:跳转由#指定的个数的字符 例:4j:向下移动三行 单词间跳转: w:下一个单词的词首 e:当前或下一单词的词尾 b:当前或前一个单词的词首 #COMMAND:由#指定一次跳转的单词数; 当前页跳转: H:页首 M:页中间行 L:页底 zt:将光标所在当前行移到屏幕顶端 zz:将光标所在当前行移到屏幕中间 zb:将光标所在当前行移到屏幕底端 行首行尾跳转: ^ 跳转至行首的第一个非空白字符 0跳转至行首 $ 跳转至行尾 行间移动: #G 或者扩展命令模式下:# 跳转至第#行 G? 最后一行 例如:1G, gg 第一行 句间移动: ) 下一句 (上一句 段落间移动: }下一段 { 上一段 命令模式翻屏操作: Ctrl+f 向文件尾部翻一屏 Ctrl+b 向文件首部翻一屏 Ctrl+d 向文件尾部翻半屏 Ctrl+u 向文件首部翻半屏 命令模式下字符编辑 x? 删除光标处的字符 #x 删除光标处起始的#个字符 xp 交换光标所在处的字符及其后面字符的位置 ~转换大小写 J 删除当前行后的换行符 替换命令: r 替换光标所在处的字符 R 切换成REPLACE(替换模式)模式,在光标处输入什么替换什么,按ESC回到命令模式 删除命令: d 删除命令,可结合光标跳转字符,实现范围删除 d$ 删除到行尾 d^ 删除到非空行首 d0 删除到行首 dw 删除到下一个单词的词首 de? 删除到下一个单词的词尾 db 删除到上一个单词的词首 #COMMAND dd:删除光标所在的行 #dd 多行删除 D: 从当前光标位置一直删除到行尾,等同于d$ 复制命令: y 复制命令? y$ 复制光标所在处至行尾的内容 y0 复制光标所在处至行首的内容 y^ 复制光标所在处至非空行首的内容 yw 复制光标所在处至下一个单词的词首 ye 复制光标所在处至下一个单词的词尾 yb 复制光标所在处至上一个单词的词首 #COMMAND yy 复制整行 #yy? 复制多行 Y:复制整行 粘贴命令: p 缓冲区存在的如果为整行,则粘贴至当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面; P 缓冲区存在的如果为整行,则粘贴至当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面。 改变命令: c:删除后切换成输入模式 c$ 删除当前位置至行尾的内容后,切换到输入模式 c^ 删除当前位置至非空行首的内容后,切换到输入模式 c0 删除当前位置至行首后的内容后,切换到输入模式 cb 删除当前位置至上一个单词词首的内容后,切换到输入模式 ce 删除当前位置至下一个单词词尾的内容后,切换到输入模式 cw 删除当前位置至下一个单词词首的内容后,切换到输入模式 #COMMAND cc:删除当前行并输入新内容,相当于S #cc C:删除当前光标到行尾,并切换成输入模式 相当于c$ 替换命令: r:替换光标所在处的字符,替换为r之后输入的字符。 --------------------------------------------------------------------------------------------------------------------------------- 可视化模式: v:按字符选定 V:按行选定 经常结合编辑命令使用(d,c,y) 撤销此前的编辑: u(undo):撤销此前的操作; #u:撤销指定次数的操作; 撤销此前的撤销: Ctrl+r 重复前一个编辑操作: . ?------------------------------------------------------------------------------------------------------------------------------- vim多文件模式 vim file1 file2 file3.... :next 下一个 :prev 前一个 :first 第一个 :last 最后一个 :wall 保存所有 :qall 退出所有 :wqall 保存退出所有 ------------------------------------------------------------------------------------------------------------------------------- 窗口分割模式: vim -o|-O file1 file2... ??? -o:水平分割 -O:垂直分割 在窗口间切换:Ctrl+w,Arrow 单文件窗口分割: Ctrl+w,s:split,水平分割 Ctrl+w,v;vertial,垂直分割 保存退出使用:wqall ----------------------------------------------------------------------------------------------------------------------------- 定制vim的工作特性: 配置文件:永久有效 全局:/etc/vimrc 个人:~/.vimrc(不存在,需要自己创建,添加内容set nu) 末行:当前vim进程有效 (1)行号 显示:set number,简写为set nu 取消显示:set nonumber,简写为set nonu (2)括号匹配 匹配:set showmatch,简写为set sm 取消:set noshowmatch,简写为set nosm (3)自动缩进 启用:set ai 禁用:set noai (4)高亮搜索 启用:set hlsearch 禁用:set nohlsearch (5)语法高亮 启用:syntax on 禁用:syntax off (6)忽略字符大小写 启用:set ic 不忽略:set noic ------------------------------------------------------------------------------------------------------------------------------ vim自带的练习教程 vimtutor |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:43:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |