linux中vim使用技巧

一.导入文件内容

:r

解释

导入文件

示例

编辑模式下
 
# 将/tmp/test.txt内容导入到光标所在的位置的下一行
:r /tmp/test.txt

:!

解释

在编辑文件时,执行系统命令

示例

编辑模式下

# 查看ls命令的目录
:!which ls

[No write since last change]
/usr/bin/ls

:r !命令

解释

将命令的内容导入文件光标处

示例

# 将ls命令的位置导入到文件中光标的下一行
:r !which ls

二.定义快捷键

定义添加行首添加注释#的快捷建ctrl+p

在命令模式下
:map ^P I#<ESC>
    ^P      ctrl+v+p或者ctrl+v再加上ctrl+p 输入
    I       跳到行首,并进入插入模式
    <ESC>   退出编辑模式

定义删除行首首个字符的快捷键ctrl+b

在命令模式下
:map ^B 0x
    ^B      ctrl+v+b或者ctrl+v再加上ctrl+b 输入
    0       跳到行首
    x       删除光标所在处的字符

定义插入邮箱的快捷键ctrl+h

在命令模式下
:map ^H Izhangh0725@163.com<ESC>

三.连续行注释

将n1到n2行全部注释掉

# 将n1行到n2行行首的空位置替换为#,也就是注释了
:n1,n2s/^/#/g
    第一个/后面的^代表行首的空位置
    第二个/后面的#代表要替换为的#

将n1到n2行行首的注释全部去掉

# 将n1行到n2行行首的#替换为空,也就是去掉了注释
:n1,n2s/^#//g
    ^ 代表行首的
    第二个/后面时空的,代表把行首的#替换为空
    /g代表直接替换,不用确认

将n1行到n2行行首添加//

:n1,n2s/^/\/\//g
    第一个/^代表的时行首的空位置
    第二个/代表的是/后面的为要替换的内容
    \/\/代表的是//,其中\为转义符
    /g代表直接替换,不用确认

四.替换符

给长字符zhangh0725@163.com定义一个短的容易记忆的字符mmail

:ab mmail zhangh0725@163.com

弊端: 重启之后定义的就失效,所以最好保存起来

五.将vim的快捷方式等保存起来

保存位置

root用户: /root/.vimrc
普通用户(eternity): /home/eternity/.vimrc

配置文件内容

cd /root

vim .vimrc

# 内容
set nu
map ^P I#<ESC>
ab mmail zhangh0725@163.com
    第一行  默认设置行号
    第二行  ctrl+p为光标的行首添加#并退出插入模式
    第三行  将mmail映射为zhangh0725@163.com,输入mmail自动变为zhangh0725@163.com
posted @   未月廿三  阅读(466)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示