首页 > 系统相关 >Linux中vim常用命令和技巧(超详细保姆级教程)(三)

Linux中vim常用命令和技巧(超详细保姆级教程)(三)

时间:2024-12-26 17:00:09浏览次数:5  
标签:可视 Linux 模式 vim 命令 常用命令 操作 文本

最近被要求改用vim写代码,感觉自己的一些操作非常笨拙,完全浪费了vim的强大功能,下定决心从头学习vim的各种操作和技巧,顺便把学到的内容整理出来,内容持续更新中,包括各种基础操作和一些提高生产力的小技巧,适合和我一样刚接触vim或者想要系统练习vim操作的友友们,一起成为vim高手!

(一)Vim 的一些简单配置

(二)Vim 普通模式下的常用操作和技巧:移动,编辑,查找与替换

(三) Vim 可视模式下的常用操作和技巧:选择高亮区,批量快速的操作

......

更新中

3. 可视模式下操作

可视模式下可以选中一块文本区域进行操作。可视模式有三种操作方式,可以分别对字符文本,行文本和列文本进行操作。在可视模式中,普通模式下很多命令仍然适用于可视模式,例如光标移动,查找跳转,使用 命令重复执行命令的方法也依然有效。

可视模式和普通模式命令的区别主要在于,可视模式下往往先选择区域再出发命令,而普通模式正好相反,例如:普通模式下的 cw 先选择c(删除)操作,再选择范围w(到下个单词开头)

3.1 进入可视模式

模式

按键

功能

普通模式

v

进入/退出面向字符的可视模式

V

进入/退出面向行的可视模式

Ctrl+v

进入/退出面向列的可视模式

gv

重选上次的高亮区域

可视模式退出可以直接使用 Esc键或Ctrl+[  返回普通模式,也可以重复使用进入命令进行切换。

3.2 更改高亮选区

在可视模式下也是通过各种光标移动方式更改选区,普通模式下的各种移动方式基本都是用于可视模式,可以在可视模式下多尝试一下各种普通模式下的命令,会产生各种有趣的效果。

模式

按键

功能

可视模式

o

切换选区的活动端

3.3 可视模式下的操作技巧

​​​​​​​3.3.1 缩进

在可视模式下使用 <> 可以快速更改当前选中行代码的缩进。首先需要确定vim的配置文件中shiftwidth 和 softtabstop 的值设为4,且 expandtab 已开启,也可以直接用我的 .vimrc 文件

模式

按键

功能

可视模式

[num]<

减少[num]级缩进

[num]>

增加[num]级缩进

执行完缩进修改命令后会直接返回普通模式,如果需要重复修改可以使用 命令或者在执行缩进命令时直接使用[num]一步到位。

​​​​​​​3.3.2 修改大小写

模式

按键

功能

可视模式

U

将高亮区域字母转大写

u

将高亮区域字母转小写

执行后将自动返回普通模式。

​​​​​​​3.3.3 面向列块可视模式操作

对于刚开始用vim的人来说,面向列的操作可能会比较少见,但在一些情况下会很有用,操作更加灵活。面向列的各种基础操作和面向字符、行的操作其实没什么区别,大家可以在列可视模式下多尝试一些操作,加深印象。

例如想要添加一列标识符分割文本内容,就可以进入列可视模式下,使用移动命令选中需要加入的列位置,然后使用 r| 命令将这一列内容变成 | 符号。

对于长短不一的行文本,如果我们想在每一行后增加内容,可以在列模式下使用 $ 把选区扩展到行尾:

此外,在列块可视模式下还可以实现批量的修改:

模式

按键

功能

可视模式

r{char}

将高亮区域内字符全修改为{char}

c{文本内容}

将高亮区域内每行都修改成同样的内容

在对行进行批量修改时,命令会进入插入模式,光标转到首行,这里不要慌,在完成对首行的修改并回到普通模式后,修改将作用在选中的每行,实现批量修改。

​​​​​​​3.3.4 精准的文本对象选择

进入可视模式,可以用 i+范围 的命令精准选择一定范围的文本并实现光标的快速移动。

模式

按键

功能

可视模式

i )

( )内部

i }

{ }内部

i >

< >内部

i ]

[ ]内部

i ‘

‘ ‘内部

i “

“内部

i `

` `内部

it

XML标签内部

使用 i 进行的文本选择并不包括两侧的范围符号,如果想把范围符号一并选中的话,可以将i改成a,其他内容不变:

模式

按键

功能

可视模式

a )

( )及其内部内容

a}

{ }及其内部内容

a>

< >及其内部内容

a]

[ ] 及其内部内容

a‘

‘ ‘及其内部内容

a “

“及其内部内容

a`

` `及其内部内容

a

XML标签及其内部内容

除了选择分隔符内的文本,也可以直接对文本块进行选择:

模式

按键

功能

可视模式

iw

当前单词

iW

当前字串

is

当前句子

ip

当前段落

同样的,使用 a 命令可以扩展范围到单词前面或后面的空格:

