文档章节

Vim基本命令必知必会

小汉憨憨
 小汉憨憨
发布于 2014/02/24 20:31
字数 1284
阅读 134
收藏 14
点赞 0
评论 0
vi


光标移动定位方式
hjkl (强例推荐使用其移动光标,但不必需) →你也可以使用光标键 (←↓↑→). 注: j 就像下箭头
       
0 → 数字零,到行首
^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)
$ → 到本行行尾
g_ → 到本行最后一个不是blank字符的位置(还需确定弄清楚_0119)
b → 向前移动一单词的距离,并至单词首

w → 向后移动一单词的距离,并至单词首

ge → 向前移动一单词的距离,并至单词尾
e → 向后移动一单词的距离,并至单词尾

 )→ 向前移动一个句子
( → 向后移动一个句子
{ → 向前移动一个段落
} → 向后移动一个段落
gg → 移动到文件第一行第一个单词首
G → 移动到文件最后一行第一个单词首
f [F]c → 跳到本行后一个字符c所在处 [F表示向前]
gd → 跳到单字(标识符、函数等)定义处
N+[Enter] → N为数字,光标向下移动N行
: + N → N为数字,光标移动到指定行
<C-d>→屏幕向下移动半页
<C-u>→屏幕向上移动半页
<C-f> →屏幕向下移动一页
<C-b> →屏幕向上移动一页
H →移动到本屏幕第一行第一个单词首
M →移动到本屏幕中间第一个单词首
L →移动到本屏幕最后一行第一个单词首
z + [Enter] →当前光标所在行变为屏幕首行

z + [ - ] →当前光标所在行变为屏幕尾行


插入方式
i → 在光标前途插入
a → 在光标后插入
I → 在当前行首插入
A → 在当前行尾插入
o → 在当前行后插入一个新行

O → 在当前行前插入一个新行


删除、复制和粘贴
x,X → 在一行字中,x为向后删除一个字符,X为向前删除一个字符
dt c → 删除从光标所在处到字符c
dl → 删除光标所在的字符
yl → 复制光标所在的字符
cl → 改变光标所在的字符
dw → 删除光标所在的单词
yw → 复制光标所在的单词( ye )
cw → 改变光标所在的单词

dd → 删除光标所在的一整行
yy → 复制光标所在的一行
cc → 改变光标所在的一行
ndd → 删除光标所在的向下n行

p,P → p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行


可视化选择
v → 字符选择,会将光标经过的地方反白选择
V → 行选择
<C-v> → 块选择


y → 复制反白的地方
d → 删除反白的地方

U → 变大写
u → 变小写

J → 把所有的行连接起来(变成一行)
< 或 > → 左右缩进

= → 自动给缩进 (陈皓注:这个功能相当强大,我太喜欢了)


搜索替换
/pattern → 向下搜索 pattern 的字符串(陈皓注:如果搜索出多个匹配,可按n键到下一个)
?pattern → 向下搜索 pattern 的字符串
n → 向相同方向查找下一个
N → 向相反方向查找下一个
:n1,n2s/pattern1/pattern2/g → 在第n1行和n2行之间寻找pattern1这个字符串,并且将其替换为pattern2.
:1,$s/pattern1/pattern2/g → 从第一行到最后一行寻找pattern1这个字符串,并且将其替换为pattern2.
:1,$s/pattern1/pattern2/gc → 从第一行到最后一行寻找pattern1这个字符串,并且将其替换为pattern2.且在替换前显示提示字符给用户确认是否需要替换

r,R → 进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键


多文件编辑
:bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件(或用:n和:N)
:rew 回到第一个文件
n# → 跳到前一个文件,实现两个文件之间相互切换
:ls → 列出当前编辑的文件
:bd → 关闭当前文件
:bd! → 强制关闭当前文件
]c → 比较两文件不同时跳到下一个不同处

[c → 比较两文件不同时跳到上一个不同处


打开/保存/退出
:e <path/to/file> → 打开一个文件
:w → 存盘
:saveas <path/to/file> → 另存为 <path/to/file>
:x, ZZ 或 :wq → 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)
:qa → 退出所有文件  

:q! → 退出不保存 :qa! 强行退出所有的正在编辑的文件,就算文件有更改


其它
Undo/Redo
u → undo 
<C-r> → redo


.→小数点,重复前一个操作
==  → 自动给缩进光标所在行


<C-p>或是<C-n>,自动补齐功能
 

:shell → 暂时进入shell,当输入exit时可回到vi继续编辑

