【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
相关推荐
咖喱鱼蛋15 分钟前
Ubuntu安装Electron环境
linux·ubuntu·electron
ac.char19 分钟前
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
linux·ubuntu·npm
肖永威24 分钟前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
tian2kong27 分钟前
Centos 7 修改YUM镜像源地址为阿里云镜像地址
linux·阿里云·centos
布鲁格若门31 分钟前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
C-cat.38 分钟前
Linux|进程程序替换
linux·服务器·microsoft
dessler39 分钟前
云计算&虚拟化-kvm-扩缩容cpu
linux·运维·云计算
怀澈12240 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
DC_BLOG43 分钟前
Linux-Apache静态资源
linux·运维·apache
学Linux的语莫44 分钟前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible