vi常用快捷键

1)移动光标

h :光标左移一个字符
k :光标上移一个字符
j :光标下移一个字符
l :光标右移一个字符

0 :光标移至行首
$ :光标移至行尾

H :光标移至屏幕首行
M :光标移至屏幕中间
L :光标移至屏幕最末行
G :跳转到文件的末尾行
gg: 跳转到文件的首行

2)插入文本

i :在光标前插内内容
a :在光标后插入内容
o :在所在行的下一行插入新行
O :在所在行的上一行插入新行

3)删除文本

x:删除光标后面的字符
X:删除光标前面的字符
nx:删除光标后面n个字符
nX:删除光标前面的n个字符
d0:删除光标至行首的内容
d$:删除光标至行尾的内容
dd :删除整行
ndd :向下删除n行

4)复制文本

yy :复制整行
nyy :复制n行
p :在所在行下一行粘贴
P :在所在行上一行粘贴
dd :剪切整行

5)查找文本

/pattern :向下查找
?pattern :向上查找
n :顺序查找
N :反向查找
:s/p1/p2/g :在当前行,将p1替换成p2
:n1,n2s/p1/p2/g :将n1至n2行之间的p1替换成p2

6)屏幕翻滚

ctrl+u:向文件首翻半屏
ctrl+d:向文件尾翻半屏
ctrl+f:向文件尾翻一屏
ctrl+b:向文件首翻一屏

7)末行命令

:n1,n2 co n3 :将n1至n2行复制到n3行的下面
:n1,n2 m n3 :将n1至n2行剪切至n3行的下面
:n1,n2 d :将n1至n2行删除

:w 保存
:q 退出
:x 保存并退出 或 :wq
:q! 强制退出
:w! 强制保存
:数字 定位到指定行
:set nu 显示行号
:set nonu 取消行号
u:取消上一次操作

vi常用快捷键的更多相关文章

  1. vi常用快捷键汇总

      第一部分:光标移动.复制粘贴.查找替换 [Ctrl] + [f]  下一页 [Ctrl] + [b]  上一页  0或[home]  到行首 $或[end]  到行尾  G  到最后一行  gg ...

  2. sublime开启vi编辑器功能,与vi常用快捷键

    sublime开启vi编辑器 install package -> vintageES 设置里面 ignored_packages 里面的vintage去掉 VI命令 游标控制 h 游标向左移 ...

  3. Linux学习,Vim以及Vi常用快捷键

    VIM配置文件路径: /etc/vmrc ===> 系统配置文件路径 ~/.vimrc ===> 当前用户配置文件路径 $VIM ===> 与VIM配置文件相关的变量 进入插入模式: ...

  4. vi常用命令及快捷键

    vi常用快捷键 1)移动光标 h :光标左移一个字符j :光标上移一个字符k :光标下移一个字符l :光标右移一个字符 0 :光标移至行首$ :光标移至行尾 H :光标移至屏幕首行M :光标移至屏幕中 ...

  5. vi/vim的常用快捷键

    vi/vim分为 命令模式,插入模式(编辑模式),末行模式(最后一行) 模式的转换 ① 其它模式==>正常模式 按 Esc键 ②正常模式==>插入模式 按 i 在光标前插入 按 I 在行首 ...

  6. IDEA默认常用快捷键

    作为Java的利器,IDEA属实是非常好用,参考网文总结其常用快捷键如下: Ctrl + /(Ctrl + Shift + /):注释或反注释指定的语句.这个是本人最喜欢的,所以排在第一位. Ctrl ...

  7. [转贴] VIM 常用快捷键 --一直记不住

    vim 常用快捷键  原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...

  8. bash常用快捷键和命令

    在使用Linux的时候,最常见的终端解释器就是bash了.bash下有很多技巧,我知道这么几个: 0.关于按键模式bash默认的按键模式是emacs风格的.你也可以通过set -i vi设定为vi风格 ...

  9. Visual Studio 常用快捷键(一)

    最近看到很多同事用 VI 来开发Ruby,Python脚本. 编辑代码全部用的是快捷键,效率很高. 其实Visual Stuido也有非常多的快捷键,熟练运用后,能大大提高工作效率. 本文介绍一些最常 ...

随机推荐

  1. Win10 快捷命令收集

    桌面相关 Win+D:显示桌面 Win+Tab:虚拟桌面切换器 Win+Ctrl+D 新建桌面 Win+Ctrl+左/右 :移动虚拟桌面 Win+m :最小化窗口 Win键 + Ctrl + F4 关 ...

  2. 160CrackMe练手 002

    首先查壳无壳,输入伪码报错,根据报错od查找字符串,定位到错误代码附近,可以看到有个条件跳转,改掉就可以爆破,接下来分析下注册算法,我们周围看看,从最近几个call看,并没有我们输入的用户名在堆栈中出 ...

  3. Golang初练手-多线程网站路径爆破

    以前用Python写过这个工具,前两天看了golang的基础,就想着用这个语言把这个工具重写一遍 先放张图 用法 Example : Buster.exe -u=https://www.baidu.c ...

  4. 论操作系统的IO

    论事件驱动与异步IO - 简书 https://www.jianshu.com/p/814c7e7c4647

  5. pyhon 之 数据类型详解

    目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字符串,例如:str='th ...

  6. HIHOcoder 1449 后缀自动机三·重复旋律6

    思路 显然endpos的大小就对应了对应子串的出现次数,所以快速求出endpos的大小,然后用它更新对应子串长度(minlen[i]~maxlen[i])的答案即可 endpos的大小可以拓扑排序求出 ...

  7. (转)Is attacking machine learning easier than defending it?

    转自:http://www.cleverhans.io/security/privacy/ml/2017/02/15/why-attacking-machine-learning-is-easier- ...

  8. ASP.NET MVC AntiForgeryToken

    你开发一个网站,其中有个功能:新闻发布. 你是这样实现的: 1.保存新闻的方法是:/News/Save  POST提交 2.接受两个参数:title和content 有一天,你登录网站(浏览器会保存相 ...

  9. Centos6.5 搭建LAMP环境

    1.Centos6.5 处于对安全的考虑,严格控制网络的进去.所以安装  Apache 或 MySQL 的时候,需要开放 80 或 3306 端口 首先,执行如下命令查看当前防火墙开放了哪些端口: [ ...

  10. bean之间的属性是怎么维护的

    spring对象[bean]之间的属性是通过什么维护的: 1.构造方法:标签:constructor-arg 2.set方法:标签:property <beans xmlns="htt ...