Linux命令_vim & 文本编辑器完整版

发布于:2023-01-27 ⋅ 阅读:(645) ⋅ 点赞:(0)

目录

1. 语法

1.1. 常用参数

2. 常用模式

2.1. 命令模式

2.2. 末行模式

3. 批量注释

3.1. 指定行添加注释

3.2. 注释整个文本

3.3. 选中行添加注释

4. 批量取消注释

4.1. 指定行取消注释

4.2. 取消整个文本注释

4.3. 选中行取消注释


1. 语法

vim [文件]
vim [参数] [文件]

1.1. 常用参数

-d:diff 模式         # vim -d file1 file2
-D:调试模式           # vim -D file
-P:打开多个标签       # vim -P file1 file2 file3
-O:打开多个文件窗口    # vim -O file1 file2 file3,使用末行模式进行文件间切换(:1n 切换下一个文件 或者 Ctrl + ww,:1N 切换上一个文件)
+ :启动后调到末行      # vim + file
+[num]:num 表示数字   # vim +3 file 启动后光标调到第3行

2. 常用模式

2.1. 命令模式

按 esc键 进入命令模式

********************* 进入编辑模式 *********************
i: 光标前开始插入
I: 光标所在行第一列开始插入
A: 光标所在行最后一列开始插入
o: 光标所在下一行开始插入
O: 光标所在上一行开始插入

*********************** 光标移动 ***********************
gg:移动到文本第 1 行
G :移动到文本最后 1 行
3G:移动到第 3 行,3可以为任意行
H :移动到当前屏幕第 1 行
L :移动到当前屏幕最后 1 行
^ :移动到当前行第 1 列
$ :移动到当前行最后 1 列
w :移动到下一段字母开头
e :移动到下一段字母结尾
Ctrl + f :向下翻页
Ctrl + b :向上翻页

*********************** 删除命令 ***********************
dd: 删除当前行
D : 删除当前行光标到末尾
dG: 删除光标行到最后 1 行
dgg:删除光标行到第 1 行
d5↓:删除光标行向下 5 行
d5↑:删除光标行向上 5 行
d↓: 删除光标行向下 2 行
d↑: 删除光标行向上 2 行

*********************** 复制粘贴 ***********************
yy: 复制当前行
Y : 复制当前行
y2y:向下复制 2 行
yG: 复制当前行到最后 1 行
ygg:复制当前行到第 1 行
y2g:复制当前行到第 2 行
p : 将复制的行粘贴到光标下面一行
P : 将复制的行粘贴到光标上面一行

*********************** 退出文件 ***********************
ZZ: 保存并退出文件
ZQ: 不保存并退出文件

*********************** 撤销恢复 ***********************
u : 撤销上一次命令
Ctrl + r:恢复上一次命令

2.2. 末行模式

注意:需要先进入命令模式后才能进入末行模式
    esc键 + :
    esc键 + /
    esc键 + ?

*********************** 查找关键字 ***********************
/string     # 光标之下查找 string,需要配合命令 n/N 使用
?string     # 光标之上查找 string,需要配合命令 n/N 使用
命令 n      # 向下搜寻关键字
命令 N      # 向上搜寻关键字

*********************** 替换关键字 ***********************
:%s/string1/string2/g    # 将文本中所有 string1 替换为 string2
:2,5s/string1/string2/g  # 将 2-5 行中的 string1 替换为 string2
:2,5s/string1//g         # 将 2-5 行中的 string1 替换为空

*********************** 删除关键字 ***********************
:g/string/d              # 删除文本中含有 string 的行
:5g/string/d             # 删除第 5 行含有 string 的行
:5,9g/string/d           # 删除 5-9 行含有 string 的行
:g/^\n/d                 # 删除空行

*********************** set 设置 ************************
:set nu                  # 显示行号
:set nonu                # 取消行号
:set hls                 # 关键字显示高亮
:noh                     # 关键字取消高亮
:set spell               # 开启拼写检查
:set nospell             # 关闭拼写检查
:set fileformat=unix     # 将文本格式设置为Linux格式 (windows 中编写的脚本在 Linux 执行时,可能出现换行符不匹配等问题,可以使用此设置)

*********************** 保存文件 ************************
:w                       # 保存编辑好的文件
:q                       # 退出文件
:q!                      # 强制退出文件(不保存)
:wq                      # 保存并退出文件
:wq!                     # 强制保存并退出文件

3. 批量注释

3.1. 指定行添加注释

:1,3s/^/#/g    # 1-3 行添加符号 #  (表示注释)
:1,3s#^#//#g   # 1-3 行添加符号 // (表示注释)

3.2. 注释整个文本

:%s/^/#/g      # 所有行添加符号 #  (表示注释)
:%s#^#//#g     # 所有行添加符号 // (表示注释)

3.3. 选中行添加注释

通过可视块进行注释(光标置于首列),分以下几步操作:
    1、Ctrl + v 光标行进入可视块
    2、使用上下键选中需要注释的行
    3、按下命令键 I,这时候进入编辑模式,再次按下 #键
    4、按 esc键

4. 批量取消注释

4.1. 指定行取消注释

:1,3s/^#//g        # 将 1-3 行以 # 开头的 # 替换为空
:1,3s#^//##g       # 将 1-3 行以 // 开头的 // 替换为空

4.2. 取消整个文本注释

:%s/^#//g          # 将全部行以 # 开头的 # 替换为空
:%s#^//##g         # 将全部行以 // 开头的 // 替换为空

4.3. 选中行取消注释

通过可视块进行注释(光标置于首列),分以下几步操作:
    1、Ctrl + v 光标行进入可视块
    2、使用上下键选中需要取消注释的行
    3、按下命令键 d,表示删除(将第一列的 # 删除即可)

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到