【linux笔记】vim

【linux笔记】vim

启动和退出

启动

bash 复制代码
vi

退出

bash 复制代码
q

强制退出

bash 复制代码
q!

编辑模式

bash 复制代码
vi foo.txt

创建一个文件,启动后,是命令模式,是不能编辑的,键盘上的按键对应不同的命令。

插入模式

按键盘上的i,进入插入模式

保存内容

bash 复制代码
:w

移动光标

按键 光标动作
L 右移一位
H 左移一位
J 下移一行
K 上移一行
数字 0 至本行开头
^ 至本行第一个非空字符
$ 至本行的末尾
w 至下一个单词或标点的开头
W 至下一个单词的开头,越过标点
b 至上一个单词或标点的开头
B 至上一个单词的开头,越过标点
Ctrl-F或Page Down 下一页
Ctrl-B或Page UP 上翻一页
number-shift-g 将光标移动到第n行
G 移动到文件最后一行

添加文本

A 在文件末尾添加
o 在当前行的上方加入一行
O 在当前行的下方加入行

删除文本

u 撤销操作(vi只可以撤销一步)
x 删除当前字符
3x 删除3个字符
dd 删除当前行
5dd 删除5行
dW 当前字符到下一个字符的起始
d$ 当前字符到行的末尾
d0 当前字符到行的起始
d^ 当前字符到第一个非空字符
dG 当前行到末尾
d20G 当前行到文件第20行

剪切、复制和粘贴文件

dd就是剪切操作

复制命令
yy 当前行
5yy 5行
yW 当前字符到下一个单词开始
y$ 当前字符到行尾
y0 当前字符到行首
y^ 当前字符到当前行的第一个非空字符
yG 当前行到文件结尾
y20G 当前行到第20行

p命令将复制的内容粘贴到当前行的下方,P命令将复制的内容粘贴到当前行的上方。

合并行

将光标所在行与下一行合并,J

行内搜索

f在行内进行搜索,并将光标移至搜索到的下一个指定字符。

搜索整个文件

"/"搜索单词,命令n去找下一个

全局搜索和替换

使用ex命令来执行几行之内或整个文件的搜索和替换操作。

bash 复制代码
:%s /Line/line/gc
组成 含义
: 分号用于启动一条ex命令
% 确定了操作作用的范围。%代表从第一行到最后一行。还可以表示为1,5.。或者是1,$.从第一行到最后一行。如果不指定,知识适用于第一行。
s 指定了具体的操作,本次为替换操作
/Line/line 搜索和替换的文本
g 代指global,如果缺失,那么只替换每一行第一个
c 在每次替换前,向用户发出询问

加入c后出现

他们大的功能是

功能键 行为
y 执行替换
n 跳过本次替换
a 执行此次替换和之后的所有替换
q 停止替换
l 执行此次替换后退出
Ctrl-E,Ctrl-Y 分别是向下滚动和向上滚动

编辑多个文件

bash 复制代码
vi file1 file2 file3 ...

切换文件

切换下一个文件

bash 复制代码
:n

切换上一个文件

bash 复制代码
:N

查看正在编辑的文件列表

bash 复制代码
:buffers

切换文件

bash 复制代码
:buffer 2

载入更多文件

bash 复制代码
:e ls-output.txt

插入整个文件

将光标移动到插入位置

bash 复制代码
:r foo.txt
相关推荐
摇滚侠19 分钟前
Spring Boot 3零基础教程,WEB 开发 自定义静态资源目录 笔记31
spring boot·笔记·后端·spring
摇滚侠20 分钟前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 遍历 笔记40
spring boot·笔记·thymeleaf
心灵宝贝30 分钟前
申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?
linux·运维·服务器
好记忆不如烂笔头abc32 分钟前
linux系统记录登录用户的所有操作
java·linux·服务器
远向光1 小时前
k8s中的控制器
linux·容器·kubernetes
tan180°1 小时前
Linux网络HTTP(中)(8)
linux·网络·http
半梦半醒*1 小时前
搭建Jenkins
linux·运维·centos·tomcat·jenkins·运维开发
Chloeis Syntax1 小时前
接10月12日---队列笔记
java·数据结构·笔记·队列
QT 小鲜肉1 小时前
【个人成长笔记】Qt 中 SkipEmptyParts 编译错误解决方案及版本兼容性指南
数据库·c++·笔记·qt·学习·学习方法
OneSea1 小时前
Debian编译Qt5
linux·qt