Vim文字编辑
首先说明发现的vim编辑器的一个特点:vim编辑只有按【ENTER】键或命令模式下【o】才会换行,否则虽然在vim编辑器里显示的内容换行了,但事实上没有换行。如果你发现自己测试的效果和下面描述的不符,很可能就是因为你的文字没有换行,按下^和$可以看当行的开始和结束位置。
一.文字编辑键和组合键
跳转功能
G H J K L 是控制光标移动的功能键。其中HJKL是【左】【下】【上】【右】。其中G的作用是控制在行之间的跳转
1G---从跳到第一行的第一个位置
nG---从光标出跳到第n行的第一个位置
G---从光标出跳到最后一行的第一个位置
gg---功能同1G
^---从光标处跳到当前行的第一个位置
$---从光标处跳到当前行的最后一个位置(最后位置取决于【ENTER】和【o】键按下的位置和屏幕换行无关,^$是正则表达式语法)
熟练使用GHJKL^$这6个功能键能组合出功能强大的效用:
删除功能:
当敲下d后会看到闪动的光标矮了一半,便是进入删除模式可以敲组合命令了,总结了几个组合命令如下:
dd---删除当前行第一个位置到最后一个位置的数据
ndd---删除当前行第一个位置到向下n个行最后一个位置的全部内容
d1G---删除第一行第一个位置到当前行最后一个位置的全部数据
dnG---删除第n行第一个位置到当前行最后一个位置的全部数据
dG---删除当前行第一个位置到最后一行最后一个位置的全部数据
dgg---功能同d1G
d^ ---删除光标处到当前行第一个位置的内容
d$ ---删除光标处到当前行最后一个位置的内容
复制功能
当敲下y后会看到闪动的光标矮了一半,便是进入复制模式可以敲组合命令了,总结了几个组合命令如下:
yy---复制当前行第一个位置到最后一个位置的数据
nyy---复制当前行第一个位置到向下n个行最后一个位置的全部内容
y1G---复制第一行第一个位置到当前行最后一个位置的全部数据
ynG---复制第n行第一个位置到当前行最后一个位置的全部数据
yG---复制当前行第一个位置到最后一行最后一个位置的全部数据
ygg---功能同y1G
y^ ---复制光标处到当前行第一个位置的内容
y$ ---复制光标处到当前行最后一个位置的内容
二.文字查找和替换
文字查找
/abc---向后查找abc
?abc---向前查找abc
n---查找下一个
文字替换
:1,$s/abc/ABC/g---替换全部abc为ABC
:1,$s/abc/ABC/gc---询问(confirm)替换全部abc为ABC
:1,$s?abc?ABC?g
:1,$s?abc?ABC?gc
Vim文字编辑的更多相关文章
- vim 如何编辑 GB2312 编码的文件?
vim 如何编辑 GB2312 编码的文件? 彻底搞清楚字符编码: ASCII, ISO_8859, GB2312,UCS, Unicode, U 结合file和iconv命令转换文件的字符编码类型 ...
- vim高级编辑(一)
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- vim 的编辑模式 命令模式
1.vim的编辑模式 进入编辑模式 按键: a i o a: 表示在光标当前的,后面开始插入,写数据 i : 则表示 前面 . o : 表面在光标当前的,下一行开始写入数据. O : 大写的 ...
- Linux 多个vi、vim进程编辑同一文件时的临时文件问题
多个vi.vim进程编辑同一文件时的临时文件问题 by:授客 QQ:1033553122 使用vi.vim编辑文件,实际是先copy一份临时文件并映射到内存里进行编辑,所以你编辑的是临时文件,不是 ...
- 用VIM查看编辑二进制文件
用VIM查看编辑二进制文件 vim可以很方便地编辑二进制文件,个人认为它比emacs的二进制编辑方式更好用.vim中二进制文件的编辑是先通过外部程序xxd来把文件dump成其二进制的文本形式,然后就可 ...
- linux vim vi编辑时撤销输入操作
linux vim vi编辑时撤销输入操作 1,esc退出输入状态 2,u 撤销上次操作 3,ctrl+r 恢复撤销
- 关闭QtCreator的vim风格编辑模式
今天不小心点到了键盘的快捷键Alt+V,使QtCreator进入了vim风格编辑模式,导致快捷键拷贝粘贴都不正常,找了下资料才发现是这个问题.具体操作如下: 打开QtCreator去掉下列位置的勾选或 ...
- vim 列编辑模式
vim 列编辑模式 标签: vim 视窗模式 列编辑模式 vim 列编辑模式 例子:给列批量添加前缀.后缀.修改字段 vim 列编辑模式 vim 有三种编辑模式,命令模式.输入模式.视窗模式,我们常用 ...
- xshell下使用vim的编辑一个文件Ctrl+S和Ctrl+Q
xshell下使用vim的编辑一个文件,保存的时候习惯性的按了Ctrl+S 结构悲剧了.屏幕锁死了.按其他键都没有反应,exc也不行. 经过问度娘才知道. 原来Ctrl+S在Linux里,是锁定屏幕的 ...
随机推荐
- java实时监听日志写入kafka
目的 实时监听某目录下的日志文件,如有新文件切换到新文件,并同步写入kafka,同时记录日志文件的行位置,以应对进程异常退出,能从上次的文件位置开始读取(考虑到效率,这里是每100条记一次,可调整) ...
- Git-Git分支
代码管理之殇 分支是代码管理的利器.如果没有有效的分支管理,代码管理就适应不了复杂的开发过程和项目的需要.在实际的项目实践中,单一分支的单线开发模式还远远不够,因为: 成功的软件项目大多要经过多个开发 ...
- Android 数据库的线程合作
前言:之前琢磨了很多线程相关的东西,一直摸不着头脑,直到学到了数据库,终于发现世界原来如此美好,任何事物都有存在的理由. 1.主线程,我把它比作长江,作为母亲河的长江,想必大家每个人都不会很陌生. 2 ...
- Hihocoder 1275 扫地机器人 计算几何
题意: 有一个房间的形状是多边形,而且每条边都平行于坐标轴,按顺时针给出多边形的顶点坐标 还有一个正方形的扫地机器人,机器人只可以上下左右移动,不可以旋转 问机器人移动的区域能不能覆盖整个房间 分析: ...
- 剑指Offer - 九度1519 - 合并两个排序的链表
剑指Offer - 九度1519 - 合并两个排序的链表2013-11-30 22:04 题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则.(hi ...
- 【tmux环境配置】在centos6.4上配置tmux
我学习tmux的动力如下: (1)tmux大法好.原因是被同学安利过tmux. (2)多个terminal下ssh到开发机太麻烦.还是之前实习的时候,总要开N个terminal去ssh开发机,这种东西 ...
- 利用socket.io构建一个聊天室
利用socket.io来构建一个聊天室,输入自己的id和消息,所有的访问用户都可以看到,类似于群聊. socket.io 这里只用来做一个简单的聊天室,官网也有例子,很容易就做出来了.其实主要用的东西 ...
- Node rescue/unrescue相关代码流程图
- form表单文件上传 servlet文件接收
需要导入jar包 commons-fileupload-1.3.2.jar commons-io-2.5.jar Upload.Jsp代码 <%@ page language="jav ...
- java作业 2017.10.14
课后作业一 1.设计思想: (1)通过组合数公式计算:分别输入中的n和k的值.定义一个计算n!的方法,然后调用方法分别计算出n!,k!,(n-k)!,然后通过公式=n!/(k!*(n-k)!)算出的值 ...