linux vim命令跳到67行,Linux学习之Vim/Vi使用(十三)

Linux学习之Vim/Vi使用

Vim/Vi简介

Vim/Vi工作模式

Vim/Vi基本使用

Vim/Vi应用技巧

Vim/Vi简介

Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。

Linux下的编辑器最常用的就是vim或者vi文本编辑。vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能。?大多数的linux/unix 发行版本中都

使用 vim 代替了原来的 vi 文本编辑器。 如果是centos或者redhat系统,当系统安装完毕后,vi/vim 文本编辑器默认情况下就已经被安装了。如果是debian/ubuntu系统下,默认情况下

,vim编辑器是不会被安装的。你需要在ubuntu系统下手动安装vim编辑。

vi/vim文本编辑器是我们在linux系统下工作可以说是必须会使用的一个工具,因为linux系统的设计理念是一切皆文件,也就是说,你在linux里的任何操作都是对文件的操作,所以会经常去

操作文件,更改文件,保存文件,退出并保存文件。

Vim/Vi 没有菜单,只有命令。

Vim/Vi工作模式

命令模式:

进入:vi filename

退出::wq

插入模式:

i a o

注意:从插入模式变为命令模式,按ESC键

编辑模式:

命令以回车结束运行

注意:从编辑模式变为命令模式,按ESC键

Vim/Vi基本使用

插入命令

命令 作用

a在光标后附加文本

A在本行行末附加文本

i在光标前插入文本

I在本行开始插入文本

o在光标下插入新行

O在光标上插入新行

定位命令

命令 作用

h左移一个字符

j下移一行

k上移一行

l下移一个字符

$移到行尾

0移到行首

H移至屏幕上端

M移至屏幕中央

L移至屏幕下端

:set nu设置行号

:set nonu取消行号

gg到第一行

G到最后一行

nG 到第n行

:n到第n行

删除命令

命令作用

x删除光标所在处字符

nx删除光标所在处后n个字符

dd删除光标所在行

ndd删除光标往下n行

dG 删除光标所在行末尾的内容

D删除从光标所在处到行尾

:n1,n2d删除指定范围的行

复制和取消命令

命令作用

yy、Y复制当前行

nyy、nY复制当前行以下n行

dd剪切当前行

ndd剪切当前行以下n行

p、P粘贴在当前光标所在行下或行上

替换和取消命令

命令作用

r取代光标所在处字符

R从光标所在处开始替换字符,按Esc结束

u取消上一部操作

搜索和替换

命令 作用

/string 向前搜索指定字符串 开启搜索时忽略大小写 :set ic 关闭搜索时忽略大小写 :set noic

n 搜索指定字符串的下一个出现位置

:%s/old/new/g 全文替换指定字符串

:n1,n2s/old/new/g 在一定范围内替换指定字符串,后面g意思是在替换时是否确认,c为没有提示

r 取代光标所在处字符

R 从光标所在处开始替换字符,按Esc结束

u 取消上一部操作

保存和退出命令

命令作用

:w保存修改

:w new_filename另存为指定文件

:wq保存修改并退出

ZZ快捷键,保存修改并退出

:q!不保存修改退出

:wq!保存修改并退出(文件所有者可忽略文件的只读属性)

注意:对文件可以强行保存退出的只可能是文件所有者或者是root用户

Vim/Vi应用技巧

导入文件:r 文件名

在Vi中执行命令:!命令

在Vi中导入执行命令的结果r !命令

定义快捷键:map 快捷键 触发命令

连续行注释

替换

自定义vi使用方式

导入文件:r 文件名

可以将其他文件的内容导入到这个编辑的文件中。

%E5%A4%96%E9%93%BE%E7%BD%91%E5%9D%80%E5%B7%B2%E5%B1%8F%E8%94%BD

%E5%A4%96%E9%93%BE%E7%BD%91%E5%9D%80%E5%B7%B2%E5%B1%8F%E8%94%BD

在Vi中执行命令:!命令

在Vi中导入执行命令的结果r !命令

%E5%A4%96%E9%93%BE%E7%BD%91%E5%9D%80%E5%B7%B2%E5%B1%8F%E8%94%BD

