一般模式:移动光标的方法
h或 向左方向键(←)光标向左移动一个字符
j或 向下方向键(↓)光标向下移动一个字符
k或 向上方向键(↑)光标向上移动一个字符
l或 向右方向键(→)光标向右移动一个字符
如果想要进行多次移动的话,例如向下移动30行,可以使用"30j"或 "30↓"的组合按键,亦即
加上想要进行的次数(数字)后,按下动作即可!
[Ctrl]+ [f] 屏幕『向下』移动一页,相当于[PageDown]按键 (常用)
[Ctrl]+ [b] 屏幕『向上』移动一页,相当于[PageUp] 按键 (常用)
[Ctrl]+ [d] 屏幕『向下』移动半页
[Ctrl]+ [u]

0这是数字『 0』:移动到这一行的最前面字符处(常用)
$移动到这一行的最后面字符处(常用)
H光标移动到这个屏幕的最上方那一行
M光标移动到这个屏幕的中央那一行
L光标移动到这个屏幕的最下方那一行
G移动到这个档案的最后一行(常用)
nG移动到这个文件的第n行(常用)
gg移动到这个文件的第1行

n<space>光标向右移动这一个行的n个字符
N<Enter>n 为数字。光标向下移动 n行(常用)
一般模式:查找与取代
/word 向光标之下寻找一个字符串名称为word的字符串。
?word 向光标之上寻找一个字符串名称为word的字符串。
n  n 是英文按键。代表『重复前一个搜寻的动作』的意思。
N 与 n刚好相反,为『反向』进行前一个搜寻动作。

:n1,n2s/word1/word2/g
n1与 n2为数字。在第 n1与 n2行之间寻找 word1这个字符
串,并将该字符串取代为word2!
:1,$s/word1/word2/g
从第一行到最后一行寻找word1字符串,并将该字符串取代为word2!(常用)

:1,$s/word1/word2/gc
从第一行到最后一行寻找 word1字符串,并将该字符串取代为word2!且在取代前显示提示字符给使用者确认(conform)是否
需要取代!(常用)
一般模式:删除、复制与贴上
x,X 在一行字当中,x为向后删除一个字符,X为向前删除一个字符
nx n 为数字,连续向后删除n个字符
dd删除游标所在的那一整列(常用)
ndd删除光标所在的向下 n列,

d1G删除光标所在到第一行的所有数据
dG删除光标所在到最后一行的所有数据
d$删除游标所在处,到该行的最后一个字符
d0那个是数字的 0,删除游标所在处,到该行的最前面一个字符
yy复制游标所在的那一行(常用)
nyy复制光标所在的向下 n列,
y1G复制光标所在列到第一列的所有数据
yG复制光标所在列到最后一列的所有数据
y0复制光标所在的那个字符到该行行首的所有数据

y$复制光标所在的那个字符到该行行尾的所有数据

v 字符选择,会将光标经过的地方反白选择

V 行选择,会将光标经过的行反白选择

y,将反白的地方复制

d,将反白的地方删除


p为将已复制的数据在光标下一行贴上,
P则为贴在游标上一行!

u复原前一个动作。(常用)
[Ctrl]+r重做上一个动作。(常用)

一般模式进入编辑模式
i,I
插入:在目前的光标所在处插入输入之文字,已存在的文字会向后
退;其中,i 为『从目前光标所在处插入』,I 为『在目前所
在行的第一个非空格符处开始插入』。(常用)

a,A
a为『从目前光标所在的下一个字符处开始插入』,A 为『从光
标所在行的最后一个字符处开始插入』。(常用)
这是英文字母 o的大小写。

o,O
o为『在目前光标所在的下一行处插入新的一行』
O为在目前光标所在处的上一行插入新的一行!

r,R
取代:r会取代光标所在的那一个字符;R会一直取代光标所在的
文字,直到按下ESC为止;(常用)

Esc退出编辑模式,回到一般模式中(常用)

命令行模式:利用ESC切换到一般模式
:w将编辑的数据写入硬盘档案中(常用)
:q离开 vi(常用)
:q!若曾修改过档案,又不想储存,使用!为强制离开不储存档案。
:wq
:wq!则为强制储存后离开 (常用)


:setnu 显示行号,设定之后,会在每一行的前缀显示该行的
:setnonu 取消显示行号
:r[filename] 在编辑数据时候,读入另一个文件的数据

本文出自 “在云端的追梦” 博客,请务必保留此出处http://computerdragon.blog.51cto.com/6235984/1112172

