vim 常用命令总结(排版精良,内容优质)
1. 格式说明
- <xxx>:尖括号的含义表示这是一个占位参数,也就是必须有的参数,实际输入的内容是 xxx
- [xxx]:方括号的含义表示这是一个可选参数,也就是可有可无,实际输入的内容是 xxx
- 每行中前边是用法表达式,然后是四个空格,后边是用法解释。即组成格式为:用法表达式 + 四个空格 + 用法解释。用法表达式中有空格,就是需要加空格,没有空格,就表示不需要加空格。例如有些占位参数后边是没有空格的,它就是不需要空格,有些是有空格的,就表示必须有空格。
- ...:表示前边的参数可以有多个
2. vim 的进入与退出
进入 vim
- vim filename 打开或新建文件,并将光标置于第一行首
- vim +n filename 打开文件,并将光标置于第 n 行首
- vim + filename 打开文件,并将光标置于最后一行首
- vim + /pattern filename 打开文件,并将光标置于第一个与 pattern 匹配的串处
- vim -r filename 在上次正用 vim 编辑时发生系统崩溃,恢复 filename
- vim filename .... 打开多个文件,依次进行编辑
退出 vim
- ∶q! 离开 vim,并放弃刚才编辑的内容
- ∶wq 存盘并退出
- ∶w 存盘但不退出,等待用户继续键入命令
- ∶q 退出 vim,若文件被修改过,会要求确认是否放弃修改的内容。此命令可以与w
- ∶w filename 另存为名为 filename 的文件
3. 编辑命令
插入删除替换恢复
- i 在光标所在位置前插入新的字符
- A 在光标所在行尾开始插入新的字符
- x 删除光标后的字符
- X 删除光标前的字符
- r 替换光标所在字符
- R 替换当前字符及其后的字符,直至按 ESC 键
- s 删除光标所在的字符,并同时进入输入模式
- S 删除光标所在的行,并同时进入输入模式
- o 在当前行之下新开一行
- O 在当前行之上新开一行
- u 恢复刚才被修改的文本
- U 恢复对光标所在行的所有修改
剪切
- d 配合可视化使用,剪切选中的内容,单独使用无效
- dd 剪切当前行
- <n>dd 剪切 n 行
- d<n>G 剪切当前行至第 n 行的内容
- dH 剪切从当前行至所显示屏幕顶行的全部行
- dL 剪切从当前行至所显示屏幕底的全部行
- d<command> 剪切从当前行至命令 command 所指定行的全部行,例如:
dgg
、dG
- d$ 从当前光标剪切至行末,包含光标
- d0 从当前光标剪切至行首,不包括光标
- d<n>l 从当前光标向右剪切 n 个字符,包含光标
- d<n>B 从当前光标反向剪切 n 个单词,不包括光标
- dw 从光标处剪切至一个单子/单词的末尾,包括空格
- de 从光标处剪切至一个单子/单词的末尾,不包括空格
复制
- y 复制当前行和下一行
- yy 复制当前行
- <n>yy 复制 n 行
- +y 复制选中内容到 + 寄存器,也就是系统的剪贴板,供其他程序用
- y<n>G 复制当前行至第 n 行的内容
- yH 复制从当前行至所显示屏幕顶行的全部行
- yL 复制从当前行至所显示屏幕底的全部行
- y<command> 复制从当前行至命令 command 所指定行的全部行,例如:
ygg
、yG
- y$ 从当前光标复制到行末,包括光标
- y0 从当前光标复制至行首,不包括光标
- y<n>l 从当前光标向右复制 n 个字符,包含光标
- y<n>B 从当前光标反向复制 n 个单词,不包括光标
- yw 从光标处复制至一个单子/单词的末尾,包括空格
- ye 从光标处复制至一个单子/单词的末尾,不包括空格
粘贴
- p 粘贴复制的内容到光标所在位置
- "<n>p 粘贴 n 号寄存器的内容到光标所在位置
- "+p 粘贴系统剪贴板的内容到光标所在位置
- ":p 粘贴上一个Vim命令
- "/p 粘贴上一次的搜索关键词
寄存器
- :reg 查看寄存器以及寄存器里边的内容,第一列是寄存器的名字,第二列是寄存器的内容;其中
"+
寄存器表示系统剪切板,没有的话使用+d
+y
"+p
无效 - vim 提供了 10 类寄存器,可在 vim 中输入
:help registers
查看帮助- 匿名寄存器 ""
- 编号寄存器 "0 到 "9
- 小删除寄存器 "-
- 26 个命名寄存器 "a 到 "z
- 3 个只读寄存器 ": ". "%
- Buffer 交替文件寄存器 "#
- 表达式寄存器 "=
- 选区和拖放寄存器 "* "+ "~
- 黑洞寄存器 "_
- 搜索模式寄存器 "/
搜索
- /<name> 查找光标之后的名为 name 的字符串,查找到之后高亮显示
- :noh 取消高亮显示
光标跳转
- gg 跳到文件首
- G 跳到文件尾
- <n>gg / <n>G / :<n> 跳到第 n 行
- Shift + 6:跳到行首
- Shift + 4:跳到行尾
显示当前正在编辑的文件
- Ctrl + g 显示当前正在编辑的文件名
- :f 显示当前正在编辑的文件名
- :pwd 显示当前正在编辑文件的路径
vim 翻页
- Ctrl + f 向下翻一页,f=forward
- Ctrl + b 向上翻一页,b=backward
- Ctrl + d 向下翻半页,d=down
- Ctrl + u 向上翻半页,u=up
- Ctrl + e 向下滚动一行
- Ctrl + y 向上滚动一行
- zz 让光标所在的行居屏幕中央
- zt 让光标所在的行居屏幕最上一行,t=top
- zb 让光标所在的行居屏幕最下一行,b=bottom
其它
- :set number / :set nu 显示行号
- 永久显示行号:打开 vim 配置文件
~/.vimrc
,在里边添加set nu
,即可永久显示行号 - :set nonumber / :set nonu 取消显示行号
- :set ff 显示换行符格式
- :set ff=unix 把换行符设置为 unix 格式;在 Windows 下编写的 shell,需要把换行符换成 unix 才能运行
4. 多文件编辑
- 打开多个文件
vim filename1 filename2 ...
- 在打开的文件间切换
- :bn 下一个文件
- :bp 上一个文件
- :b<n> 切换至第 n 个文件
- :ls 列出打开的文件,带编号
5. 多窗口多文件编辑
- 如果在终端中开没有打开 vim
- 纵向分割显示:
vim -O filename1 filename2 ...
- 横向分割显示:
vim -o filename1 filename2 ...
- 纵向分割显示:
- 如果已经用 vim 打开了一个文件,想要在窗口中同时再打开另一个文件
- 纵向分割显示:
:split filename
或:sp filename
- 横向分割显示:
:vsplit filename
或:vs filename
- 纵向分割显示:
- 关闭窗口
- :q 关闭光标所在窗口
- :q! 关闭光标所在窗口并放弃修改
- :qa 关闭所有窗口
- :qa! 关闭所有窗口并放弃修改
- :w 保存当前窗口已修改内容
- :wa 保存所有窗口已修改内容
- 在打开的窗口之间切换:
Ctrl + w w
,即按住 Ctrl 键,再按两下 w 键
6. 可视化模式
为了便于选取文本,vim 引入了可视(Visual)模式。 要选取一段文本,首先将光标移到开始位置,在命令模式下按 v 进入可视模式,然后把光标移到结束位置,即可选中这段内容,然后使用剪切或复制命令,即可剪切或复制该段内容。需要注意,光标所在字符是包含在选区中的。
- v 进入字符可视化模式,文本选择是以字符为单位的
- V 进入行可视化模式,文本选择是以行为单位的
- Ctrl + v 进入块可视化模式, 可以选择一个矩形内的文本
常见用法:
- ggVG 全选
未完 ......
点击访问原文(进入后根据右侧标签,快速定位到本文)
vim 常用命令总结(排版精良,内容优质)的更多相关文章
- [转]vim常用命令
[转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...
- VI/VIM 常用命令
VI/VIM 常用命令=========== 整理自鸟哥的私房菜 ---------- - 移动光标 命令 | 描述----------------------- ...
- vim常用命令总结(转)
vim常用命令 -------------------------------------------------------------------------------------------- ...
- 转 vim常用命令总结
vim常用命令总结 vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束 ...
- Linux 之 Vim常用命令
Vim常用命令 参考教程:[千峰教育] 终端编辑命令工具: vi/vim.emacs等. vim简介: vim是vi的扩展,被誉为终端编辑之神. vim安装: yum install -y vim 工 ...
- Vim常用命令及配置方案
Vim常用命令及配置方案 几句话 很久之前就接触到vim,初学那阵觉得vim很酷炫,但确实对新手不是很友好.我也就简单看了下基本操作就上手了,但又不是长期在vim下工作,这就导致了每一次重新使用v ...
- linux最强编辑神器vim常用命令大全:编辑、插入、删除、替换、保存...
我说vim是编辑器之神大家没有意见吧 下面分享一些vim常用命令,大家可以收藏一下 进入vim: vim配置: vim中光标移动: vim中屏幕滚动: vim中插入文本类: 文本替换: 格式 : 范 ...
- Vim常用命令总结
Vim常用命令总结: 下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的 如果有需要的小伙伴可以参考一下!(底部有下载地址) 一. 一般模式可用的按钮说明 1.1 ...
- vim常用命令(iOS)
iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...
- 实用手册:130+ 提高开发效率的 vim 常用命令
Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...
随机推荐
- Dockers安装nginx
方法一.通过 Dockerfile构建 创建Dockerfile 首先,创建目录nginx,用于存放后面的相关东西. runoob@runoob:~$ mkdir -p ~/nginx/www ~/n ...
- Xtrabackup--备份mysql
Xtrabackup介绍 Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁): ...
- Pycon 北京2019
- ubuntu之路——day8.1 深度学习优化算法之mini-batch梯度下降法
所谓Mini-batch梯度下降法就是划分训练集和测试集为等分的数个子集,比如原来有500W个样本,将其划分为5000个baby batch,每个子集中有1000个样本,然后每次对一个mini-bat ...
- Python操作excel工具
python操作excel的工具类有很多,下面举几个常见的工具类: 一. 1.xlrd 只能读取excel操作,支持xls和xlsx两种格式的 2.xlwt 只能写入excel操作,只支持 xls格式 ...
- 004 API约定
在具体的学习前,我还是决定学一下,REST风格中在ES中的约定. 1.多重索引 先准备数据: 如果不小心,json里的值写错了,修改过来,重新执行即可. PUT index1/_doc/1 { &qu ...
- c语言字符串分割函数(转)
源:C语言实现split以某个字符分割一个字符串 void split(char *src, const char *separator, char **dest, int *num) { /* sr ...
- Kotlin集合——Map集合
Kotlin集合——Map集合 转 https://www.jianshu.com/p/da5cc9072f1e Kotlin的Map集合用于保存key-value对,其也被分为可变的和不可变的. 一 ...
- Python适配器模式代码
Python设计模式之适配器模式,代码,思考等 # -*- coding: utf-8 -*- # author:baoshan class Computer: def __init__(self, ...
- Python3基础 str : 字符串的逆序
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...