三种模式
# 命令模式
vim 文件名
# 插入模式
按a/i/o 进行插入模式
按esc 重新进入命令模式
# 编辑模式
按:(冒号)进入编辑模式
插入命令
命令 |
作用 |
a |
在光标所在字符后插入 |
A |
在光标所在行尾插入 |
i |
在光标所在字符前插入 |
I |
在光标所在行首插入 |
o |
在光标下插入新行 |
O |
在光标上插入新行 |
设置行号
前提: 处于编辑模式
# 设置行号
:set nu
# 取消行号
:set nonu
定位首行和末行的行首
前提: 处于命令模式
# 跳到首行的行首
gg
# 跳到末行的行首
G
跳到指定的行首
前提: 处于命令模式
# 跳到第22行的行首
22G
前提: 处于编辑模式
# 跳到第22号行首
:22
在某一行下,移动光标到行首或行尾
前提: 处于命令模式
# 移动到行首
0
# 移动到行尾
$
删除命令
命令 |
作用 |
x |
删除光标所在处字符 |
nx |
删除光标所在处后n个字符 |
dd |
删除光标所在行 |
ndd |
删除贯标所在处n行 |
dG |
删除光标所在行到文件末尾内容 |
D |
删除光标所在行到文件末尾内容 |
:n1,n2d |
删除指定范围的行 |
# 删除999到1006行的内容
前提: 处于编辑模式
:999,1006d
上面的命令删除了8行,包含999行和1006行
复制和剪切命令
命令 |
作用 |
yy |
复制当前行 |
nyy |
复制当前行以下n行 |
dd |
剪切当前行 |
ndd |
剪切当前行以下n行 |
p/P |
粘贴在当前光标所在行下(p)或行上(P) |
替换和取消命令
命令 |
作用 |
r |
取代光标所在处字符 |
R |
从光标所在处开始替换字符,按ESC技术 |
u |
取消上一步操作 |
搜索和搜索替换命令
命令 |
作用 |
/string |
搜索指定字符串.搜索时忽略大小写:set ic 搜索时大小写敏感:set noic |
n |
搜索指定字符串的下一个出下位置 |
:%s/old/new/g |
全文替换指定字符串 |
:n1,n2s/old/new/g |
在一定范围内替换字符串 |
替换是/g是不询问确认,/c是询问确认
保存和退出命令
命令 |
作用 |
:W |
保存修改 |
:W new_filename |
另存为指定文件 |
:wq |
保存修改并退出 |
ZZ |
快捷键,保存修改并退出 |
:q! |
不保存修改退出 |
:wq! |
保存修改并退出(文件所有者及root可用,强制保存) |
最新文章
- 新手上路,配置阿里云CentOS服务器LAMP
- JQuery制作简单的网页导航特效
- Android学习系列(38)--Android源码下载和编译
- 如何有效的保护 JAVA 程序
- dstat
- 解决HierarchyViewer不能连接真机的问题
- sdf
- 处理 JSON null 和空数组及对象
- java使用jdbc对sqlite 添加、删除、修改的操作
- 窗口过程 - Windows程序设计(SDK)006
- 【Nutch2.2.1基础教程之1】nutch相关异常
- Theano学习笔记(二)——逻辑回归函数解析
- CSDN挑战编程——《金色十月线上编程比赛第二题:解密》
- uinty3d使用ugui封装一个分页控件
- HDFS追本溯源:HDFS操作的逻辑流程与源码解析
- Rocket MQ 2 - Namesrv
- NOIP2018滚粗记
- sqlserver 删除表中数据 id 从1开始
- java中获取系统变量
- 开启VIM的Python支持
热门文章
- 3种基础的 REST 安全机制
- 如何学习理解Redux Middleware
- 异数OS 织梦师-纤手(二)-- LPC RPC篇
- XML学习笔记——关于XML解析器
- 可视化限流管理,Sentinel 控制台启动和接入
- CSS-18-媒体查询
- python3.6的安装及cx_oracle安装
- es6的promise用法详解
- jdk源码Object类解析
- yum管理及源码安装