博客
关于我
Linux 文本编辑常用快捷键
阅读量:792 次
发布时间:2023-02-01

本文共 1667 字,大约阅读时间需要 5 分钟。

快捷键

快捷键:

Ctrl+c

在命令行下起着终止当前执行程序的作用,

Ctrl+d

相当于exit命令,退出当前shell

Ctrl+s

挂起当前shell(保护作用很明显哦)

Ctrl+q

解冻挂起的shell再不行就重新连接打开一个终端,reboot linux 或 kill 相关进程。

在shell

Ctrl+l

清屏

一、 三种模式

vim有三种编辑模式:

  1. i 进入文本编辑模式
  2. esc 进入命令编辑模式
    命令编辑状态下 dd删除整行
  3. :进入底行模式
    底行模式状态 输入q 退出 w保存 wq 保存并退出 !表示强制的意思 q!强制退出

二 、编辑文本常用快捷键

1、插入命令

a 在光标后附加文本
A 在本行行末附件文本
i 在光标前插入文本
I 在本行开始插入文本
o 在光标下插入文本
O 在光标上插入文本

2、定位命令

h或方向左键 左移一个字符
j或方向下键 下移一行
k或方向上键 上移一行
l或方向右键 右移一个字符
$ 移至行尾
0 移至行首
H 移至屏幕上端
M 移至屏幕中央
L 移至屏幕下端
:set nu 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行

3、删除命令

x 删除光标所在的字符
nx 删除光标所在处后n个字符
dd 删除光标所在行
dG 删除光标所在行导末尾的内容
D 删除从光标所在行到末尾的内容
:n1,n2d 删除指定范围的行

4、复制和剪切命令

yy或者Y 复制当前行
nyy或者nY 复制当前行一下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p或者P 粘贴在当前光标所在行下或行上

5、替换和取消命令

r 取代光标所在处的字符
R 从光标所在处开始替换字符,按Esc键结束
u 取消上一步操作

6、搜索和替换命令

/string 向前搜索指定命令,搜索时忽略大小写:set ic ,如搜索ftp:  /ftp
n 搜索指定字符串的下一个出现位置
:%s/被替换的字符串/替换成的字符创/g 例如把全文的ftp替换成hello  :%s/ftp/hello/g
:n1,n2s/被替换的字符串/替换成的字符创/g 在一定的范围内替换字符串

7、保存退出命令

:wq 或者 ZZ 保存退出v
:q! 不保存退出
:wq! 强行保存退出 (root或者文件的所有者)

8、应用实例

1)在vi中导入文件 :

:r 文件如:导入/test目录下的abc.txt文件  :r /test/abc.txt

2)在vi中执行命令:

:!命令如:在vi编辑器中查看 /test目录下的文件详细信息  :!ls -l /test这样就不需要先退出vi再去执行命令

3)把命令执行的结果导入到vi中:

如:把date命令执行的结果导入到vi中

:r !date

4)定义快捷键

:map 快捷键 触发的命令

如:  :map ^P I#  ^表示定义的快捷键,

注意,在vi中,这个符号是使用ctrl+v组合输入的符号,P 在vi中的输入是ctrl+v和ctrl+p,或者ctrl+v+p

:map ^P I#  表示光标无论在行的哪个位置,只要按下ctrl+p就可以在行首插入#号,然后回到命令模式。I表示在行首插入文本,表示  回到命令模式。

:map ^E acodeartisan@gmail.com  定义了一个快捷键ctrl+e,只要按下ctrl+e就可以在光标位置输入我的邮箱acodeartisan@gmail.com,非常方便。

再比如我们要定义一个快捷键,无论光标在行的哪个位置,只要按下ctrl+b,就可以去掉行首的#注释(实际上就是把行首的第一个字符删掉)

:map ^B 0x  定义了一个快捷键ctrl+b。0表示移到行首,x表示删除光标所在字符。

5)连续行注释

:n1,n2s/^/#/g  在n1行和n2行之间的行首加入#注释

:n1,n2s/^#//g  把n1行和n2行之间的行首的#注释去掉

转载地址:http://dmwfk.baihongyu.com/

你可能感兴趣的文章
Liferay7 BPM门户开发之21: 理解消息总线(Message Bus)体系
查看>>
Light OJ 1005
查看>>
LightningChart 图表控件图库
查看>>
Likeshop 单商户商城系统 任意文件上传漏洞复现(CVE-2024-0352)
查看>>
Lineage逻辑回归分类算法
查看>>
Linear Tape File System (LTFS) 开源项目教程
查看>>
linearlayout和RelativeLayot的区别
查看>>
linglong扫描系统 JWT密钥硬编码 登录绕过漏洞复现
查看>>
LinkSage:基于 GNN 的 Pinterest理解
查看>>
LinkWeChat,唯一以开源为核心的SCRM
查看>>
link标签中的integrity和crossorigin字段---web前端工作笔记015
查看>>
link标签的rel属性
查看>>
LINQ to DB 开源项目教程
查看>>
linq to entity常用操作
查看>>
linq to js使用汇总
查看>>
Linq to object 技巧、用法集锦
查看>>
LINQ to Objects---立即执行的Enumerable类方法
查看>>
linq to sql 三层架构中使用CRUD操作
查看>>
LINQ to SQL系列三 使用DeferredLoadingEnabled,DataLoadOption指定加载选项
查看>>
Linq 分组(group by)求和(sum)并且按照分隔符(join)分割列数据
查看>>