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. luogu P5105 不强制在线的动态快速排序

    前言 考试的时候居然想错了区间贡献,mdzz 思路 题目看着很方啊,难道要树套树? 但数据范围提醒我们,是nlogn的复杂度 Sort(S)的定义是不是很鬼畜 但我们不动脑子的打表容易发现 连续区间[ ...

  2. What are the differences between Flyweight and Object Pool patterns?

    What are the differences between Flyweight and Object Pool patterns? They differ in the way they are ...

  3. 题解——loj6277 数列分块入门1(分块)

    分块裸题 然后就是记得左右边界处理和分块的初始化 忘了初始化会被卡成暴力 #include <cstdio> #include <algorithm> #include < ...

  4. 论文笔记:Learning Dynamic Memory Networks for Object Tracking

    Learning Dynamic Memory Networks for Object Tracking  ECCV 2018Updated on 2018-08-05 16:36:30 Paper: ...

  5. 操作 frames 框架下的 dom 内容。

    2016-12-30 框架名: var obj=$(window.frames["wangpan"].document).find("a[menu=download_on ...

  6. 登陆ArcGIS Server Manager时一直显示”请稍后……”

    登陆Server Manager时一直显示”请稍后……”新建完成ARcGIS ServerSite,设置用户名和密码.但是登陆时却发现一直处于等待状态,如下图: 更换为IE浏览器后发现,已经可以登陆并 ...

  7. 简单实现RN调用原生方法(IOS)

    在React Native中,一个“原生模块”就是一个实现了“RCTBridgeModule”协议的Objective-C类(个人理解RCTBridgeModule就是react与native之间的桥 ...

  8. Java离线人脸识别SDK 支持arcface 2.0 最新版

    虹软人脸识别SDK之Java版,支持SDK 1.1+,以及当前最新版本2.0,滴滴,抓紧上车! JDK SDK Win release license status 前言 由于业务需求,最近跟人脸识别 ...

  9. 1.TwoSum

    记录被LeetCode虐的日子 第一种方法:使用枚举 /** * Note: The returned array must be malloced, assume caller calls free ...

  10. Altium Designer PCB画板-交互式布局与模块化布局

    交互式布局 (1)为了达到原理图与PCB两两交互,需要在原理图界面和PCB界面都执行菜单命令“Tools-Cross Select Mode”,选择交互按钮