【vim】![](https://img-blog.csdnimg.cn/direct/e4cf48b56ac249709f8df80f90540126.png)
1.跳到文本的最后一行
G,即shift+g
或者
:$
2.跳到当前行的最后一个字符
$,即shift+4
行首:shift 6
vim 的一些快捷键使用_HXiaoFan的博客-CSDN博客
3.跳到第一行的第一个字符
按两次g
4.跳到当前行的第一个字符![](https://img-blog.csdnimg.cn/direct/4e447cd869a045bbba52fc7237058fd8.png)
:0或者:1
5.vim查找字符串
/字符串 <回车>
n:下一个
N:上一个
shifft+8(*)高亮,取消:noh
vim编辑器里shift + 3 出现高亮问题,怎么取消掉 - 习惯沉淀 - 博客园 (cnblogs.com)
6.跳到文件第n行
:n
7. 撤销修改 u,恢复撤销 ctrl+r
https://jingyan.baidu.com/article/bea41d4337c361f4c41be604.html
8. 复制、剪切、粘贴![](https://img-blog.csdnimg.cn/direct/572e2663d16d48429a9644c8e49cea23.png)
12个粘贴板:0、1、2、...、9、a、“、+
:reg 查看粘贴板
"Ny (双引号 + 粘贴板号 + y):复制到粘贴板N ,N 为粘贴板号。+ 号粘贴板是系统粘贴板。
要选中内容进行复制,先在命令模式下按 v 进入 Visual Mode,然后用方向键 或 hjkl 选择文本,再按 y 进行复制。
要选中内容进行剪切,先在命令模式下按 v 进入 Visual Mode,然后用 方向键 或 hjkl 选择文本,再按 d 进行剪切。
dd 剪切一行
p 粘贴至游标后(下)
P 粘贴至游标前(上)
参考:vim 复制/剪切/粘贴/撤销操作_feng98ren的专栏-CSDN博客_vim 复制
9. 在命令模式下按 v 进入视图模式,按 =
10. vi/vim 设置tab为4个空格_leo09999的博客-CSDN博客
:set ts=4
:set expandtab
:%retab!
或者在.vimrc文件中添加
set ts=4
set expandtab
Linux下设置vim的缩进为4个空格_Leo的博客-CSDN博客_vim设置缩进为4个空格
11.vim乱码的处理
在.vimrc中加入如下内容
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030
用vim打开后中文乱码怎么办_百度知道 (baidu.com)
在Vim中打开文件时,可以指定文件的字符集和编码。Vim有几个不同的选项来控制文件编码的读取和写入:
- fileencodings (或 fencs): Vim在读取文件时尝试使用的编码列表。
- fileencoding (或 fenc): Vim在写入文件时使用的编码。
- encoding (或 enc): Vim内部使用的字符编码。
要在Vim中打开文件时设置字符集和编码,可以在启动Vim时从命令行指定,或者在Vim运行时设置。
从命令行指定编码:
vim --cmd "set fencs=utf-8" filename
vim --cmd "set enc=utf-8" test.c
或者,如果已经在Vim中,可以这样设置:
:set fileencodings=utf-8,latin1
这个命令告诉Vim在尝试打开文件时首先使用UTF-8编码,如果失败再尝试使用Latin1。
如果想保存文件并指定特定的编码,可以这样设置:
:set fileencoding=utf-8
:w
这个命令将文件的编码设置为UTF-8,然后保存文件。
要在Vim中永久设置这些选项,可以把相关命令添加到你的 ~/.vimrc 配置文件中。例如:
set encoding=utf-8
set fileencodings=utf-8,latin1
这样Vim将会在启动时自动设置内部编码为UTF-8,并在打开文件时首选UTF-8编码,如果不行再尝试Latin1。
请记住,如果文件的编码被错误地指定或检测,文档的内容可能会显示为乱码。确保知道文件的实际编码是什么,并正确地设置Vim以匹配该编码。
12. dos转unix![](https://img-blog.csdnimg.cn/direct/458ff7a593664df48abe4f0491908129.png)
用vim打开文件。
DOS转UNIX:set fileformat=unix 或者 set ff=unix
UNIX转DOS:set fileformat=dos 或者 set ff=dos
显示文件格式:set ff
13. 替换
:%s/foo/bar/g
c
表示需要确认,例如全局查找"foo"
替换为"bar"
并且需要确认:
:%s/foo/bar/gc
关于在vim中的查找和替换 - 亲爱的不二999 - 博客园 (cnblogs.com)
14. set命令![](https://img-blog.csdnimg.cn/direct/ea097b6b121f4c18975bee5c229c4d2b.png)
:set+空格+tab,可以看到有哪些set命令可用。
15.vim代码收起/展开
zo #展开 zc #收起 zn #全部展开 zN #全部折叠
vim代码收起/展开和命令 - 蜂巢博客 (yadgen.com)
16.显示/取消显示 行号
显示:set nu或者set number
取消显示:set nonu或者set nonumber
vim常用命令总结 (转) - yjig - 博客园 (cnblogs.com)
17.设置边界
在.vimrc文件中,set fdc=边界值
18.一个.vimrc
syntax enable
syntax on
set hlsearch
set showmatch
set incsearch
set ts=4
set expandtab
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030
与indent有关的配置,会自动缩进,从window复制代码时候,会造成多行乱缩进,去掉含有indent字符串的配置。
19.大小写转换
转小写gue
转大写gUe
vim大小写转换_郭耀今 -- 蓝天白云-CSDN博客_vim大小写转换
20.跳转到上一光标处和回到当前光标处
ctrl+o:上一光标处
ctrl+i:回到当前光标处
边用边学Vim —— 跳转到上一个光标位置 - 知乎 (zhihu.com)
21.查看当前文件名
:f
22.运行外部命令
(1)使用 :!
命令。例如,如果想在 Vim 中运行 ls
命令,可以输入 :!ls
。
(2)使用 :shell
命令。这个命令允许打开一个 shell,在其中你可以运行任何命令。例如,可以输入 :shell
,然后输入 ls
命令。完成后,可以使用 exit
命令回到 Vim。
(3)使用 :read !
命令。例如,如果想读取 ls
命令的输出,可以输入 :read !ls
。会输出到vim正在编辑的文件中。
(4)使用 :vertical :term
命令。这个命令会在一个新的垂直分割窗口中打开一个终端。在这个终端中,可以运行任何命令。在Vim的终端模式下,通常使用`<C-\><C-n>`(即Ctrl + \ 和 Ctrl + n的组合键)来退出终端的插入模式并返回Vim的普通模式。完成后,可以点击 i 键进入终端模式,继续执行命令。
【vi】
移动光标类命令
) :光标移至句尾
( :光标移至句首
插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行