首先说明发现的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文字编辑的更多相关文章

  1. vim 如何编辑 GB2312 编码的文件?

    vim 如何编辑 GB2312 编码的文件? 彻底搞清楚字符编码: ASCII, ISO_8859, GB2312,UCS, Unicode, U 结合file和iconv命令转换文件的字符编码类型 ...

  2. vim高级编辑(一)

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  3. vim 的编辑模式 命令模式

    1.vim的编辑模式    进入编辑模式 按键: a  i  o a: 表示在光标当前的,后面开始插入,写数据 i : 则表示 前面 . o : 表面在光标当前的,下一行开始写入数据. O : 大写的 ...

  4. Linux 多个vi、vim进程编辑同一文件时的临时文件问题

    多个vi.vim进程编辑同一文件时的临时文件问题 by:授客 QQ:1033553122   使用vi.vim编辑文件,实际是先copy一份临时文件并映射到内存里进行编辑,所以你编辑的是临时文件,不是 ...

  5. 用VIM查看编辑二进制文件

    用VIM查看编辑二进制文件 vim可以很方便地编辑二进制文件,个人认为它比emacs的二进制编辑方式更好用.vim中二进制文件的编辑是先通过外部程序xxd来把文件dump成其二进制的文本形式,然后就可 ...

  6. linux vim vi编辑时撤销输入操作

    linux vim vi编辑时撤销输入操作 1,esc退出输入状态 2,u 撤销上次操作 3,ctrl+r 恢复撤销

  7. 关闭QtCreator的vim风格编辑模式

    今天不小心点到了键盘的快捷键Alt+V,使QtCreator进入了vim风格编辑模式,导致快捷键拷贝粘贴都不正常,找了下资料才发现是这个问题.具体操作如下: 打开QtCreator去掉下列位置的勾选或 ...

  8. vim 列编辑模式

    vim 列编辑模式 标签: vim 视窗模式 列编辑模式 vim 列编辑模式 例子:给列批量添加前缀.后缀.修改字段 vim 列编辑模式 vim 有三种编辑模式,命令模式.输入模式.视窗模式,我们常用 ...

  9. xshell下使用vim的编辑一个文件Ctrl+S和Ctrl+Q

    xshell下使用vim的编辑一个文件,保存的时候习惯性的按了Ctrl+S 结构悲剧了.屏幕锁死了.按其他键都没有反应,exc也不行. 经过问度娘才知道. 原来Ctrl+S在Linux里,是锁定屏幕的 ...

随机推荐

  1. CodeForces 873F Forbidden Indices 后缀数组

    忘了当时怎么做的了,先把代码贴上,保存一下后缀数组模板. #include <cstdio> #include <cstring> #include <algorithm ...

  2. groupNoAdj

    public boolean groupNoAdj(int start, int[] nums, int target) { if( start >= nums.length){ return ...

  3. 《Cracking the Coding Interview》——第4章:树和图——题目3

    2014-03-19 03:34 题目:给定一个排好序的数组,设计算法将其转换为一棵二叉搜索树,要求树的高度最小. 解法:递归生成平衡二叉树,使左右子树的节点数尽量相等,所以对半开最好了.其实也可以生 ...

  4. leetcode 【 Intersection of Two Linked Lists 】python 实现

    题目: Write a program to find the node at which the intersection of two singly linked lists begins. Fo ...

  5. Python 列表、元组、字典及集合操作详解

    一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...

  6. flask_入门教程之一

    一.教程涉及开发语言.脚本.框架.数据库等内容 Python + Flask + requests 通过命令安装:pip install flask 二.创建第一个flask脚本 一个最小的 Flas ...

  7. java初学2

    1.数组操作类Arrays与System public static void arraycopy(Object src, int srcPos, Object dest,int destPos,in ...

  8. PAT——甲级1042:Shuffling Mashine

    终于做到甲级了 就一个感觉....题目是真的看不懂,亏我还是四六级都过了的人....可是看完题愣是一点都不懂是什么意思. 1042 Shuffling Machine (20 point(s)) Sh ...

  9. DB2数据库的日志文件管理

    DB2数据库的日志文件管理 DB2的日志模式 1.1循环日志 当循环日志生效时,事务数据将通过循环的方式写入主要日志文件.当存储于某个日志文件中的所有记录都不再需要用于恢复时,该日志文件将被重用,并且 ...

  10. Python数据分析-Pandas(Series与DataFrame)

    Pandas介绍: pandas是一个强大的Python数据分析的工具包,是基于NumPy构建的. Pandas的主要功能: 1)具备对其功能的数据结构DataFrame.Series 2)集成时间序 ...