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. 性能测试学习之路 (四)jmeter 脚本开发实战(JDBC &JMS &接口脚本 & 轻量级接口自动化测试框架)

    1.业务级脚本开发 登录脚本->思路:在线程组下新建两个HTTP请求,一个是完成访问登录页,一个是完成登录的数据提交.   步骤如下: 1) 访问登录页 2) 提交登录数据的HTTP PS:对于 ...

  2. Go语言的context包从放弃到入门

    目录 一.Context包到底是干嘛用的 二.主协程退出通知子协程示例演示 主协程通知子协程退出 主协程通知有子协程,子协程又有多个子协程 三.Context包的核心接口和方法 context接口 e ...

  3. socket和http有什么区别?

    socket是网络传输层的一种技术,跟http有本质的区别,http是应用层的一个网络协议.使用socket技术理论上来讲, 按照http的规范,完全可以使用socket来达到发送http请求的目的, ...

  4. I am George1123!

    我是 George1123,一名来自浙江省,杭州市的初三爆菜 \(\tt oier\) . 以下是蒟蒻逊逊的 OJ 账号: 洛谷 loj uoj bzoj spoj 彩蛋:Welcome to my ...

  5. 【题解】「CF1352A」Sum of Round Numbers

    应该是纯模拟吧. 直接输入一个字符串,然后一位一位看,如果不是0,就 k++,并计算这个数的真实的值,最后输出就行了. #include<iostream> #include<cst ...

  6. nginx根据http请求,将JSON的请求转发到后端,将非JSON请求,转发到前端

    nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; defaul ...

  7. writeset参数配置探索——究竟在哪个角色上配置参数?

    关于writeset,一直以来我都是所有节点同时配置下面参数: binlog_transaction_dependency_tracking=WRITESET transaction_write_se ...

  8. DirectX 11的初始化

    总体来说可以概括为以下几个步骤: 创建Device和Context 创建SwapChain 为BackBuffer创建View 创建Depth/Stencil Buffer,并为之创建View 将Vi ...

  9. Python高级语法-多继承MRO相关-多继承顺序(4.5.1)

    @ 目录 1.说明 2.代码 关于作者 1.说明 使用类的魔法方法__mro__ 可以查看他的父类调用顺序 还有调用父类的构造方法的时候,使用super调用,里面有C3算法支持,不会重复调用相同的祖先 ...

  10. Hibernate实现对数据的CRUD

    今天主要去看公司的老框架, CRUD用的较多,所以总结一下步骤,以免忘记的时候温习 回顾 JDBC 工作过程: 加载驱动 建立连接 定义sql,发生sql语句 执行sql语句获得执行结果 处理返回结果 ...