Linux入门之VIM快捷使用

Linux入门之VIM快捷使用

简介:

文本编辑器,字处理器,类似nano 字符全屏编辑器,而sed 为行编辑器

来源:

vi : Visual Interface

vim: VI iMprpbed    (vi的增强版)

全屏编辑器,模式编辑器

vim模式:

1、编辑模式(命令模式)

2、输入模式

3、末行模式

模式转换:

1、编辑-->输出:

i:在当前关标所在字符的前面,转为输入模式

a: 在当前关标所在字符的后面,转为输入模式

o: 在当前关标所在字符的下方,新建一行,并转为输入模式

I: 在当前光标所在行的行首,转换为输入模式

A: 在当前关标所在行的行尾,转换为输入模式

O: 在当前光标所在字符的上方,新建一行,并转为输入模式

2、输入-->编辑

按ESC

3、编辑-->末行

在编辑模式下输入:符号

4、末行-->编辑

按一次或多次ESC, ESC+(比如末行模式中输入的有字符就需要按2次)

注意:输入到末行模式之间不能直接转换,末行模式下想执行命令可以使用

在末行模式下执行命令后再回到编辑模式,输入!后跟想要输入的命令

![command]

如 :!ls -l

也可以把命令结果追加到当前行后

:r![command]

例如: :r!ls -R /etc/*  将文件列表输出的结果追加到当前文件中

一、打开文件

vim /path/to/somefile  打开单个文件

如果文件存在为打开,否则保存退出时为新建

vim /path/to/somefile

vim +# : 打开文件,光标定位到自定行行首

vim +  : 打开文件,光标定位到最后一行行首

vim +/PATTERN : 打开文件,定位第一次被PATTERN匹配的行的行首

例如: vim +12 /test/inittab  打开文件并定位到第12行

注意: 文件打开默认处于编辑模式

二、关闭文件

1、末行模式关闭文件

:q   退出

:wq  保存并退出

:q!  不保存退出

:w   保存

:w! --> :x  强行保存 (对于只读文件一般管理员才有权限)

2、编辑模式下退出

ZZ   保存并退出

ZQ   不保存退出

3、末行模式

:/w /path/to/file  保存到指定路径

三、移动关标(编辑模式)

1、逐字符移动:

h: 左

l: 右

j: 下

k: 上

#h: 想左移动#个字符(#表示移动指定数目的字符)

2、以单词我I单位进行移动

w: 移至下一个单词的词首

e: 跳至当前或下一个单词的词尾

b: 跳至当前或前一个单词的词首

执行命令之前可以输入指定数字表示需要执行几次命令,例如:

#w #e #b

3w:向后移动到第3个词首

3、行类跳转:

0: 绝对字符

^: 行首的第一个非空白字符

$: 绝对行尾

H:当前屏幕的第一行行首

L:当前屏幕最后一行行首

4、行间跳转

编辑模式

#G: 跳转至第#行

G : 最行一行

gg:与 1G 作用相同,相当于行首

末行模式下,直接输入行号

比如 :10  (跳至第10行)

四、翻屏

Ctrl+f: 向下翻一屏

Ctrl+b: 向上翻一屏   before

Ctrl+d: 向下翻半屏   down

Ctrl+u: 向上翻一屏   up

五、删除单个字符

x:  删除出光标所在处的单个字符

#x: 删除光标所在处及向后的共#个字符

六、删除命令 d

命令模式下:

d命令跟跳转符号

#d跳转符:删除光标所在跳出范围共#个

#dw, #de, #db

dd:删除当前光标所在行s

#dd: 删除包含当前光标所在行内的#行

末行模式下:

StarADD,EndADDd

#,#d:删除从第几行到第几行

.d: 表示当前行

$d: 最后一行

+#d: 向下的#行

注意:删除的内容会包含在缓冲区中,可以通过撤销

七、粘贴命令 p

p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴贴至光标所在字符的后面

P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面

八、复制命令 y

y命令跟跳转符号

#y[跳转符]:复制光标所在跳出范围共#个

#dw, #de, #db

yy:复制当前光标所在行

#yy: 复制包含当前光标所在行内和往下的#行

九、修改:先删除内容,再转换为输入模式

c : 同d命令

十、替换:r

r: 替换单个字符

R: 替换模式,可以对一行来替换

十一、撤销编辑操作 u

命令模式下

u: 撤销前一次的编辑操作

连续u命令可以撤销此前的n次操作

#u: 直接撤销前#次编辑操作

撤销最近一次的撤销:Ctrl+r

十二、重复前一次的编辑操作

命令模式下按 .

十三、可视化模式

v: 按字符选取

V: 按矩形选区

十四、查找

命令模式下

/PATTERN

?PATTERN

n

N

PATTERN:支持正则表达式

十五、查找并替换

在末行模式下使用命令

ADDR1,[email protected]@[email protected]

1,$:第一行到最后一行

%: 表示全文

提示:类似sed 命令,但是必须指定行号

十六、使用vim编辑多个文件

vim FILE1 FILE2 FILE3...

末行模式下:

文件切换

:next   切换至下一个文件

:prev   切换至上一个文件

:last   切换至最后一个文件

:first  切换至第一个文件

退出

:qa   全部退出

:wqa  保存全部并退出

:wq   保存全部

十七、如何分屏显示一个文件

窗口拆分

编辑模式下

Ctrl+w,s: 水平拆分窗口

Ctrl+w,v: 垂直拆分差窗口

窗口之间切换

Ctrl+w, ARROW(↑↓←→)

末行模式下:

:qa 关闭所有窗口

十八、如何分屏显示多个文件

vim -o file1 file2 水平分割显示

vim -O file1 file2 垂直分割显示

文件切换

:first

:wall

:wqall

:qall

注意:分屏显示多个文件和单个文件可以配合使用

十九、将当前文件中部分内容另存为另外一个文件

:w

:ADDR1,ADDR2w /path/to/somewhere

二十、将另外一个文件的内容填充在当前文件中

:r /path/to/somefile

二十一、跟shell交互

:! COMMAND  执行结果后返回编辑器

:r!COMMAND  将执行结果内容追加到当前行后

二十二、环境设置(只能末行模式)

1、显示或取消显示行号

:set number

:set nu

:set nonu

2、设定vim忽略或区分字符大小写

:set ignorecase

:set ic

:set noic

3、设定自动缩进

:set autoindent

:set ai

:set noai

4、查找到的文本高亮显示或取消

:set hlsearch

:set nohlsearch

5、语法高亮

:syntax on

:syntax off

5、查看所有环境指令

:set all

二十三、配置文件

/etc/vimrc   全局

~/.vimrc    局部  如果没有,可以手动创建

用于练习和说明:

vimtutor帮助文档

vimtutor

额外部分:

编辑二进制文件

以二进制方式打开文件

vim –b binaryfile

扩展命令模式下,利用xxd命令转换为可读的十六进制

:%!xxd

编辑二进制文件

扩展命令模式下,利用xxd命令转换回二进制

:%!xxd –r

保存退出

时间: 2024-10-22 02:14:22

Linux入门之VIM快捷使用的相关文章

Linux应用:Vim 快捷操作

1. 删除字符 <普通模式> x:   删除光标下的字符 dd: 删除一整行,包括换行符 J:   删除当前行的换行符,在当前行的任意地方执行都可以 2. 撤销与烦撤销 <普通模式> u:  撤销最近的一次操作,连续执行将连续撤销 U:  行撤销,撤销最近一次对一行的所有修改 Ctrl+R: 反撤销,对u(小写)进行的撤销进行反撤销, (对U(大写)的无效?连按也无效?) 3. 进入编辑模式 <普通模式> i:  进入编辑模式,开始位置位光标所在字符前面 a: 进入编辑

Linux入门之CentOS7内核编译三部曲(2)

Linux入门之CentOS7内核编译三部曲(2) 在linux系统中,编译完了内核,得到了所需的功能,并不能表示就已经能完美完成我们的所需.因为内核只是做一个核心的硬件及核心代码的支持,而注意的模块支持任然是对应版本的内核模块文件.这些文件决定着平时能否使用哪些功能.这次不会介绍如果添加给上次编译的新内核模块功能,主要介绍模块的功能和作用以及其加载和卸载. 查看当前系统以及加载的内核模块命令:lsmod  modinfo lsmod 命令 lsmod - program to show the

linux 入门教程

linux入门教程 搜索 Linux入门教程 前言 第一章 关于Linux的历史 第二章 图形界面还是命令窗口 第三章 Linux操作系统的安装 第四章 初步进入linux世界 第五章 Linux系统的远程登录 第六章 Linux文件与目录管理 第七章 Linux系统用户以及用户组管理 第八章 Linux磁盘管理 第九章 文本编辑工具vim 第十章 文档的压缩与打包 第十一章 安装RPM包或者安装源码包 第十二章 学习shell脚本之前的基础知识 第十三章 正则表达式 第十四章 SHELL 脚本

002 - 在安卓手机上学习C语言-Linux入门 通往程序世界之门-操作系统

Linux入门  通往程序世界之门--操作系统 在上一章中 , 我们讨论了为何要搭建编译环境, 那么多的上仙出场, 我相信大家还能记住的搭建编译环境的原因的. 在讨论的时候, 不知不觉地把Linux操作系统给提出来了, 其实, 使用Windows去教学可能会更方便一点. 毕竟大家都用熟了嘛 , 不过我们是在手机上编程, 手机上使用不了Windows上的工具, 所以Windows暂时是用不上了, 只好转入Linux系统的怀抱了. 在这一章中, 我会简单地介绍一下在Linux的下使用到的命令. 最后

轻松掌握Linux操作系统技术 [肖哥玩转Linux入门基础视频课程]

课程目标:让零基础学员轻松并熟练掌握Linux系统以及实机排错,对Linux技术初级使用得心应手.适合人群:大学生.零基础学员.Linux初学者.Linux爱好者.Linux系统管理员等.课程介绍:适用于Linux的新使用者,帮助初学者了解并掌握Linux基本知识,该课程包括系统安装.基本指令使用.文件系统结构及权限设置.Bash. shell scripts.vim编辑器使用.系统配置.进程管理.文件的查找.压缩及处理.Linux下文件系统深入讲解.网络客户端使用等. 更多内容详见:轻松掌握L

Linux入门之磁盘管理(1)分区管理

Linux入门之磁盘管理(1)分区管理 无论是windows还是linux,目前支持的分区结构只有两种,一种是基于blos检查启动的mbr结构,另一种是基于uefi(统一扩展固件接口)的opt分区结构.当然,目前广泛的还是使用的mbr结构. linux中有很多不同的文件系统,当使用安装光盘安装的readhat类的linux系统默认一般支持的主要格式为ext类(ext2.ext3.ext4),当然这些是redhat或者centos5.6所使用的默认设备,且安装centos7时默认使用的分区格式为x

Linux入门之CentOS7内核编译三部曲(3)

Linux入门之CentOS7内核编译三部曲(3) 在上篇通过一些简单的例子和使用介绍了linux系统中模块的功能和作用.那么每次系统启动完成之后,又是怎么去自动加载所需要的模块,那么回过头来看还是要连续模块加载具体在系统启动中的哪个阶段开始触发的.同时模块的加载是依据内核本身的预定程序,还是linux文件系统中的相应配置文件呢? 默认安装的模块文件路径:/lib/modules/$(uname -r)/kernel,如: #查看内核模块列表目录 [[email protected] ~]# l

Linux入门之磁盘管理(9)LVM逻辑卷案例

Linux入门之磁盘管理(9)LVM逻辑卷案例 案例介绍阶段(1): 创建一个由两个物理卷组成的大小未20G的卷组myvg,要求其PE大小为16M:而在此卷组中创建一个大小未5G的逻辑卷lvtest,此逻辑卷要能在开机后自动挂载至/mnt/lvtest目录,且支持ACL功能. 1.准备工作 #这里我们分别从两个磁盘选择10G来准备组合为PV [[email protected] ~]# fdisk -l | grep -o '/.*B' /dev/sda: 21.5 GB /dev/sdb: 2

[转载]Ubuntu Linux 入门(三):熟悉 Ubuntu Linux 桌面环境

转载自http://terrychen.info/ubuntu-linux-beginners-guide-getting-started-with-ubuntu-desktop/ 在Ubuntu Linux 入门(二):安装 Ubuntu Linux一文中,我们已经完成安装 Ubuntu Linux,在开始配置和使用 Ubuntu 之前,我们一起来了解 Ubuntu 的基本界面和操作. 1. 登录 Ubuntu GDM 是 Ubuntu 的默认登录界面,让使用者可以登录 Ubuntu.启动 U