热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

vi常用命令

vicommandvia.txt用vi编辑器编辑a.txt,如果不存在则建立空文件,默认是一般模式;---a(光标后)i(光标前)r(替换光标字符)o(下一行)A(行尾)I(行首)R(同r)...资讯 |

==================
vi command
==================
vi a.txt 用vi编辑器编辑a.txt,如果不存在则建立空文件,默认是一般模式;
---
a(光标后) i(光标前) r(替换光标字符) o(下一行) A(行尾) I(行首) R(同r) O(上一行) 都可从 一般模式 进入 编辑模式

---
Esc 可以从 编辑模式 进入 一般模式
---
: 从 一般模式 进入 命令模式,输入取消、保存等指令
---
/ 从 一般模式 进入 命令模式,可以进行搜索;
---
wq 命令默认下,保持文件,并退出;
q 命令默认下,退出;
q! 命令默认下,取消对文件的修改,并退出;
---

=========
一般模式
=========
h 或 左箭头 左
j 或 下箭头 下
k 或 上箭头 上
l 或 右箭头 右

---
ctrl+f 向前翻页
ctrl+b 向后翻页
ctrl+d 向前翻半页
ctrl+u 向后翻半页
---
0 或 home 移动到该行第一个字符
$ 或 end 移动到该行最后一个字符
n 向右移动n个字符
---
G 移动到最后一行
[i] gg 移动到第 i 行,省略 i 则移动到第1行,
n 向下移动n行
---
={motion} apply motion to specify lines, the default motion is indenting,
e.g.
gg=G apply indenting to whole file,
---
w 后1个单词 词首
e 后1个单词 词尾,(当前如果在单词中,且不是词尾,则到当前单词的词尾,)
b 前1个单词 词首
---
/word 向下搜索 word
?word 向上搜索 word
---
x 向后删除1个
3x 向后删除3个
X 向前删除1个
4X 向前删除4个
---
dd 删除/剪切 整行
3dd 删除/剪切 包括当前行向下的3行

dw 删除/剪切 单词
3dw 删除/剪切 当前向右的3个单词

d光标移动 删除/剪切 光标移动的 字符 或 行,输入d 然后移动光标,如果光标向左则删除左边的1个字符,向右则删除当前字符(相当于 x),向上则删除当前行和上一行,向下则删除当前行和下一行,跳转行则删除2行之间(包括2行)的所有行,

---
yy 复制所在行
3yy 包括当前行复制向下3行

yw 复制 光标之后的第1个单词,光标当前所在单词仅复制光标及其后的部分(而不是整个单词),光标后的第1个空白符也被复制(如果存在),
3yw 复制 光标之后的3个单词,
---
p 粘贴在当前行下
P 粘贴在当前行上
---
u undo
ctrl + r redo
---
:i 跳转到第 i 行
---
ctrl + shift + >> shift right current line
2 ctrl + shift + >> shift right 2 line
ctrl + shift + < 2 ctrl + shift + <

=========
一般模式 ---> 编辑模式
=========
i 在当前光标前插入字符
I 在当前行首前插入字符
---
a 在当前光标后插入字符
A 在当前行尾插入字符
---
o 在当前行 下 新开一行,插入字符
O 在当前行 上 新开一行,插入字符
---
r,R 准备替换当前字符,替换后仍回到一般模式

=========
编辑模式 ---> 一般模式
=========
Esc 退出编辑模式,进入一般模式
---

=========
一般模式 ---> 命令行模式
=========
: 进入命令行模式
---

=========
命令行模式
=========
w 保存
w! 强制保存,即使是只读文件,只要用户的权限够,就可以保存
q 退出vi,如果文件已经改变且尚未保存则报错;
q! 取消修改,并退出vi
wq 保存并退出
wq! 强制保存并退出
---
w b.txt 当前文档另存为b.txt
---
r c.txt 将c.txt的内容加入到 当前文档中 光标处,
---
set nu 显示行号
set nonu 取消行号
---
set ai 自动缩进
set noai 不自动缩进
---
set list 显示 tab 和 行尾 字符, tab 用 ^I 表示,行尾用 $ 表示,
set nolist 不显示 tab 和 行尾 字符,
---
set tablestop=x 设置 tab 的大小,
---
set all 查看 当前设置
---
help [command] 显示帮助,用 :q 退出帮助