%E5%A4%96%E9%93%BE%E7%BD%91%E5%9D%80%E5%B7%B2%E5%B1%8F%E8%94%BD

按一次回车回到编辑文件的界面内

%E5%A4%96%E9%93%BE%E7%BD%91%E5%9D%80%E5%B7%B2%E5%B1%8F%E8%94%BD

%E5%A4%96%E9%93%BE%E7%BD%91%E5%9D%80%E5%B7%B2%E5%B1%8F%E8%94%BD

定义快捷键:map 快捷键 触发命令

范例:

:map ^P I#

#这个快捷键的作用,按ctrl+p后光标跳到在本行开始位置,写入#,用来加注释。

:map ^B 0x

#这个快捷键的作用是光标移到行首,删除光标所在处的字符,用来删除注释。

unmap ^p 取消快捷键

连续行注释

:n1,n2s/^/#/g

:n1,n2s/#//g

:n1,n2s/^/\/\//g

替换

很容易理解,输入一个字符或者字符串,变成另一个字符串。

定义替换:ab sammail sam@

取消ab替换的定义:unab sammail

自定义vi使用方式

每一个用户都可以定义自己的vi使用方式,配置文件在每个用户的宿主目录下的/.vimrc。

root /root

user /home

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux查看端口属性,linux如何查看系统属性指令?

linux是一款非常免费资源的操作系统,但是很多用户不知道怎么查看系统信息,今天小编就给大家带来了linux查看系统属性指令分享。喜欢的快点下载吧。linux查看系统属性指令分享1、查看cpu信息查看所有cpu信息:cat /proc/cpuinfo查看cpu类型&…

linux命令提示符不同,Linux命令提示符如何按照自己的习惯修改?

原本的 [rootlocalhost ]$ 看久了难免让人厌倦。如果按自己的习惯修改,既能看着舒服,又能提高“逼格”。下面小编就为大家详细介绍Linux命令提示符如何按照自己的习惯修改方法,希望能对大家有所帮助!美化Bash1、在目录下:vim .bas…

ubuntu linux编译环境搭建,Ubuntu14.04开发环境搭建

Ubuntu14.04开发环境搭建嵌入式开发过程中很重要的一环节就是开发环境的搭建,开发环境搭建的好可以很好的提高开发效率。其中关键的一部就是挂载运行程序,对于程序的挂载运行需要借助NFS服务器,下面介绍windows和linux操作系统下NFS服务器的搭…

linux arm下硬件驱动程序放哪里,Arm-Linux摄像头驱动程序的移植

Arm开发板上摄像头的移植有两种方法:第一,将驱动程序添加到内核,通过编译内核,烧写到板子上;第二种,通过动态加载摄像头驱动模块的方法进行硬件的驱动。作者首先在PC的linux系统进行摄像驱动程序的移植&…

linux一级常用目录,小蚂蚁学习Linux(3)——Linux一级目录说明和常用命令解释...

根目录下的一级目录解释说明:/etc 配置文件目录 /home 普通用户家目录/bin 命令保存目录 /lib 系统库保存目录/boot 启动目录,启动相关文件 /mnt 系统挂载目录/dev 设备文件保存目录 /media…

linux一键打包工具,常见压缩与打包工具

第二周作业1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。3、请使用命令行展开功能来完成以下练习:(1)、创建/tmp目录下的:a_c, a_d,…

Linux+c+线程的属性,C ++中的多线程

多线程是多任务的一种特殊形式,多任务是一种功能,它使您的计算机可以同时运行两个或多个程序。通常,多任务有两种类型:基于进程和基于线程。基于进程的多任务处理程序的并发执行。基于线程的多任务处理并发执行同一程序的各个部分…

linux shell 除法运算符,Linux shell 基本运算符详解

shell 支持多种运算符1.算数运算符2.关系运算符3.布尔运算符4.字符串运算符5.文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表…

linux下如何为redis配置path,linux环境下如何启动redis

启动redisredis可执行文件说明:redis-server:redis服务器redis-cli:redis命令行客户端redis-benchmark:redis性能测试工具redis-check-aof:aof文件修复工具redis-check-dump:rdb文件检查工具1、直接启动直接…

