admin管理员组文章数量:1026989
乱码问题
参考 https://blog.csdn/weixin_36250487/article/details/79888103
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
移动
- 单纯移动到行首行尾 |,^,$ (^ 行首为字符的行首,不包含空格,| 是真正的行首)
- 文件开头和结尾 gg,G
- 屏幕开头、结尾和中间 H,L,M
- 移动当前行到屏幕开头、结尾和中间 zt,zb,zz
- 上一页、下一页 ctrl-b,ctrl-f
- 屏幕滚动一行,向上、向下 ctrl-y,ctrl-e
- 上一个单词、下一个单词、词尾 b(B),w(W),e(E) (大写得以不可见字符为间隔,小写的以单词为间隔)
移动并插入
- 行首,行尾插入 I,A
- 删除行,删除字符,删除到行尾插入 S,s,C
- 插入上一行,下一行 O,o
删除
- 删除到行尾 D
- 剪切一行 dd
- 删除到给出的位置 d,如 d^ 就是删除到行首
- 修改到给出的位置 c,如 c^ 就是删除到行首,然后进入编辑状态
选择
- v 从当前位置开始,移动经过的所有位置都会选中
- V 和 v 类似,但是选择的是整行
- ctrl-v 矩形区域选择
搜索
向下,向上搜索 / ?
是否忽略大小写,末尾添加 \c 表示忽略,\C 表示不忽略(默认)
替换
# 全文替换, % 表示所有行,g 表示每行匹配所有
:%s/old/new/g
# 替换 1-10 行的所有 old
:1,10s/old/new/g
# 替换当前行和接下来两行,并且每次替换都要确认
:.,+2s/old/new/gc
# 选取替换,可以进入 Visual 后选取
# 在 Visual 模式下选择区域后输入 :,Vim 即可自动补全为 :'<,'>
:'<,'>s/old/new/g
批量匹配删除
# 删除所有以 xyz 开头的行
:g/^xyz/d
# 反向删除
:v/^xyz/d
格式化
:filetype
查看是否开启文件类型检测,自动加载该文件类型插件,缩进filetype detection:ON plugin:ON indent:ON
- 如果没有开启就把他们开启,查看当前文件类型:
:set filetype
- 格式化具体步骤
- 设置文件类型为 html:
:set filetype=html
,如果已经是了就不用设置 - 打开缩进:
:filetype indent on
- 如果上面设置过,就要重新加载文件,否则不用:
:e
- 格式化:
gg=G
- gg 表示移动到开头,= 表示格式化,G 表示格式化到末尾
列编辑
-
⌃-v
进入 visual block 模式,选择多行
- 输入 d 删除所有选中内容
- 输入
⇧-i
进行编辑插入,插入完成后退出编辑,就会补上多行内容
set 设置
- 搜索内容高亮/取消
set hlsearch
set nohlsearch
其他
- 在修改 .vimrc 时,以双引号开头的一行为注释,而不是 # 开头
乱码问题
参考 https://blog.csdn/weixin_36250487/article/details/79888103
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
移动
- 单纯移动到行首行尾 |,^,$ (^ 行首为字符的行首,不包含空格,| 是真正的行首)
- 文件开头和结尾 gg,G
- 屏幕开头、结尾和中间 H,L,M
- 移动当前行到屏幕开头、结尾和中间 zt,zb,zz
- 上一页、下一页 ctrl-b,ctrl-f
- 屏幕滚动一行,向上、向下 ctrl-y,ctrl-e
- 上一个单词、下一个单词、词尾 b(B),w(W),e(E) (大写得以不可见字符为间隔,小写的以单词为间隔)
移动并插入
- 行首,行尾插入 I,A
- 删除行,删除字符,删除到行尾插入 S,s,C
- 插入上一行,下一行 O,o
删除
- 删除到行尾 D
- 剪切一行 dd
- 删除到给出的位置 d,如 d^ 就是删除到行首
- 修改到给出的位置 c,如 c^ 就是删除到行首,然后进入编辑状态
选择
- v 从当前位置开始,移动经过的所有位置都会选中
- V 和 v 类似,但是选择的是整行
- ctrl-v 矩形区域选择
搜索
向下,向上搜索 / ?
是否忽略大小写,末尾添加 \c 表示忽略,\C 表示不忽略(默认)
替换
# 全文替换, % 表示所有行,g 表示每行匹配所有
:%s/old/new/g
# 替换 1-10 行的所有 old
:1,10s/old/new/g
# 替换当前行和接下来两行,并且每次替换都要确认
:.,+2s/old/new/gc
# 选取替换,可以进入 Visual 后选取
# 在 Visual 模式下选择区域后输入 :,Vim 即可自动补全为 :'<,'>
:'<,'>s/old/new/g
批量匹配删除
# 删除所有以 xyz 开头的行
:g/^xyz/d
# 反向删除
:v/^xyz/d
格式化
:filetype
查看是否开启文件类型检测,自动加载该文件类型插件,缩进filetype detection:ON plugin:ON indent:ON
- 如果没有开启就把他们开启,查看当前文件类型:
:set filetype
- 格式化具体步骤
- 设置文件类型为 html:
:set filetype=html
,如果已经是了就不用设置 - 打开缩进:
:filetype indent on
- 如果上面设置过,就要重新加载文件,否则不用:
:e
- 格式化:
gg=G
- gg 表示移动到开头,= 表示格式化,G 表示格式化到末尾
列编辑
-
⌃-v
进入 visual block 模式,选择多行
- 输入 d 删除所有选中内容
- 输入
⇧-i
进行编辑插入,插入完成后退出编辑,就会补上多行内容
set 设置
- 搜索内容高亮/取消
set hlsearch
set nohlsearch
其他
- 在修改 .vimrc 时,以双引号开头的一行为注释,而不是 # 开头
版权声明:本文标题:vim 常用操作 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1718543653a453526.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论