20. VIM命令操作技巧

V可视化选中当前行,根据光标可多行
ctrl+v 可视化块
v可视化根据光标



行间移动



快速增删改查
d 0 删除当前位置到行首
d $ 删除当前位置到行尾
d t (" ] ) )符号 删除直到某个符号
d a w 删除单词(包括空格) d i w 删除单词(不包括空格)
dd 删除当前行
x 删除字符
数字 + 命令,多次执行 e.g. 4dd 删除4行 4x 删除4个单词

r a 单个字符的修改
s a删除当前字符,进入插入模式
R 不断进行当前字符替换
S 删除当前行,进入插入模式
c a w 删除单词 并进入插入模式
C 删除当前行,进入插入模式
c t + 符号 删除到某个符号,并进入插入模式

: set hls 匹配的词高亮
: set incsearch 边匹配边高亮
搜索替换


搜索替换
: % s/profile/profile222/g
: 1,10 s/profile/profile222/g
:1,15 s/profile//n 计算1到15行出现profile的个数
:1,15 s/\<profile\>/profile222/g 利用正则匹配替换 “profile” 为 profile222
多文件操作VIM



e.g
:e filename 打开多个文件
:ls 列出当前缓冲区




e.g : tabnew filename 打开新标签文件
gt 在标签里切换
VIM 的 Text Object



e.g
viw 选中单词 vaw 选中单词(包括空格)
c i w 删除单词并变为插入模式
c a w 删除单词(包括空格)并变为插入模式
vi [ / "
ci [ / "

set autoindent
set paste 在插入模式粘贴拷贝代码时不会格式混乱
set nopaste 使得换行时set autoindent继续生效

“ a 指定寄存器a ,yy 复制到到寄存器a : reg a 查看寄存器 a的内容
“ a p 粘贴寄存器a的内容出来

: echo has('clipboard') 检查是否有剪切板 返回1 代表有
: set clipboard=unamed 设置为系统剪切板
: e ! 重新加载文件,不保存当前文本
解决粘贴乱码 : set paste (set nopaste 恢复) 或者 " + 或者 : set clipboard=unamed
VIM 宏(macro)


qa " "
@a

: CTRL+ P上一次的命令
VIM 补全大法









20. VIM命令操作技巧的更多相关文章
- Linux之find命令操作技巧
一.前言 工作中,我们常用find命令查找某些文件或者删除一些旧的日志文件,所以学会find命令的操作技巧就极为重要. 二.find常用参数选项 -depth 从指定目录下最深层的子目录开始查找 -m ...
- vim常用操作技巧与配置
vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中 ...
- vim 常用操作技巧
记录常用的vim操作技巧,基本满足90%的日常编辑使用. 文档操作 vim test.txt 打开当前目录下的test.txt文档,若不存在则创建该文件 :w 保存当前修改到文件 :w bak.txt ...
- 【Linux学习四】Linux下Vim命令操作
1.Vim介绍 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 第一阶段通过vimtutor的学习,加强vim的熟练度 1.1光标移动 hjkl左 ...
- VIM命令操作
退出命令 :wq 保存并退出 ZZ 保存并退出 :q! 强制退出并忽略所有更改 :e! 放弃所有修改,并打开原来文件.
- vi/vim系统编辑命令使用技巧
01前言 在Linux系统中会有很多的文件信息,这些文件的内容如果需要编辑,就必须借助vi或vim编辑命令. vi是Linux命令行界面下的重要文字编辑器.vim是vi命令的增强版. [语法格式] v ...
- VIM编辑命令的技巧
vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V 从光标 ...
- vim常用操作和使用技巧
vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中 ...
- Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包
一.补充应用技巧 目标: 本例要求掌握在运维中比较常用的一些扩展命令技巧的使用,完成下列小技巧操作: 1> 采用数值形式将目录/root的权限调整为 rwx------ 2> 将记录的 ...
随机推荐
- 基于live555开发嵌入式linux系统的rtsp直播服务
最近要搞一个直播服务,车机本身是个前后双路的Dvr,前路1080P 25fps,后路720P 50fps,现在要连接手机app预览实时画面,且支持前后摄像头画面切换. 如果要做直播,这个分辨率和帧率是 ...
- Bzoj通过5题纪念
我A了五题啦!!!
- 第01课 OpenGL窗口(2)
下一段包括了所有的绘图代码.任何您所想在屏幕上显示的东东都将在此段代码中出现.以后的每个教程中我都会在例程的此处增加新的代码.如果您对OpenGL已经有所了解的话,您可以在 glLoadIdentit ...
- ICMP 协议仿真及ping命令用途
1.实验目的 加深对 IPv4 协议首部各定义域的理解,掌握路由表的结构和基本配置命令,熟悉 ICMP 的调试操作. 2.实验原理 IPv4 协议定义,网络层协议的相关 RFC 定义和描述. 3.实验 ...
- 【Go语言学习笔记】函数做参数和闭包
函数做参数 在Go语言中,函数也是一种数据类型,我们可以通过type来定义它,它的类型就是所有拥有相同的参数,相同的返回值的一种类型.类似于重写(同名覆盖). 回调函数:函数有一个参数是函数类型,这个 ...
- LINUX系统新增及自动挂载硬盘-九五小庞
Linux系统下,添加新硬盘后,自动挂载的方法 1,列出所有硬盘,找到需要挂载的硬盘,例如/dev/vdb.输入: fdisk -l 2,查看硬盘是不是已经被挂载.一个硬盘不能重复挂载,已经挂 ...
- Web实时通信,SignalR真香,不用愁了
前言 对于B/S模式的项目,基础的场景都是客户端发起请求,服务端返回响应结果就结束了一次连接:但在很多实际应用场景中,这种简单的请求和响应模式就显得很吃力,比如消息通知.监控看板信息自动刷新等实时通信 ...
- go输入Hello word
package main import "fmt" func main() { fmt.Println("hello word") } 输入hello ...
- Spring Data Redis Stream的使用
一.背景 Stream类型是 redis5之后新增的类型,在这篇文章中,我们实现使用Spring boot data redis来消费Redis Stream中的数据.实现独立消费和消费组消费. 二. ...
- SpringBoot 整合 Docker
最近备忘录新加的东西倒是挺多的,但到了新环境水土不服没动力去整理笔记 1. Demo Project 首先准备一个简单的项目,用来部署到 Docker 主机上,并且能验证该项目是否成功运行 1.1 接 ...