linux从别的主机下载,从局域网内的其他Linux主机下载文件

Step 0本机与目标机都需要安装有openssh-server在本机与目标机上以root用户身份执行service ssh status # Debian上是ssh,openSUSE上是sshd,可以在键入ssh后紧接着按一下Tab键以自动补全该服务名# 或service --status-all | grep ssh # 通用可查看ssh服务…

linux runqueue定义,linux – 了解rt_rq(实时runqueue)内核中数据成员的使用

以下是v3.5.4中的实时运行队列结构struct rt_rq {struct rt_prio_array active;unsigned int rt_nr_running;#if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHEDstruct {int curr; /* highest queued rt task prio */#ifdef CONFIG_SMPint next; /* next highest */#end…

Linux7安装gi报错,Redhat 7.6安装11G RAC GI时遇到此类报错

环境:Redhat Linux 7.6 Oracle 11.2.0.4 RAC现象:图像化安装过程中,按照提示执行root.sh脚本,报错中断。1. 具体现象[rootmm1903 ~]# /u01/app/11.2.0/grid/root.shPerforming rootuser operation forOracle 11gThe following en…

c语言修改字符串c2133,通过create_string_buffer、create_unicode_buffer让C语言具备修改字符串的能力...

字符串的修改我们知道C中不存在字符串这个概念,python中的字符串在C中也是通过字符数组来实现的。我们说在C中创建一个字符数组有两种方式:char *s1 "hello world";char s2[] "hello world";这两种方式虽然打印的结果是一样的&…

c语言中O空字符,OC语言中字符串的使用

可变字符串//插入字符串NSMutableString*string1 [NSMutableStringstringWithString:"字符串"];[string1insertString:"可变"atIndex:0];//在string的第0个位置插入NSLog("string %",string1);//可变字符串//删除字符串NSMutableString*string2…

大二c语言期末考试题库及详解答案,大学C语言期末考试练习题(带详解答案)...

《大学C语言期末考试练习题(带详解答案)》由会员分享,可在线阅读,更多相关《大学C语言期末考试练习题(带详解答案)(55页珍藏版)》请在金锄头文库上搜索。1、一、 单项选择题1( A )是构成C语言程序的基本单位。A、函数 B、过程 C、子程序 D、子例程2C语言…

C语言指针怎么存二维数组,C语言怎么用指针代替二维数组

1.设p是指向二维数组a[m][n]的指针变量,则有:int*pa[0];//此时P是指向一维数组的指针。P后,p指向a[0][1]。2.如果定义int(*p1)[n];p1a;p1后,p1指向a[1][0];则pj将指向a[0]数组中的元素a[0][j]。由于a[0]、a[1]┅a[M-1]等各个行数组…

c语言结构引用6,C语言6结构体练习题6

第六章 结构体1.下面对结构变量的叙述中错误的是A.相同类型的结构变量间可以相互赋值 B.通过结构变量,可以任意引用它的成员 C.结构变量中某个成员与这个成员类型相同的简单变量间可相互赋值D.结构变量与简…

设 l í {a,b,c}* 是满足下述条件的符号串构成的语言,编译原理模拟试题1和2的答案...

一、是非题1、算符优先关系表不一定存在对应的优先函数。( 错)2、数组元素的地址计算与数组的存储方式有关。( 错)3、仅考虑一个基本块,不能确定一个赋值是否真是无用的。( 正确)4、每个文法都能改写为LL(1)文法。( 正确)。5、对于数据空间的存贮分配,FO…

新手学习c语言的方法,学习C语言方法“新手必看”

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼1、多看代码在有一定基础以后一定要多看别人的代码。 注意代码中的算法和数据结构。 毕竟学C之后的关口就是算法和数据结构。提到数据结构,指针是其中重要的一环,绝大多数的数据结构是建立在指针…

android自定义进度条百分比跟着走,Android自定义View实现水平带数字百分比进度条...

这个进度条可以反映真实进度,并且完成百分比的文字时随着进度增加而移动的,所在位置也恰好是真实完成的百分比位置,效果如下:思路如下:第一部分是左侧的蓝色直线,代表已经完成的进度;第二部分是…