多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 简介 Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。连 vim 的官方网站 ([http://www.vim.org](http://www.vim.org/)) 自己也说 vim 是一个程序开发工具而不是文字处理软件。 # vim 的使用 ## 启动 * `vim -c cmd file`: 在打开文件前,先执行指定的命令; * `vim -r file`: 恢复上次异常退出的文件; * `vim -R file:`:以只读的方式打开文件,但可以强制保存; * `vim -M file`:以只读的方式打开文件,不可以强制保存; * `vim -y num file`: 将编辑窗口的大小设为`num`行; * `vim + file`: 从文件的末尾开始; * `vim +num file`: 从第num行开始; * `vim +/string file`: 打开file,并将光标停留在第一个找到的string上。 * `vim –remote file`:用已有的vim进程打开指定的文件。 如果你不想启用多个vim会话,这个很有用。但要注意, 如果你用vim,会寻找名叫VIM的服务器;如果你已经有一个gvim在运行了, 你可以用gvim –remote file在已有的gvim中打开文件。 ## vim 的几种模式 * 命令模式:可以使用快捷键命令,或按:输入命令行。 * 插入模式:可以输入文本,在正常模式下,按`i`、`a`、`o`等都可以进入插入模式。 * 可视模式:正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。ctrl+v进入可视块模式。 * 替换模式:正常模式下,按R进入。 ## 命令模式: 启动`vim`后,默认就是命令模式,在插入模式时,也可以按键盘上的`ESC`键也可进入命令模式,在此模式下我们不可以直接对文档内容进行编辑,但可以输入相关命令来完成我们想要的操作,以下是几个常用的命令: ### 进入插入模式 * `i` 切换到输入模式,可以对文件进行编辑(光标位置不变) * `o` 切换到输入模式,可对文件进行编辑(在光标后新增一行,并且光标移动至新行行首) * `a` 切换到输入模式,可对文件进行编辑(光标向后移动一个字符) ### 打开或保存文件 * `:e file` –关闭当前编辑的文件,并开启新的文件。 如果对当前文件的修改未保存,vi会警告。 * `:e! file` –放弃对当前文件的修改,编辑新的文件。 * `:e+file` – 开始新的文件,并从文件尾开始编辑。 * `:e+n file` – 开始新的文件,并从第n行开始编辑。 * `:enew` –编译一个未命名的新文档。 * `:e` – 重新加载当前文档。 * `:e!` – 重新加载当前文档,并丢弃已做的改动。 * `:e#`或`ctrl+^` – 回到刚才编辑的文件,很实用。 * ` :f`或`ctrl+g` – 显示文档名,是否修改,和光标位置。 * `:f filename` – 改变编辑的文件名,这时再保存相当于另存为。 * `gf` – 打开以光标所在字符串为文件名的文件。 * `:w` – 保存修改,不退出编辑器。 * `:n1,n2w filename` – 选择性保存从某n1行到另n2行的内容。 * `:wq` – 保存并退出。 * `ZZ` – 保存并退出。 * `:x` – 保存并退出。 * `:q`或`quit` –退出当前窗口。 * `:saveas newfilename` – 另存为 ### 光标操作 * `h` 左移一个字符 * `l` 右移一个字符 * `j` 下移一行 * `k` 上移一行 >[info] 光标的移动操作可以配合数字使用,比如`3h`可以表示将光标左移3个字符,`10j`表示将光标下移`10`行 * `gg` 将光标移到到文件头部 * `GG` 将光标移动到文件末尾 ### 翻屏操作 * `ctrl+f`: 下翻一屏 * `ctrl+b`: 上翻一屏 * `ctrl+d`: 下翻半屏 * `ctrl+u`: 上翻半屏 * `ctrl+e`: 向下滚动一行 * `ctrl+y`: 向上滚动一行 ### 查找 `/something`: 在后面的文本中查找`something` `?something`: 在前面的文本中查找`something` ### 替换 * `:s/old/new` 用`new`替换当前行第一个`old` ## 输入模式 ### 复制粘贴 * `[n]x`::剪切光标右边n个字符 * `[n]X`: 剪切光标左边n个字符 * `y`:复制在可视模式下选中的文本 * `yy` 或 `Y`: 复制整行文本 >[info] 本文部分内容来自[https://blog.csdn.net/weixin\_37657720/article/details/80645991](https://blog.csdn.net/weixin_37657720/article/details/80645991) ,感谢博主和CSDN,详细使用方法可点击链接查看