---
n 切换到下个文件
e# 切换到上个文件
---
[a,b|% ]s/xx/yy[/gic]
将 xx 替换为 yy,
a b 分别指定 起始 和 结尾 行号,如果未指定则默认对当前行起作用, . 表示当前行, $ 表示末行, % 表示所有行
g 表示替换所有的匹配,如果 未指定 g 则仅替换每行中的第1个匹配,
i 表示忽略大小写,如果 未指定 i 则大小写敏感,
c 表示是否对每次替换进行确认,如果指定 c,则每个匹配的替换要确认,输入 y 或 n 确认,
支持通配符,特殊字符要用 \ 转义,如 \. ,

例子:
s/xx/yy 将当前行中 第1个 xx 替换为 yy
10,$ s/xx/yy 从第10行 到末尾,将每行中 第1个 xx 替换为 yy
% s/xx/yy/g 所有行中 所有的 xx 替换为 yy
% s/\./y/g 所有行中 所有的 . 替换为 y
% s/\ \+/\ /g 替换所有的连续空格为1个空格,
% s/tesT/abcdef/gi 替换所有 test(不区分大小写),
% s/test/abcdef/gc 替换所有 test,每次替换都要求确认,

=========
一般模式 ---> 搜索模式
=========
/ 向下搜索
? 向上搜索
n 下一处
shift+n 上一处

---

作者“java-2007”
 


推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 微软发布OneNote for WordPress插件,支持一键从OneNote获取内容发布
    微软今日发布了OneNoteforWordPress插件,该插件支持从OneNote一键获取 ... [详细]
  • Win7系统如何实现Ctrl+Alt+Del热键组合呼出任务管理器
    本文介绍了在Win7系统中如何通过组策略编辑器设置,实现Ctrl+Alt+Del热键组合呼出任务管理器的方法。通过删除原有的项目并设置呼出任务管理器,用户可以方便地使用Ctrl+Alt+Del热键组合来打开任务管理器。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • OC渲染器和阿诺德渲染器的特点及适用范围
    本文介绍了C4D软件自带的渲染器效果较差的问题,并推荐了四款C4D渲染器,其中包括OC渲染器和阿诺德渲染器。OC渲染器渲染速度快,简单易用,特别适合小团队和个人使用,而阿诺德渲染器具有超快的预览功能和真实的渲染效果,适合在体积光处理方面使用。两款渲染器都支持多个C4D版本和不同操作系统。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 如何更改电脑系统的自动校时服务器地址?
    本文介绍了如何通过注册表编辑器更改电脑系统的自动校时服务器地址。通过修改注册表中的数值数据或新建字符串数值的方式,可以将默认的时钟同步服务器地址更改为自己所需要的域名或IP地址。详细步骤包括双击时间区域,点击internet时间,勾选自动校正域名设置定时等操作。 ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • wordpress的内页悬浮选项卡功能预览及使用方法介绍
    本文介绍了wordpress的内页悬浮选项卡功能,包括功能预览和使用方法。用户可以自定义切换按钮,设置锚点信息区域,灵活多变且无需代码编辑。文章可以统一设置按钮,也可以独立设置单篇文章的按钮,滚动模式下按钮以滑动形式展示,具有条理性和锚点属性,有利于SEO。滚动效果增加了网站的互动性,让用户参与互动,同时完全兼容手机,使信息展示更清晰。 ... [详细]
  • 本文介绍了在Linux中执行.sh脚本时出现/bin/sh^M: bad interpreter: No such file or directory异常的原因分析,并提供了两种解决方法:在Windows下进行编码格式转换,或在Linux中修改文件格式和执行权限。具体操作步骤也在摘要中给出。 ... [详细]
author-avatar
姬跋征
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有