输入 :h! 试试看

再输入 :h 42呢?



© 著作权归作者所有

共有 人打赏支持
小汉憨憨
粉丝 3
博文 12
码字总数 14052
作品 0
武汉
程序员
PHPer 必知必会的 Linux 命令

PHPer 必知必会的 Linux 命令https://github.com/Nick233333/gitbook

-Nick- ⋅ 06/08 ⋅ 0

新手必看,Spring Boot CLI 必会必知

新手必看,Spring Boot CLI 必会必知 泥瓦匠BYSocket2017-10-249 阅读 Spring技术 Spring Boot CLI 是什么 Spring Boot CLI 是 Spring Boot Commad Line 的缩写,是 Spring Boot 命令行工具。...

泥瓦匠BYSocket ⋅ 2017/10/24 ⋅ 0

程序猿成长计划--growing-up

程序猿成长计划 程序员成长计划包含了作为一名程序猿成长过程中的所学,我把这些以教程的形式开源出来,供大家一起学习、补充,共同成长。 三十分钟学会AWK Docker学习笔记-基础命令 一小时学...

mylxsw ⋅ 2016/11/30 ⋅ 0

VIM 必知必会12大类型操作

VIM是在unix/linux系统下最常用的文本编辑器,呵呵……这就不用我再强调了,现在直接贴上vim的最常用的操作,方便日后温习及查阅! 1、插入 i 在光标前插入 I 在行首插入 a 在光标后插入 A 在...

前台满300减30 ⋅ 2012/01/12 ⋅ 0

伍哥原创之vim必知必会

1,一般我们都会使用vim来查看和编辑脚本,所以要先好好配置一下哦 加入: set nocompatible “关闭vi兼容 set expandtab “使用space代替tab set tabstop=4 “tab使用4个空格 set smartind...

alex.wu ⋅ 2012/08/06 ⋅ 0

推荐一些不错的计算机书籍

推荐一些不错的计算机书籍。 # PHP 《PHP程序设计》(第2版) --PHP语法和入门最好的书 《PHP5权威编程》 --PHP入门后升级书 《深入PHP:面向对象、模式与实践》(第3版) --理解PHP中的面向对象...

Junn ⋅ 2013/08/30 ⋅ 0

推荐《高性能MYSQL(第3版)》及 { MySQL性能管理及架构设计 }

最近项目所在服务器经常当机,我怀疑是不是数据库的问题,却不知从哪下手优化。 MySQL的性能优化一直是非常有必要学习的! 考虑 购买:《高性能MYSQL(第3版)》 同学福利:电子版终于找到:放...

phpervip ⋅ 2017/09/30 ⋅ 0

必知必会的目录和文件的作用、安装软件方法、运行级别

目 录 第1章 ctrl+1 1 1.2 /etc/目录 1 1.2.1 网卡配置文件和DNS配置文件 1.2.2 更改本机hosts文件 1.2.3 修改主机名 1.2.4 开机自动挂载的设备与目录的对应关系 1.2.5 开机自动运行的软件和...

GeorgeKai ⋅ 2017/12/18 ⋅ 0

HTTP必知必会

HTTP消息 HTTP请求消息 HTTP响应消息 消息首行 请求行 响应行 消息头部 请求头 请求头 消息正文 请求正文 响应正文 Web服务器把接收到的HTTP请求消息封装成request对象,作为service的参数传...

天蚕宝衣 ⋅ 2016/03/31 ⋅ 0

双11Java程序员书单推荐

Java 《Java核心技术卷I》 《Java核心技术卷II》 《Java编程思想》 《Java并发编程实战》 《Effective Java》 《Java8实战》 《Java8函数式编程思维》 《深入理解Java虚拟机》 《Java性能权威...

黄步欢 ⋅ 2017/11/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 19分钟前 ⋅ 0

Java学习路径及练手项目合集

Java学习路径及练手项目合集

颖伙虫 ⋅ 35分钟前 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

MVC——统一报文格式的异常处理响应

在我们写controller层的时候,常常会有这样的困惑,如果需要返回一个数据是,可能为了统一回去构造一个类似下列的数据格式: { status:true, msg:"保存成功!", data:[]} 而且在写...

alexzhu592 ⋅ 昨天 ⋅ 0

android -------- 打开本地浏览器或指定浏览器加载,打电话,打开第三方app

开发中常常有打开本地浏览器加载url或者指定浏览器加载, 还有打开第三方app, 如 打开高德地图 百度地图等 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。 如果手机本身...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部