Linux vi命令快操作汇总
第一部份:一般指令模式可用的按钮說明,游标移动、复制粘贴、搜寻取代等
一、移动游标的方法
h 或 向左方向鍵(←) 游标向左移动一个字节
j 或 向下方向鍵(↓) 游标向下移动一个字节
k 或 向上方向鍵(↑) 游标向上移动一个字节
l 或 向右方向鍵(→) 游标向右移动一个字节
[Ctrl] + [f] 屏幕『向下』 移动一页,相当于 [Page Down]按鍵 (常用)
[Ctrl] + [b] 屏幕『向上』 移动一页,相当于 [Page Up] 按鍵 (常用)
[Ctrl] + [d] 屏幕『向下』 移动半页
[Ctrl] + [u] 屏幕『向上』 移动半页
n<space> 那个 n 表示『數字』,例如 20 。按下數字后再按空白鍵,游标會向右移动這一列的 n 个字节。
0 或功能鍵[Home] 這是數字『 0 』:移动到這一列的最前面字节處 (常用)
$ 或功能鍵[End] 移动到這一列的最后面字节處(常用)
H 游标移动到這个屏幕的最上方那一列的第一个字节
M 游标移动到這个屏幕的中央那一列的第一个字节
L 游标移动到這个屏幕的最下方那一列的第一个字节
G 移动到這个文档的最后一列(常用)
nG n 為數字。移动到這个文档的第 n 列。例如 20G 則會移动到這个文档的第 20 列(可配合 :set nu)
gg 移动到這个文档的第一列,相当于 1G 啊! (常用)
n<Enter> n 為數字。游标向下移动 n 列(常用)
二、搜寻与取代
/word 向游标之下寻找一个名稱為 word 的字串。
?word 向游标之上寻找一个字串名稱為 word 的字串。
n 這个 n 是英文按鍵。代表『重复前一个搜寻的动作』。
N 這个 N 是英文按鍵。与 n 剛好相反,為『反向』進行前一个搜寻动作。
:n1,n2s/word1/word2/g n1 与 n2 為數字。在第 n1 与 n2 列之間寻找 word1 這个字串,並將該字串取代為 word2 『:100,200s/vbird/VBIRD/g』。(常用)
:1,$s/word1/word2/g 從第一列到最后一列寻找 word1 字串,並將該字串取代為 word2 !(常用)
:%s/one/two/g 同上
:1,$s/word1/word2/gc 同上,取代前显示提示字节給使用者确认 (confirm) 是否需要取代!(常用)
三、刪除、复制与粘贴
x, X 在一列字当中,x 為向后刪除一个字节;X 為向前刪除。
nx n 為數字,連續向后刪除 n 个字节。
dd 刪除游标所在的那一整列(常用)
ndd n 為數字。刪除游标所在的向下 n 列。
d1G 刪除游标所在到第一列的所有资料
dG 刪除游标所在到最后一列的所有资料
d$ 刪除游标所在處,到該列的最后一个字节
d0 那个是數字的 0 ,刪除游标所在處,到該列的最前面一个字
yy 复制游标所在的那一列(常用)
nyy n 為數字。复制游标所在的向下 n 列,例如 20yy 則是复制 20 列(常用)
y1G 复制游标所在列到第一列的所有资料
yG 复制游标所在列到最后一列的所有资料
y0 复制游标所在的那个字节到該列行首的所有资料
y$ 复制游标所在的那个字节到該列行尾的所有资料
p, P p 為將已复制的资料在游标下一列粘贴,P 則為貼在游标上一列!
舉例來說,我目前游标在第 20 列,且已經复制了 10 列资料。
則按下 p 后, 那 10 列资料會貼在原本的 20 列之后,亦即由 21 列開始貼。
但如果是按下 P 呢? 那么原本的第 20 列會被推到變成 30 列。 (常用)
c 重复刪除多个资料,例如向下刪除 10 列,[ 10cj ]
u 復原前一个动作。(常用)
[Ctrl]+r 重做上一个动作。(常用)
. 不要懷疑!這就是小數點!意思是重复前一个动作的意思。
如果你想要重复刪除、重复粘贴等等动作,按下小數點『.』就好了! (常用)
第二部份:一般指令模式切換到編輯模式的可用的按钮說明
一、進入插入或取代的編輯模式
i, I i 為『從目前游标所在處插入』, I 為『在目前所在列的第一个非空白字节處開始插入』。 (常用)
a, A a 為『從目前游标所在的下一个字节處開始插入』, A 為『從游标所在列的最后一个字节處開始插入』。(常用)
o, O o 為『在目前游标所在的下一列處插入新的一列』; O 為在目前游标所在處的上一列插入新的一列!(常用)
r, R r 只會取代游标所在的那一个字节一次;R會一直取代游标所在的文字,直到按下 ESC 為止;(常用)
[Esc] 退出編輯模式,回到一般指令模式中(常用)
第三部份:一般指令模式切換到指令列模式的可用按钮說明
:e! 将文档还原成原始状态
:w 將編輯的资料寫入硬盘文档中(常用)
:w! 若文档屬性為『只读』時,強制写入該文档。不過,到底能不能写入, 還是跟你對該文档的文档权限有关啊!
:q 退出 vi (常用)
:q! 若曾修改過文档,又不想保存,使用 ! 为強制離開不保存文档。
注意一下啊,那个感叹号 (!) 在 vi 当中,常常具有『強制』的意思~
:wq 保存退出,若為 :wq! 則為強制保存退出 (常用)
ZZ 這是大写的 Z 喔!若文档沒有更动,則不保存離開,若文档已經被更动過,則保存后離開!
:w [filename] 將編輯的资料保存成另一个文档(類似另存新檔)
:r [filename] 在編輯的资料中,讀入另一个文档的资料。亦即將 『filename』 這个文档內容加到游标所在列后面
:n1,n2 w [filename] n1,n2是数字。將 n1 到 n2 的內容保存成 filename 這个文档。
:! command 暂时离开 vi 到指令列模式下執行 command 的显示結果!例如
『:! ls /home』 即可在 vi 当中察看 /home 底下以 ls 輸出的文档資訊!
:set nu 显示行號,設定之后,會在每一列的字首显示該列的行號
:set nonu 与 set nu 相反,為取消行號!
第四额外部分:
ctrl + z 后台运行编辑文本进程
fg 使用此命令调出后台运行的
Linux vi命令快操作汇总的更多相关文章
- 关于linux vi命令替换的使用说明
转自:http://os.51cto.com/art/200907/140987.htm vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法( ...
- Linux——vi命令详解
转载 Linux--vi命令详解 原文链接:https://blog.csdn.net/cyl101816/article/details/82026678 vi编辑器是所有Unix及Linux系 ...
- 【Linux】Linux常用命令及操作 (一)
一.Linux简介 二.Linux基础命令 三.工作常用命令 --------------------------------------------------------------------- ...
- linux vi 命令大全
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- 转载:linux vi命令详解
转自:http://www.cnblogs.com/mahang/archive/2011/09/01/2161672.html 刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编 ...
- 关于Linux vi命令 vi命令一览表
vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件.当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,学好了vi,以后在UNIX世 ...
- (转)Linux vi 命令大全
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- linux vi命令详解
刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...
- Linux —— Vi 命令介绍
简介 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器. 这里只是简单地介绍一下它的用法和一小部分指令. 由于对Unix及Linux系统的任何版本,vi编辑 ...
随机推荐
- 【深度学习框架】使用PyTorch进行数据处理
在深度学习中,数据的处理对于神经网络的训练来说十分重要,良好的数据(包括图像.文本.语音等)处理不仅可以加速模型的训练,同时也直接关系到模型的效果.本文以处理图像数据为例,记录一些使用PyTorc ...
- 【生产环境】Tomcat运行一段时间后访问变慢分析历程
环境运行一天或者几天,网站访问就很卡,手机端app访问页面出现白屏.Tomcat运行一段时间后访问变慢,但是cpu,内存都正常.日志也是发现不了啥.... 问题的原先分析 1.环境配置(cpu,内存, ...
- 38.mapping小例子
主要知识点 初步了解mapping 一,准备数据 插入几条数据,让es自动为我们建立一个索引 PUT /website/article/1 { "post_date" ...
- ecshop中{$lang.}标签的修改
{$lang.}之类的文字都是在语言包里边定义的,所以要修改这些文字的话,我们只需要修改语言包里的文件.首先需要看一下你使用的语言是哪种,如果是中文的话,修改 languages/zh_cn/com ...
- Git 基础教程 之 添加、提交
一, 编写一个名为readme.txt文件,放入pythonwork目录下 ① 手动新建 ② 使用命令: a. touch readme.txt b. vim readme.txt PS: ...
- 洛谷 P2023 BZOJ 1798 [AHOI2009]维护序列
题目描述 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成. 有长为N的数列,不妨设为a1,a2,…,aN .有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一 ...
- Official Documents
1. Docker Installation https://docs.docker.com/install/linux/docker-ee/suse/ 2. Docker hub https://d ...
- Spring Boot错误:Unable to start embedded container...的问题解决
解决方法: 1.用错了注解,改用以下注解: @SpringBootApplication 相当于:@Configuration.@ServletComponentScan.@EnableAutoCon ...
- Android自己定义控件之轮播图控件
背景 近期要做一个轮播图的效果.网上看了几篇文章.基本上都能找到实现,效果还挺不错,可是在写的时候感觉每次都要单独去又一次在Activity里写一堆代码.于是自己封装了一下.这里仅仅是做了下封装成一个 ...
- 【cl】sikuli下载安装
前提条件: 1.请确保你已经安装java 6 JRE 32位版本(如果是java 7 或者是64位JRE 那是不被支持的) 2.请确定你已经卸载的先前的sikuli版本(尤其是0.10.x版本) 3. ...