Vim基本使用指南的更多相关文章

  1. 【转】一个 Vim 重度用户总结的 vim 超全指南

    [转]一个 Vim 重度用户总结的 vim 超全指南 我本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让我对文本的操作更加精准.高效. 对于未使用过 ...

  2. Fuzzy finder(fzf+vim) 使用入门指南

    今天无意中尝试了fzf,才发现这个工具的威力无穷,毕竟是非常好的工具,第一次都把它的优点都释放出来也不现实,先熟悉一下吧,后面在实战中再不断地学习总结. 它是什么: Fuzzy finder 是一款使 ...

  3. 一个 Vim 重度用户总结的 vim 超全指南

    我本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让我对文本的操作更加精准.高效. 对于未使用过 Vim 的朋友来说,可能还无法体会到这种感觉.由于使用 ...

  4. iOS版本控制git小结--yoowei

    # 显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder # 不显示隐藏文件 d ...

  5. SVN(一次检出&二次检出)

    一次检出: >进入经历文件夹 >输入svn checkout指令 >输入电脑密码 >输入用户名 >输入密码 >检出成功 第二次检出: >进入小涛文件夹 > ...

  6. git使用方法1

    1.新建一个“本地仓库” $ git init 2.配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user. ...

  7. IOS Git源代码管理工具

    .新建一个“本地仓库” $ git init .配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user.em ...

  8. Linux 桌面玩家指南:02. 以最简洁的方式打造实用的 Vim 环境

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  9. Vim 学习指南

    作者:耀耀 出处:http://www.linuxeden.com/html/news/20130820/142667.html Vim 学习指南 来源:开源中国社区 作者:耀耀 关注我们:   你想 ...

  10. Vim学习指南

    你想尽可能快地自学vim(为大家所熟知的最好的编辑器) .这是我学习的方法:从细处入手然后慢慢掌握所有技巧. Vim 六十亿美元的编辑器 设计优良,强壮,快速. 学习vim并把它作为你的下一个文本编辑 ...

随机推荐

  1. layui的各模块的基本用途是什么?

    Layui 是一个流行的前端UI框架,提供了多个模块,每个模块有不同的功能和用途.以下是 Layui 的一些主要模块以及它们的基本用途: 核心模块(layui): Layui 的核心模块包含了一些核心 ...

  2. mvn install 设定下载的依赖保存的地址

    mvn clean install -P jdk-1.8 -Dmaven.repo.local=/xxxx/repository

  3. 【YashanDB知识库】ycm托管数据库时报错OM host ip:127.0.0.1 is not support join to YCM

    问题现象 托管数据库时检查报错OM的IP是127.0.0.1,不支持托管到YCM OM 问题的风险及影响 导致数据库无法托管监控 问题影响的版本 问题发生原因 安装数据库时修改了OM的监听ip为127 ...

  4. div中多行内容垂直居中显示

    div中多行内容垂直居中显示 一.css 样式 .wrap { height: 200px; width: 200px; border: 1px solid #232323; display: fle ...

  5. SQL Server – 基本操作 Table 和 Column

    前言 日常都是用 EF Core 来管理 Database, 偶尔也用 Management Studio, 就是很少手写 Command. 虽然网上一拉就有很多, 但是每次写单侧都要到处找还是挺烦的 ...

  6. DOM – IntersectionObserver

    介绍 IntersectionObserver 的作用是监听某个元素是否出现在框内 (比如 viewport). 它可以实现 lazy load image, 一开始图片是没有加载的, 当图片出现在 ...

  7. 华为测试岗上岸,月入20K,面试无非就是这些套路!

    软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的.涉及的知识主要有 MySQL 数据库的使用.Linux 操作系统的使用.软件测试框架性的问题,测试环境搭建问题.当 ...

  8. angularjs中控制视图的控制器的两种注入依赖项及服务的写法

    在AngularJS中,控制器是用于控制视图行为的重要组件.当定义控制器时,有两种主要的方式注入依赖项: 1. 显式依赖注入,聚聚使用字符串数组形式来注入依赖项: myapp.controller(' ...

  9. Electron.Net + Linux + Blazor 初尝备忘录

    Electron 是使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序的一个框架, Electron.NET 是.net 下对 Electron 的封装实现, 通过它可以比较容 ...

  10. 使用rancher cli对接k8s

    一.获得rancher的token 1.进入rancher,点击右上角弹出框的ApI&Keys 2.进入页面后选择添加key 3.注意,这里的作用集群范围必须不能指定,否则在jenkins服务 ...