子嘉的博客 子嘉的博客
首页
bic-bic
技术
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

高子嘉

没有比脚更长的路,没有比人更高的山
首页
bic-bic
技术
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 技术文档

  • GitHub技巧

  • 博客搭建

  • 服务端

    • deploy
    • nginx
    • vim
      • 1. 删除特定行
      • 2. 正则替换
      • 3.全选
      • 4.自定义命令
      • 5.vim 查看版本信息和支持插件
      • 6. 显示设置
      • 7. 复制粘贴
    • vimrc
    • gtest
  • distributed

  • golang

  • db

  • docker

  • linux

  • 技术
  • 服务端
子嘉
2022-06-05
目录

vim

bibili vim 视频教程 (opens new window)

# 1. 删除特定行

:g/匹配字符串/d

# 2. 正则替换

正则替换分组使用 () 但是需要转义,即 ()

# 将文本的
# },
# {
# 替换为 }, {

:%s/},$\n\s\*{/}, {/g
1
2
3
4
5
6
  1. 删除

    例:

  • 删除行尾空格::%s/\s+$//g

  • 删除行首多余空格::%s/^\s*// 或者 :%s/^ *//

  • 删除沒有內容的空行::%s/^$// 或者 g/^$/d

  • 删除包含有空格组成的空行::%s/^\s*$// 或者 g/^\s*$/d

  • 删除以空格或 TAB 开头到结尾的空行::%s/^[ |\t]_$// 或者 g/^[ |\t]_$/d

  1. 大小写转换
  • 转大写 \U \u,其中\U为全部转为大写,\u为首字母转为大写

  • 转小写\L \l ,其中\L为全部转为小写,\l为首字母转为小写

例:将 hello world,转为 HELLO World

```shell
:%s/\(\w\) \(\w\+\)/\U\1 \u\2/g
```

把文中的所有字符串"abc……xyz"替换为"xyz……abc"可以:下列写法

:%s/abc\(._\)xyz/xyz\1abc/g

:%s/\(abc\)\(._\)\(xyz\)/\3\2\1/g

  1. 递增替换

例:叫下面的数字 1 依次递增替换为 1、2、3、4

hello 1
hello 1
hello 1
hello 1
1
2
3
4

:%s/\zs\d\ze/\=line(".")-line("'<")/g

或替换为其他递增数字

:%s/\zs\d\ze/\=line(".")+2/g

# 3.全选

gao_shuai

ggVG
1

# 4.自定义命令

  1. 将一个单词使用双引号包裹,例:world 修改为 "world"

    noremap <C-i> bcw""<esc>P<esc>
    
    1

    然后使用快捷键 ctrl+i,即可对单词做双引号包裹处理。但撤销操作需要使用命令 4u

# 5.vim 查看版本信息和支持插件

vim --version
1

# 6. 显示设置

# 行号显隐
:set nu
:set nonu

# 空白字符显隐
:set list
:set nolist

# 自动换行切换
:set wrap
:set nowrap
1
2
3
4
5
6
7
8
9
10
11

# 7. 复制粘贴

终端登录云服务器,使用vim打开一个文件编辑器粘贴时,文本总是在行首自动插入很多空字符,可使用下面命令解决

:set paste   # 粘贴模式
:set nopaste # 非粘贴模式
1
2
编辑 (opens new window)
#vim
上次更新: 2025/03/08, 12:51:50
nginx
vimrc

← nginx vimrc→

最近更新
01
mongodb restore
03-06
02
pytesseract
02-28
03
consul
02-24
更多文章>
Theme by Vdoing | Copyright © 2022-2025 子嘉 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式