Vim基本命令
很久不用vim了,发现什么命令都忘光了,敲起代码来连复制粘贴都不会了,还得用gedit去搞,真的相当蛋疼。这里把常用的命令汇总一下,趁机好好系统的记一下。不看不知道,看了才晓得原来vim还有很多非常炫的特性。
帮助文档
首先,我们得晓得vim的帮助文档。当然man vim 是一个不错的选择,不过他主要是基于在bash中使用,而不是在vim界面中的使用。非常感人的是,vim有一个自带的中文教程(中文!),讲的非常清楚(不过我没耐心看完)。
myths@myths-X450LD:~$ vimtutor
vim的模式
指令模式(任意模式下按Esc或Ctrl+[进入) 用来正常情况下的快捷指令,是各个模式之间切换的桥梁
插入模式(指令模式下按i进入) 左下角显示--INSERT-- 实际上就是普通的文本编辑器
可视模式(指令模式下按v进入) 左下角显示--VISUAL--
末行模式(指令模式下按: 或 / 进入,在屏幕最下面可以输入命令)
命令历史
所有以 行末模式输入的命令都有历史,键入 : / 或?后然后按上下方向键即可翻阅之前的命令。
文件命令
其实vim可以在bash中一次打开多个文件:
myths@myths-X450LD:~$ vim file1 file2 file3
也可以在vim中打开新的文件:
open foo.txt
也可以用拆分的试图打开新的文件:(不太会用)
split foo.txt
如果一次性打开了多个文件,那么可以用以下命令来切换文件:(上下切换)
:bn
:bp
如果忘记了当前的文件叫啥,可以用如下命令查看当前的文件名:
:arg
(其实在用:w 保存的时候也会在左下角显示文件名)
插入命令
命令 | 用法 |
---|---|
i | 在当前位置生前插入 |
a | 在当前位置后插入 |
I | 在当前行首插入 |
A | 在当前行尾插入 |
o | 在当前行之后插入一行 |
O | 在当前行之前插入一行 |
一般是灵活使用 i o 即可。
查找命令
这个非常简单实用!
/text
text是你要查找的内容。。。然后查找下一个只需要按n,查找上一个按N。
或者是?text反向查找(可以不去管他了)
替换命令
替换光标所在字符可以在指令模式下按r 再按替换的字符即可。
替换字符串:
:s/old/new/
这里表示在当前行用new来替换old字符第一个匹配到的字符
如果需要全局替换,需要输入:
:s/old/new/g
g表示全局替换
匹配的串可以用正则来表示,而且s可以替换为一个区间,比如:
:10,20 s/^/haha/g
表示在10到20行的行首添加haha,非常好理解。
!注意,Vim默认的替换方式是单行替换,也就是说上面的所有替换方法都是对于单行,是指定行的替换,/g也是指在选定行下进行的全局替换,如果是要在全文中进行替换,则需要用%s参数,比如:
:%s/old/new/g
表示在全文中将old 替换成new 。
移动命令
h 左移 ;l 右移 ;k 上移 ;j 下移;
w 前移一个单词 ;b 后移一个单词;
当然,所有的移动都可以在前面加数字表示移动的距离。
<home> 行首;<end>行尾;
gg 文件头;G 文件尾;
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
撤销和重做:
实用!
u 撤销
Ctrl + r 重做
删除操作:
命令 | 功能 |
---|---|
x | 删除当前字符用 |
dd | 删除当前行用 |
dj | 删除上一行 |
dk | 删除下一行 |
10d | 删除当前行开始的10行. |
D | 删除当前字符至行尾 |
:1,10d | 删除1-10行 |
拷贝粘贴
命令 | 功能 |
---|---|
yy | 拷贝当前行 |
10yy | 拷贝当前后开始的10行 |
p | 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。 |
:1,10 co 20 | 将1-10行插入到第20行之后。 |
ddp | 交换当前行和其下一行,实际上就是删除当前行然后放在下一行的后面 |
在可视模式下,用jklh命令移动即可选择某些行或字符,再按y即可复制。
剪切命令
:1, 10 m 20
将第1-10行移动到第20行之后
退出命令
命令 | 功能 |
---|---|
:x或 :wq | 保存并退出 |
:q! | 强制退出并忽略所有更改 |
:e! | 放弃所有修改,并打开原来文件。 |
宏
vim竟然可以实现宏功能,微醺。
在指令模式下按p再按一个字母比如a,然后输入想要的指令最后再按q即可录制出宏,保存在的@a里。下次想用的时候只需要在指令模式下按@a即可使用宏。
执行shell
在行末模式下输入!再输入命令即可:
:!g++ test.cpp
相关文章
- vim补全插件_vim实用插件
- 从零开始配置 vim(9)——初始配置
- vim背景颜色详细设置_vim显示行号命令
- vim替换区分大小写_word英文大小写切换
- Linux安装vim命令
- linux vim常用命令_linuxvi编辑器命令
- vim复制粘贴_linux粘贴复制快捷键
- Vim高级用法之taglist插件
- 一条命令实现Vim IDE发装配置?
- 从零开始配置vim(30)——DAP的其他配置
- 最强编辑神器VIM全讲解
- 为啥运维人员更喜欢 NeoVim 而不是 Vim?这8个原因或许是答案,命令对比一目了然!
- Linux命令之vim(二)详解程序员
- vim常用命令总结 (转)详解程序员
- 编辑如何使用Linux进入Vim编辑器(linux进入vim)
- 命令妙用Linux的Vim退出命令(linux的vim退出)
- 器 探索Linux下Vim编辑器的魅力(linux的vim编辑)
- Linux世界没有Vim:意想不到的后果(linux没有vim)
- 使用Vim命令掌握Linux技能!(linux中的vim命令)
- Linux下如何保存并退出Vim(linux保存退出vim)
- 使用Linux Vim调整颜色,轻松提升视觉效果(linuxvim颜色)
- Linux下简单搞定Vim编辑器(linux如何使用vim)
- SpaceVim – 开箱即用的Vim-IDE,用户仅需载入相关语言的模块即可得到一个开箱即用的Vim-IDE。