Vim命令技巧

📅 2026/7/16 0:55:09
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