模式

按键

功能

可视模式

aw

当前单词及一个空格

aW

当前字串及一个空格

as

当前句子及一个空格

ap

当前段落及一个空行

这一系列文本的选择可以和基础操作相结合,例如 daw – 删除此单词外加一个空格。可以尝试一下用不同命令和范围选择操作相结合,实现不同的效果。

​​​​​​​​​​​​​​3.3.5 切换选择模式

使用 Ctrl+g 可以在可视模式和选择模式之间切换。在选择模式中输入字符将直接替换所选内容并进入插入模式,而在可视模式下还是要用 c 来修改所选内容

总结:在选择模式下,普通模式的很多操作仍然有效,因此在掌握普通模式命令的基础下学习可视模式会简单很多。此外可视模式提供了可以对列块进行操作以及批量修改的方法,在一些特定情况下会大大提高效率。

标签:可视,Linux,模式,vim,命令,常用命令,操作,文本
From: https://blog.csdn.net/weixin_43749168/article/details/144742600

相关文章

  • LVS(Linux Virtual Server)备忘录
    (241226)基础内容LVS是LinuxVirtualServer,Linux虚拟服务器;是一个虚拟的服务器集群【多台机器LBIP】。LVS集群分为三层结构:负载调度器(loadbalancer):它是整个LVS集群对外的前端机器,负责将client请求发送到一组服务器【多台LBIP】上执行,而client端认为是返回来一个同......
  • linux关闭图形界面
    1.linux关闭图形界面目录1.linux关闭图形界面1.1.centos6.5关闭图形界面1.1.1.临时关闭1.1.2.永久关闭1.2.安装图形界面:1.3.centos7:1.3.1.关闭图形界面1.3.2.启用图形界面1.1.centos6.5关闭图形界面图形界面的关闭分为临时关闭和永久关闭,临时关闭重启系统后恢复......
  • linux下硬盘安装以及扩容
    分区数据盘fdisk/dev/vdb创建物理卷PVpvcreate/dev/vdb1查看物理卷pvpvs创建卷组VGvgcreatevghome/dev/vdb1或者加入vghome卷组vgextendvghome/dev/vdb1查看卷组vgs一、使用lvextend命令进行已有逻辑卷扩容1、先使用df-h查看需要扩容的逻辑卷地址:/dev/mapper/uos......
  • linux编译汇编程序
    汇编语言对于大多数程序员来说都是进而远之的,原因当然是汇编语言晦涩难懂,各种指令搞得人头疼,不过汇编语言适当了解一些还是蛮有意思的,今天带大家在Linux上运行第一个汇编程序!在Linux操作系统中,你有很多办法可以实现在屏幕上显示一个字符串,但最简洁的方式是使用Linux内核提供......
  • 常用 Linux命令
    一、文件和目录操作ls:功能:列出目录中的文件和子目录。参数详解:-l:以长格式显示,包括文件权限、所有者、大小、修改时间等详细信息。例如:ls-l会显示类似“-rw-r--r--1usergroup12345Nov610:00file.txt”的信息。-a:显示所有文件,包括以“.”开头的隐藏文件。例如在一......
  • MySQL8.0常用命令
    ----------------------------------------------------------------------------------------------------------------------------------------------------- --查询数据库中哪些线程正在执行showprocesslist;#查版本mysql-V或mysql> select version();mysql-h127......
  • [Linux] vim 编辑时增加颜色渲染
    修改配置文件 cp /usr/share/vim/vimrc  ~/.vimrcvim~/.vimrc文件最后加上:    syntaxon    setautoindent保存退出即可。 修改为其它配色:http://blog.csdn.net/......
  • 熟悉常用的Linux操作和Hadoop操作(实验过程存在的问题和解决)
    实验步骤1)cd命令:切换目录(1) 切换到目录“/usr/local”(2) 切换到当前目录的上一级目录(3) 切换到当前登录Linux系统的用户的自己的主文件夹2)ls命令:查看文件与目录查看目录“/usr”下的所有文件和目录3)mkdir命令:新建目录(1)进入“/tmp”目录,创建一个名为“a”的目录,并查看“/tm......
  • Linux中如何指定dns服务器,来解析某个域名
    在Linux中,指定DNS服务器来解析某个域名主要涉及编辑DNS配置文件或使用命令行工具进行临时配置。以下是详细的步骤和说明:一、编辑DNS配置文件(永久生效)Linux系统中,DNS解析的配置通常位于/etc/resolv.conf文件中。你可以通过编辑这个文件来指定DNS服务器。步骤:打开/etc/resolv.......
  • Linux关闭系统中不用服务
    在Linux系统中,服务通常由systemd系统和服务管理器管理,这是大多数现代Linux发行版使用的默认服务管理器。以下是如何关闭系统中不必要的服务的步骤:1.查看服务状态列出所有服务:使用systemctl命令可以查看系统中所有服务的状态。systemctllist-units--type=service查看特定......