linux vim的使用方法

vi的基本概念

基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode),

各模式的功能区分如下:

1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。

2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。

3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。

不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode。

vi的基本操作

?进入vi

在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面:

$ vi testfile

有一点要特别注意,就是您进入vi之后是处于“Command mode”下,您要切换到Insert mode才能输入文字。

初次用vi的用户都会想先用上下左右键移动光标,结果电脑一直叫,把自己气个半死,所以进入vi后,先不要乱动,

转换入Insert后再说。?切换至Insert mode编辑文件在Command mode下按‘i’、‘a’或‘o’三键就可进入Insert mode。

这时候您就可以开始输入文字了。

i: 插入,从目前光标所在之处插入所输入的文字。

a: 增加,目前光标所在的下一个字开始输入文字。

o: 插入新的一行,从行首开始输入文字。

?Insert的切换→Command mode,按Esc键

您目前处于Insert mode,您就只能一直打字。假如您发现打错字了,想用光标键往回移动,将该字删除,

就要按ESC键转换回Command mode,再删除文字。

?离开vi及存文件

在Command mode下,可按冒号“:”键入入Last line mode,例如:

:w filename (输入“w filename”,将文章存入指定的文件名filename)

:wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)

:q! (输入“q!”,强制离开并放弃编辑的文件)

Command mode功能键列表

在介绍command mode指令的时后,指令后面加上“常用”字眼的功能键,表示比较常用的vi指令,

请读者您一定要学会、记住。

(1)I、a、o切换进入Insert mode。[超级常用]

(2)移动光标

vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母

h、j、k、l,分别控制光标左、下、上、右移一格。

按Ctrl+B:屏幕往后移动一页。[常用]

按Ctrl+F:屏幕往前移动一页。[常用]

按Ctrl+U:屏幕往后移动半页。

按Ctrl+D:屏幕往前移动半页。

按 0 (数字零):移动文章的开头。[常用]

按 G:移动到文章的最后。[常用]

按 w:光标跳到下个word的开头。[常用]

按 e:光标跳到下个word的字尾。

按 b:光标回到上个word的开头。

按 $:移到光标所在行的行尾。[常用]

按 ^:移到该行第一个非空白的字符。

按 0:移到该行的开头位置。[常用]

按 #:移到该行的第#个位置,例:51、121。[常用]

(3)删除文字

x:每按一次删除光标所在位置的后面一个字符。[超常用]

#x:例如,6x 表删除光标所在位置的后面6个字符。[常用]

X:大字的X,每按一次删除光标所在位置的前面一个字符。

#X:例如,20X 表删除光标所在位置的前面20个字符。

dd:删除光标所在行。[超常用]

#dd:例如,6dd表删除从光标所在的该行往下数6行之文字。[常用]

(4)复制

yw:将光标所在处到字尾的字符复制到缓冲区中。

(想在和#x、#X的功能相反)

p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。

yy:复制光标所在行。[超常用]

p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用)

#yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]

p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用)

“ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer

“ap:将放在buffer a的数据粘贴。

“b3yy:将三行数据存入buffer b。

“b3p:将存在buffer b的资料粘贴

(5)取代

r: 取代光标所在处的字符:[常用]

R:取代字符直到按Esc为止。

(6)复原(undo)上一个指令

u:假如您误操作一个指令,可以马上按u,回复到上一个操作。[超常用]

.: .可以重复执行上一次的指令。

(7)更改

cw:更改光标所在处的字到字尾$处。

c#w:例如,c3w代表更改3个字。

(8)跳至指定行

Ctrl+G:列出光标所在行的行号。

#G:例如,15G,表示移动光标至文章的第15行行首。[常用]

Last line mode下指令简介

读者您要使用Last line mode之前,请记得先按Esc键确定您已经处于Command mode下后,再按冒号“:”或“/”或“?”

三键的其中一键进入Last line mode。

