vi 打开vi空白面板

vi filename 以编辑模式打开文件。如果参数为已有文件,在vi中打开;如果参数为新文件名,在vi退出时提示用户保存编辑内容

vi -R filename 以只读模式打开文件

vi -o file1 file2 同时打开多个文件并全部查看 只能在一个文件中进行修改

vim file1 file2 查看一个文件

ctrl + ww 切换不同文件

:n 切换到后一个文件

:prex 切换到前一个文件

command mode

i 在当前光标位置之前插入文本

I 在当前行的开始处插入文本

a 在当前光标位置之后插入文本

A 在当前行的结尾处插入文本

o 在光标位置的下面为文本条目创建一个新行

O 在光标位置的上面为文本条目创建一个新行

n1-n2 替换:n1,n2s /old/new 指定区间替换内容

查找: / 字符

设置区分大小写: set ic 不区分大小写 set noic

dg 删除光标所在行到末尾

gg 转到第一行

G 转到最后一行

ng :n 到第n行

o 转到行首

$ 转到行尾

x 删除光标所在位置的字符

nx 删除光标所在处之后的n个字符

dw 从当前光标位置开始删除,一直到下一个单词

D 从光标位置开始删除,一直到当前行结束

dd 删除光标所在行

ndd 删除光标之后的n行

u 撤销上一步操作 可以连续使用

:n1,n2d 删除n1-n2之间的行

cw 修改光标所在位置的单词,修改范围是从游标位置一直到单词结束

r 替换光标所在位置的字符

R 覆盖从光标当前所在的字符开始的多个字符,按ESC结束

map 设置快捷键

map ctrl+v+letter

s 用输入字符替换当前字符

S 删除光标所在行,并用新文本替换,输入新文本后,仍处在插入状态

J 将当前行与下面的行合并为一行

yy 复制当前行

nyy 复制当前行以下n行

yw 复制当前单词

dd 剪切当前行

ndd 剪切当前行以下n行

p 将复制的文本插入到光标位置的后面

P 将复制的文本插入到光标位置的前面

string 搜索指定字符串

:%s/old_string/new_string 全文替换将old_string替换为new_string

:q 退出vi编辑器,如果对文件进行了修改,vi不能退出,返回编辑模式

:q!或:w!或:wq! 强行退出vi编辑器,无论对文件是否进行了修改,都将退出编辑器

:w 保存当前文件,如果用户正在编辑一个已有文件,直接保存。如果当前用户对该文件没有写入,将保存失败

:wq 或 zz 或 :x 保存并退出

:w filename 将文件保存在filename中,该命令将修改后的文件保存为另一个文件。如果用户启动vi时没有使用文件名作为参数,

那就必须使用这个命令,否则用户会丢失已做的修改。

:e! 打开文件上次成功保存的版本,以便在发现输入错误时,退回最近一次的保留版本

vim_command的更多相关文章

随机推荐

  1. 第 4 篇 Scrum 冲刺博客

    每天举行会议 会议照片: 昨天已完成的工作与今天计划完成的工作及工作中遇到的困难: 成员姓名 昨天完成工作 今天计划完成的工作 工作中遇到的困难 蔡双浩 实现收藏夹功能 实现重设计的个人界面功能 无 ...

  2. v-lazyload数据变化图片不切换

    这个问题让我很困惑,明明得到的商品数据已经改变了,但是就图片不变化,随后找到了解决办法,那就是多加一个动态的key <img v-lazy="item.productImage&quo ...

  3. 链判断运算符和Null 判断运算符

    链判断运算符 如果我们要获取一个对象的深层嵌套属性,例如获取文章标题res.data.article.title,然后为了安全起见,我们肯定不能直接这样获取,万一res对象没有article属性了呢, ...

  4. 快速构建一个vue项目

    首先介绍一下命令行构建一个vue项目步骤: 1.下载安装node.js(直接运行安装包根据步骤安装完),打开命令行输入:node -v ,出现版本号即安装成功. 2.命令行界面输入:cnpm inst ...

  5. 七、TestNG传递参数2

    数据提供者本身可以接受两个类型的参数:Method和ITestContext 在创建@DataProvider方法是可以有四种格式如图: 第一种在上一篇中有学到 1-Methode参数使用 @Data ...

  6. Mycat安全配置

    1. Mycat相关文章   Linux安装Mycat1.6.7.4并实现Mysql数据库读写分离简单配置   Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从)   Docke ...

  7. Java NIO网络编程demo

    使用Java NIO进行网络编程,看下服务端的例子 import java.io.IOException; import java.net.InetAddress; import java.net.I ...

  8. Spark的RPC

    Spark 的 RPC 什么是RPC 在Spark中很多地方都涉及网络通信,比如Spark各个组件间的消息互通.用户文件与Jar包的上传.节 点间的Shuffle过程.Block数据的复制与备份等. ...

  9. 1-解决java Scanner出现 java.util.NoSuchElementException

    起因:在函数中新建scanner对象,然后多次调用此方法出现上述异常 原因:Scanner(system.in)在Scanner中接受的是键盘 输入,当调用close()方法时 Scanner的关闭会 ...

  10. 常用的一句话反弹shell总结

    文章转载来源:https://blog.csdn.net/qq_38684504/article/details/90047213#1.%20bash%E7%9B%B4%E6%8E%A5%E5%8F% ...