vi常用快捷键
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常用快捷键的更多相关文章
- vi常用快捷键汇总
第一部分:光标移动.复制粘贴.查找替换 [Ctrl] + [f] 下一页 [Ctrl] + [b] 上一页 0或[home] 到行首 $或[end] 到行尾 G 到最后一行 gg ...
- sublime开启vi编辑器功能,与vi常用快捷键
sublime开启vi编辑器 install package -> vintageES 设置里面 ignored_packages 里面的vintage去掉 VI命令 游标控制 h 游标向左移 ...
- Linux学习,Vim以及Vi常用快捷键
VIM配置文件路径: /etc/vmrc ===> 系统配置文件路径 ~/.vimrc ===> 当前用户配置文件路径 $VIM ===> 与VIM配置文件相关的变量 进入插入模式: ...
- vi常用命令及快捷键
vi常用快捷键 1)移动光标 h :光标左移一个字符j :光标上移一个字符k :光标下移一个字符l :光标右移一个字符 0 :光标移至行首$ :光标移至行尾 H :光标移至屏幕首行M :光标移至屏幕中 ...
- vi/vim的常用快捷键
vi/vim分为 命令模式,插入模式(编辑模式),末行模式(最后一行) 模式的转换 ① 其它模式==>正常模式 按 Esc键 ②正常模式==>插入模式 按 i 在光标前插入 按 I 在行首 ...
- IDEA默认常用快捷键
作为Java的利器,IDEA属实是非常好用,参考网文总结其常用快捷键如下: Ctrl + /(Ctrl + Shift + /):注释或反注释指定的语句.这个是本人最喜欢的,所以排在第一位. Ctrl ...
- [转贴] VIM 常用快捷键 --一直记不住
vim 常用快捷键 原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...
- bash常用快捷键和命令
在使用Linux的时候,最常见的终端解释器就是bash了.bash下有很多技巧,我知道这么几个: 0.关于按键模式bash默认的按键模式是emacs风格的.你也可以通过set -i vi设定为vi风格 ...
- Visual Studio 常用快捷键(一)
最近看到很多同事用 VI 来开发Ruby,Python脚本. 编辑代码全部用的是快捷键,效率很高. 其实Visual Stuido也有非常多的快捷键,熟练运用后,能大大提高工作效率. 本文介绍一些最常 ...
随机推荐
- luogu P5105 不强制在线的动态快速排序
前言 考试的时候居然想错了区间贡献,mdzz 思路 题目看着很方啊,难道要树套树? 但数据范围提醒我们,是nlogn的复杂度 Sort(S)的定义是不是很鬼畜 但我们不动脑子的打表容易发现 连续区间[ ...
- 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 ...
- 题解——loj6277 数列分块入门1(分块)
分块裸题 然后就是记得左右边界处理和分块的初始化 忘了初始化会被卡成暴力 #include <cstdio> #include <algorithm> #include < ...
- 论文笔记:Learning Dynamic Memory Networks for Object Tracking
Learning Dynamic Memory Networks for Object Tracking ECCV 2018Updated on 2018-08-05 16:36:30 Paper: ...
- 操作 frames 框架下的 dom 内容。
2016-12-30 框架名: var obj=$(window.frames["wangpan"].document).find("a[menu=download_on ...
- 登陆ArcGIS Server Manager时一直显示”请稍后……”
登陆Server Manager时一直显示”请稍后……”新建完成ARcGIS ServerSite,设置用户名和密码.但是登陆时却发现一直处于等待状态,如下图: 更换为IE浏览器后发现,已经可以登陆并 ...
- 简单实现RN调用原生方法(IOS)
在React Native中,一个“原生模块”就是一个实现了“RCTBridgeModule”协议的Objective-C类(个人理解RCTBridgeModule就是react与native之间的桥 ...
- Java离线人脸识别SDK 支持arcface 2.0 最新版
虹软人脸识别SDK之Java版,支持SDK 1.1+,以及当前最新版本2.0,滴滴,抓紧上车! JDK SDK Win release license status 前言 由于业务需求,最近跟人脸识别 ...
- 1.TwoSum
记录被LeetCode虐的日子 第一种方法:使用枚举 /** * Note: The returned array must be malloced, assume caller calls free ...
- Altium Designer PCB画板-交互式布局与模块化布局
交互式布局 (1)为了达到原理图与PCB两两交互,需要在原理图界面和PCB界面都执行菜单命令“Tools-Cross Select Mode”,选择交互按钮