1.列出行号

set nu: 输入“set nu”后,会在文章的每一行前面列出行号。

2.跳到文章的某一行

#:井号代表一个数字,在Last line mode提示符号“:”前输入数字,再按Enter就会跳到该行了,

如:15[Enter]就会跳到文章的第15行。[常用]

3.寻找字符串

/关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。

?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。

4.取代字符串

1,$s/string/replae/g:在last line mode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串,

其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。

%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,

c则是表示要替代之前必须再次确认是否取代。

1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。

5.存文件

w:在last line mode提示符号“:”前按w即可将文件存起来。[超常用]

#,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice,

将您正在编辑文章的第30~50行存成nice这个文件。

6.离开

q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”

qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件

一般模式常用操作

【h(或向左方向键)】 光标左移一个字符

【j(或向下方向键)】 光标下移一个字符

【k(或向上方向键)】 光标上移一个字符

【l(或向右方向键)】 光标右移一个字符

【[Ctrl] + f】 屏幕向下移动一页(相当于Page Down键)

【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键)

【[0]或[Home]】 光标移动到当前行的最前面

【[$]或[End]】 光标移动到当前行的末尾

【G】 光标移动到文件的最后一行(第一个字符处)

【nG】 n为数字(下同),移动到当前文件中第n行

【gg】 移动到文件的第一行,相当于"1G"

【n[Enter]】 光标向下移动n行

【延展阅读】

(一)vi/vim是什么?

Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便。vi就是一种功能强大的文本编辑器,而vim则是高级版的vi,不但可以用不同颜色显示文字内容,还能进行诸如shell脚本、C语言程序编辑等功能,可以作为程序编辑器。

(二)为什么要学习vi/vim?

首先所有的Linux发行版系统上都会默认内置vi编辑器,而不一定带有其他文本编辑器,非常通用;其次,很多软件的编辑接口都会默认调用vi;第三,vi具有程序编辑的能力;最后,vi程序简单,编辑速度相当快速。

(三)vim配置文件

vim的配置文件为/etc/vimrc,但一般不建议直接修改这个文件,而是在用户根目录下创建一个新的隐藏文件:

vim ~/.vimrc

然后编辑这个文件,常用的配置如下:

bash

"双引号后面的内容为注释

set nu "显示行号

set hlsearch "查找的字符串反白显示

set backspace=2 "可随时用退格键进行删除

set autoindent "自动缩排

set ruler "在最下方一行显示状态

set showmode "在左下角显示模式

set bg=dark "显示不同的底色,还可以为light

syntax on "语法检验,颜色显示

参考资料

$Linux vi/vim编辑器常用命令与用法总结.键盘上的手艺人[引用时间2018-3-7]

0

0

0

0

评论(0)

“还没有人发表评论,快去抢占沙发吧”

