1. 移动光标的方法

h或左箭头 光标向左移动一个字符
j或下箭头 光标向下移动一个字符
k或上箭头 光标向上移动一个字符
l或右箭头 光标向右移动一个字符
如果想要向下移动30行,可以使用“30j”的组合按键,即加上想要进行的数字后,即可操作
【Ctrl】+【f】 屏幕向下移动一页,相当于【PageDown】
【Ctrl】+【b】 屏幕向上移动一页,相当于【PageUp】
【Ctrl】+【d】 屏幕向下移动半页
【Ctrl】+【u】 屏幕向上移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n<space> “n”表示一个数字。按下数字后再按下空格键,光标会向右移动这一行的n个字符。eg. 20<space>,则光标会向后移动20个字符距离
0或【home】 移动到这一行的最前面字符处
$或【End】 移动到这一行的最后面字符处
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个文件的最后一行
nG n为数字,移动到这个文件的第n行。eg. 20G则会移动到这个文件的第20行
gg 移动到这个文件的第一行,相当于1G
N【Enter】 n为数字,光标向下移动n行
   
                         查找与替换
/word 向下寻找一个名称为word的字符串
?word 向上寻找一个名称为word的字符串
n 重复前一个查找的操作。例如,如果刚才执行/word去向下查找word这个字符串,按下n后,会向下继续查找下一个名称为word的字符串
N 与n相反,表示反向进行前一个查找操作。例如,输入/word后,按下N则表示向上查找名称为word的字符串
使用/word配合n以及N是非常有帮助的,可以重复找到一些关键字
:n1,n2s/word1/word2/g n1和n2为数字,在n1与n2之间寻找word1,并将word1替换为word2。eg. 在100-200行间查找word1,并替换为word2,“:100,200s/word1/word2/g”
:1,$s/word1/word2/g 从第一行到最后一行查找word1字符串,并将该字符串替换为word2
:1,$s/word1/word2/gc 从第一行到最后一行查找word1字符串,并将该字符串替换为word2。且在替换前显示提示字符给用户确认是否需要替换
   
         删除、复制与粘贴
x,X 在一行字当中,x为向后删除一个字符,相当于【Del】;X为向前删除一个字符,相当于【Backspace】
nx n为数字,连续向后删除n个字符
dd 删除光标所在的那个一整行
ndd n为数字,删除光标所在的向下n行,eg. 20dd则是删除20行
d1G 删除光标所在到第一行的所有数据
dG 删除从光标所在到最后一行的所有数据
d$ 删除从光标所在到该行的最后一个字符
d0 删除从光标所在到该行的最前面一个字符
yy 复制光标所在的那一行
nyy n为数字,复制光标所在的向下n行,eg. 20yy则是复制20行
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的所有数据
y0 复制光标所在处到该行行首的所有数据
y$ 复制光标所在处到该行行尾的所有数据
p,P p为将已复制的数据在光标下一行粘贴,P为粘贴在光标上一行。
J 将光标所在行与下一行的数据结合成同一行
u 复原前一个操作,即撤销
【Ctrl】+r 重做上一个操作

2. 一般模式切换到命令行模式的可用的按钮说明

:w 将编辑的数据写入硬盘文件中
:w! 若文件属性为“只读”时,强制写入该文件。不过到底能不能写入,还是跟你对该文件的文件权限有关
:q 离开vi
:q! 若曾修改过文件,又不想存储,使用“!”为不保存文件强制离开
:wq 保存后离开,若为“:wq!”则为强制保存后离开
ZZ 若文件没有更动,则不保存离开;若文件已被更动过,则保存后离开
:w[filename] 将编辑的数据保存成另一个文件
:r[filename] 在编辑的数据中,读入另一个文件的数据,即将“filename”这个文件内容加到光标所在行后面
:n1,n2 w[filename] 将n1到n2的内容保存成filename这个文件

Linux之vim按键的更多相关文章

  1. Linux学习之CentOS(二十)------vi/vim 按键说明

    vi/vim 按键说明 除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用. 第一部份:一般模式可用的光标移动.复制粘贴.搜索替换等 移动光标的方法 h 或 向左 ...

  2. -Git Linux vi/vim 命令 按键 MD

    目录 目录 Linux vi/vim 简介 vi/vim 的使用 命令模式 输入模式 底线命令模式 vi/vim 使用实例 使用 vi/vim 进入一般模式 按下 i 进入输入模式,开始编辑文字 按下 ...

  3. Linux vi/vim(转载)

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...

  4. Linux vi/vim

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  5. vi/vim 按键说明

    转自:http://www.runoob.com/linux/linux-vim.html vi/vim 按键说明 除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以 ...

  6. Linux之Vim学习

    Linux之Vim学习 一般模式 光标移动 按键 作用 j或down方向键 向下移动一个字符 k或up方向键 向上移动一个字符 h或left方向键 向左移动一个字符 l或right方向键 向右移动一个 ...

  7. Linux Vi/Vim 的使用及实例

    什么是 vim? Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是 ...

  8. Linux 磁盘管理,Linux vi/vim

    一.Linux 磁盘管理 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 ...

  9. 20145234黄斐《信息安全系统设计基础》第八周(Linux下vim相关命令)

    Linux下vim相关命令 在编辑程序时经常使用vim,所以记住一些常用的指令还是很有必要的 文件命令 vim file 打开单个文件vim file vim file1 file2 file3 .. ...

随机推荐

  1. springBoot 配置url 访问图片

    需要添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  2. HAProxy、Keepalived 在 Ocatvia 的应用实现与分析

    目录 文章目录 目录 Amphora 启动 keepalived 启动 haproxy 最后 Amphora 创建一个 loadbalancer 需要占用一到两台 Amphora Instance 作 ...

  3. Java使用JDBC连接Hive

    最近一段时间,处理过一个问题,那就是hive jdbc的连接问题,其实也不是大问题,就是url写的不对,导致无法连接.问题在于HiveServer2增加了别的安全验证,导致正常的情况下,传递的参数无法 ...

  4. 2018.03.27 pandas concat 和 combin_first使用

    # 连接和修补concat.combine_first 沿轴的堆叠连接 # 连接concatimport pandas as pdimport numpy as np s1 = pd.Series([ ...

  5. 11 ORA-8102:Index Corruption解析

    11 ORA-8102:Index Corruption解析 [oracle@DSI ~]$ oerr ora 810208102, 00000, "index key not found, ...

  6. Windows 2008任务计划执行bat脚本失败返回0x1

    测试环境: C:\>systeminfo | findstr /c:"OS Name"OS Name:                   Microsoft Windows ...

  7. 获取当前操作的IFrame 对象的方法

    分两种情况:第一种:获取iframe对象的JS函数在父页面上,如下 function getIframeByElement(element){ var iframe; $("iframe&q ...

  8. c++ 调用 sqlite

    #include <iostream> #include "sqlite3.h" using namespace std; void dbTest() { #pragm ...

  9. hibernate 2 一对多、多对一 双向映射

    多对一或一对多中,在多的一方维护关系效率高 一:java实体类 1.Classes.java package cn.gs.ly.school.entity; import java.util.Set; ...

  10. centos7里创建用户和组

    1.创建组distro,其GID为2019groupadd -g 2019 distro 2.创建用户mandriva, 其ID号为1005:基本组为distro useradd mandriva - ...