Vim命令技巧 Vim命令技巧Vim作为一款强大的文本编辑器是linux运维必会的技能。然而对于初学者来说可能只会一些简单的编辑命令。1. 删除技巧1.1 删除单个字符•x删除光标所在位置的字符。•X删除光标前一个字符。删除引号内字符di将光标放在双引号内的任意位置按下d删除 iinside double quotes会删除两个双引号之间的所有内容但保留引号1.2 删除单词•dw删除从光标位置到下一个单词开头的内容。•daw删除光标所在的整个单词包括周围空格。•diw删除光标所在的单词不包括周围空格。1.3 删除行•dd删除整行。•D删除从光标位置到行尾的内容。1.4 删除多行•ndd删除从当前行开始的n行。例如3dd删除3行。2. 替换技巧2.1 替换单个字符•r替换光标所在位置的字符。例如ra将当前字符替换为a。2.2 替换多个字符•R进入替换模式从光标位置开始替换字符按Esc退出。2.3 全局替换•:%s/old/new/g将文件中所有的old替换为new。•:%s/old/new/gc替换时进行确认。3. 跳转技巧3.1 行内跳转•0跳转到行首。•^跳转到行首第一个非空白字符。•$跳转到行尾。3.2 文件内跳转•gg跳转到文件开头。•G跳转到文件末尾。•nG跳转到第n行。例如10G跳转到第10行。3.3 标记跳转•m{a-z}在当前光标位置设置标记。例如ma设置标记a。•{a-z}跳转到标记位置。例如a跳转到标记a。4. 移动技巧4.1 光标移动•h左移。•j下移。•k上移。•l右移。4.2 单词移动•w移动到下一个单词的开头。•b移动到上一个单词的开头。•e移动到下一个单词的结尾。4.3 屏幕移动•Ctrl f向下翻页。•Ctrl b向上翻页。•Ctrl d向下翻半页。•Ctrl u向上翻半页。5. 高级实用操作技巧5.1 批量注释•Ctrl v进入可视块模式选择多行后按I输入#再按Esc即可批量注释。•:n1,n2s/^/#/g将n1到n2行的行首添加#。5.2 批量缩进•当前行向右缩进。•当前行向左缩进。•n从当前行开始的n行向右缩进。5.3 批量替换•:n1,n2s/old/new/g将n1到n2行之间的old替换为new。5.4 清空所有内容%dvi打开文档后需要清空文档再复制可以通过此命令快速清空5.4 保留粘贴格式场景从vscode或者其它地方复制代码到vi编辑器经常会出现格式错乱的问题,例如额外的缩进层级文本错乱或者自动换行问题1、在普通模式下启用paste模式:set paste2、进入插入模式并粘贴文本i (或按Insert键) 然后粘贴文本5.5 转换字符集格式windows上编辑的shell脚本上传到linux系统由于字符集问题脚本执行时经常会出现^M: bad interpreter错误vim中可以通过如下方法解决cat -A filename# 显示所有字符# 1. 使用 Vim 打开文件vim /tmp/test.sh# 2. 查看当前文件格式:set ff?# 输出fileformatdos# 3. 转换为 Unix 格式:set ffunix 或者:set fileformatunix# 4. 查看文件内容确认:set list# 可以看到行尾现在只有 $LF没有 ^MCR

相关新闻

最新新闻

51单片机入门(5)蜂鸣器实战:从基础驱动到简易音乐播放

51单片机入门(5)蜂鸣器实战:从基础驱动到简易音乐播放

1. 蜂鸣器基础认知与硬件准备第一次接触蜂鸣器时,我被它的小身材大嗓门惊到了——这个直径不到2cm的元件居然能发出这么响亮的声音。蜂鸣器本质上就是个电声转换器件,就像个迷你喇叭,但比普通喇叭更适合做提示音。咱们常用的蜂鸣器主要分两种…

2026/7/16 2:10:21
国内网络环境下大模型API调用实战:从认证到工程化部署

国内网络环境下大模型API调用实战:从认证到工程化部署

在实际 AI 应用开发中,直接调用国外主流大模型 API 往往会遇到网络环境、账号注册、付费门槛和版本兼容性等一系列工程难题。很多团队在原型验证阶段就卡在环境配置和接口调试上,无法快速验证模型能力是否匹配业务场景。本文将围绕如何在国内网络环境下&…

2026/7/16 2:10:21
Cortex-M7 内存屏障指令、Cache 同步策略与 MPU 配置实战指南

Cortex-M7 内存屏障指令、Cache 同步策略与 MPU 配置实战指南

1. Cortex-M7 内存管理三剑客:乱序执行、Cache 与 MPU第一次用 Cortex-M7 做项目时,我遇到过个诡异现象:DMA 传输的数据总差几个字节。调试三天后发现是 Cache 没同步,CPU 读到的还是旧数据。这个经历让我意识到,M7 的…

2026/7/16 2:10:21
你真的懂进制吗?从‘位权’到‘心算’,揭秘进制转换的底层逻辑与直觉训练

你真的懂进制吗?从‘位权’到‘心算’,揭秘进制转换的底层逻辑与直觉训练

1. 为什么我们需要理解进制?你有没有想过,为什么计算机要用二进制?为什么程序员总爱用十六进制?为什么我们日常生活中却习惯用十进制?这些看似简单的数字背后,其实隐藏着深刻的数学原理和实用价值。我第一次…

2026/7/16 2:10:21
WaveTools:解决《鸣潮》玩家三大痛点的智能工具箱

WaveTools:解决《鸣潮》玩家三大痛点的智能工具箱

WaveTools:解决《鸣潮》玩家三大痛点的智能工具箱 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你是否曾经为《鸣潮》的帧率限制感到困扰?是否在多账号切换时感到繁琐&#xff1f…

2026/7/16 2:10:21
Python实现TOTP动态验证码生成器:从原理到实践

Python实现TOTP动态验证码生成器:从原理到实践

1. 项目概述与核心价值最近在折腾一些需要二次验证的服务时,发现很多场景下,短信验证码不仅慢,还存在被拦截或泄露的风险。于是,我开始研究更安全的替代方案——TOTP(基于时间的一次性密码)。你可能已经在谷…

2026/7/16 2:05:21

月新闻