linux vim yy,linux vim的使用方法相关推荐

  1. kali linux 里vim如何使用_Kali Linux的vi编辑器/vim编辑器使用方法

    转载声明:本文为转载文章 Kali Linux系统的vi编辑器/vim编辑器的使用和CentOS有很多不同.基本使用方法如下 1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(comma ...

  2. linux如何打出罗马数字,vim学习高级技巧之序列的生成方法详解

    前言 本文主要给大家介绍了关于在vim中插入数字序列的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 待处理文本 假设文本原来内容是 这是第一行 这是第二行 这是第四行 这是第 ...

  3. linux进命令行模式vi,Linux中vim怎么进入命令模式的方法

    在Linux系统中,使用VIM时我们要怎么快速的从其他模式切换到了模式呢?,下面由学习啦小编为大家整理了linux中vim怎么进入命令模式的方法的相关知识,希望对大家有帮助! Linux中vim怎么进 ...

  4. linux ultraedit安装教程,Linux系统安装最新版本Vim编辑器的简单方法整理

    Vi编辑器已经存在了很长时间,它是在1976年左右开发使用的,Vi编辑器为用户提供了传统而强大的功能,例如有效的编辑界面,终端控制等. 但是,Vi编辑器缺少某些吸引人的功能,例如多个屏幕,语法高亮显示 ...

  5. Linux系统配置VI或VIM的技巧

    Linux系统配置VI或VIM的技巧 作者:IT专家网论坛出处:IT专家网论坛2008-10-28 11:08 配置VI和VIM的颜色显示,使它能够高亮度显示一些特别的单词,这对编写程序很有用⋯⋯ 1 ...

  6. 【linux+C】神器 vim + 指针相关客串

    前篇回顾 上篇介绍了linux下C编程基本环境配置以及相关工具使用选择. 不过10个大牛9个用vim,那么咱们就来玩vim.linux下玩c就别依靠图形界面.好吧告别Ide,命令行才是c的王道. 本篇 ...

  7. Linux jq 、vim以及LInux集群安装miniconda并配置虚拟环境(笔记)

    https://github.com/QInzhengk/Math-Model-and-Machine-Learning Linux jq .vim以及LInux集群安装miniconda并配置虚拟环 ...

  8. 大数据技术之_01_Linux学习_01_linux的入门+VM和linux的安装+linux的目录结构+远程登录到linux服务器+vi和vim编辑器+开机、重启和用户登录注销+用户管理+用户组管理

    大数据学习之_01_Linux学习_01 1 linux的入门 1.1 Linux的介绍 2 VM和linux的安装 2.1 安装vm和Centos 2.1.1 基本说明 2.1.2 CentOS安装 ...

  9. 在linux中的vi中的删除操作,linux中vi和vim操作

    一.简单介绍 vi 和 vim 类似于windows的文本编辑器 所有的Linux系统都会内置vi文本编辑器 vim可以看做是vi增强版,具有程序编辑能力,支持语法高亮,代码补全,编译及错误跳转等功能 ...

  10. linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法

    vi与vim vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对 ...

最新文章

  1. JSP与Web技术概论
  2. python用os.system打开wav文件_使用python读取wav格式文件
  3. VMware 虚拟化编程(4) — VDDK 安装
  4. metapath2vec: Scalable Representation Learning for Heterogeneous Networks
  5. 转载:介绍AD另外一种奇葩的多通道复用的方法
  6. JSP和Servlet里的Cookie处理
  7. Mybatis注解开发之@Results
  8. vue 微信开发工具 Maximum call stack size exceeded
  9. 零基础 Amazon Web Services (AWS) 入门教程图文版(二)
  10. java线程深入_深入聊聊Java多线程
  11. GAN入门实例【个人理解】
  12. android北京实时公交,北京公交实时掌上查询
  13. Latex爬过的坑(2)——I was expecting a ‘,‘ or a ‘}‘
  14. git --allow-unrelated-histories
  15. java金蝶星空云金蝶Java 对接 金蝶云星空 接口 对接 金蝶API 对接 金蝶 接口 解决 会话失效 问题 会话已失效,请重新登录
  16. 关于bitset中的 to_ulong()的解答
  17. windwos系统安装python教程
  18. 预约挂号医院管理项目----Service-cmn模块—数据字典
  19. 靶机渗透练习43-Lord Of The Root
  20. 计算机实验室教师岗位职责,实验室实验教师岗位职责

热门文章

  1. 矩阵公式(转置公式+求导公式)
  2. 背景建模算法比较与ViBe算法论文解读与python代码
  3. system什么意思c语言,system是什么意思?
  4. postsql字符串字段转数字用法
  5. postsql将MULTIPOLYGON转POLYGON
  6. 方案:软件集成测试工作流程指南
  7. 2021 王道考研 408系列讲解
  8. AirDisk创建网盘
  9. uni中的web-view
  10. 由VB的KeyCode和KeyAscii到扫描码、虚拟码的思考