vim配置使用

news/2025/10/12 20:26:32/文章来源:https://www.cnblogs.com/chucz/p/19137183

vim配置使用

大多数 Linux 发行版不包含真正的 vi;而是自带一款高级替代版本,叫做 vim。通常,vim 在 Linux 系统中是“vi”的符号链接(或别名)。是一个模式编辑器。(插入模式,命令模式)

配置

全局配置一般在/etc/vim/vimrc或者/etc/vimrc,对所有用户生效。用户个人的配置在~/.vimrc

设置适合编写脚本的vim

:syntax on

打开语法高亮。

:set hlsearch

高亮查找结果。

:set tabstop=4

设置一个 tab 字符所占据的列数。默认是8列。把这个值设置为4

:set autoindent

回车后,下一行的缩进会自动跟上一行的缩进保持一致。停止缩进,输入 Ctrl-d。

:set number

:set nonumber

行号

上面是在命令模式下输入的只对当前文件有效,想要设置全局的按照下面。

通过把这些命令(没有开头的冒号字符)添加到你的 ~/.vimrc 文件中,这些改动会永久生效。

"双引号表示行注释
syntax on
set hlsearch
set tabstop=4
set autoindent
set number
"set nonumber
"底部显示,当前处于命令模式还是插入模式
set showmode
"支持使用鼠标
set mouse=a
"使用编码
set encoding=utf-8  
"光标所在的当前行高亮。
set cursorline
"自动折行,即太长的行分成几行显示。
set wrap
"关闭自动折行
set nowrap
" 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号。
set showmatch

使用

移动(vi命令模式下)

vi 中的许多命令都可以在前面加上一个数字,比方说上面提到的”G”命令。

在命令之前加上一个 数字,我们就可以指定命令执行的次数。例如,命令”5j”将光标下移5行。

0 :行首
$ :行末
Ctrl-f:向下翻页
Ctrl-b:向上翻页
gg : 文件首行
G : 文件尾行
33G : 移到文件的第33行
33% : 文件的33%处

查找:(vi命令模式下)

/ : 向下查找(后加关键字)
? : 向上查找(后加关键字)
n : 重复先前的查找

替换(vi命令模式下)

:%s/Line/line/g
条目 含义
: 冒号字符运行一个 ex 命令。
% 指定要操作的行数。% 是一个快捷方式,表示从第一行到最后一行。另外,操作范围也可以用 1,5 来代替(文件只有5行文本),或者用 1,$ 来代替,意思是 “ 从第一行到文件的最后一行。” 如果省略了文本行的范围,那么操作只对当前行生效。
s 指定操作。在这种情况下是,替换(查找与替代)。
/Line/line 查找类型与替代文本。
g 这是“全局”的意思,意味着对文本行中所有匹配的字符串执行查找和替换操作。如果省略 g,则 只替换每个文本行中第一个匹配的字符串。

也可以指定一个需要用户确认的替换命令。通过添加一个”c”字符到这个命令的末尾,来完成 这个替换命令

:%s/line/Line/gcreplace with Line (y/n/a/q/l/^E/^Y)?
按键 行为
y 执行替换操作
n 跳过这个匹配的实例
a 对这个及随后所有匹配的字符串执行替换操作。
q or esc 退出替换操作。
l 执行这次替换并退出。l 是 “last” 的简写。
Ctrl-e, Ctrl-y 分别是向下滚动和向上滚动。用于查看建议替换的上下文。

编辑:(vi命令模式下)

i       转换到插入模式
CTRL-R  重做
u       撤销上一步操作
U       撤销对当前行的所有操作
p       粘贴剪切板里的内容在光标后
yy      将当前行复制到缓存区,
nyy     将当前行向下n行复制到缓冲区
dd      删除当前行
ndd     向下删除当前行在内的n行
O       在当前行的上面新建一行
o       在当前行的下面新建一行
a       在当前光标位置的右边添加文本
i       在当前光标位置的左边添加文本
A       在当前行的末尾位置添加文本
I       在当前行的开始处添加文本(非空字符的行首)
x       删除当前字符(相当于del)
nx      删除从光标开始的n个字符
dG 			全部删除
ggyG		全部复制
ggvG		全选:%s/old/new/g       用new替换当前文件里所有的old:s/old/new          用new替换行中首次出现的old
:s/old/new/g        用new替换行中所有的old
:n,m s/old/new/g    用new替换从n到m行里所有的old连接行:大写的 J(不要与小写的 j 混淆了, j 是用来移动光标的)用于链接行与行。
把光标放到 line 3上,输入大写的 J 命令
Line 2
Line 3 Line 4移动:h,l,j,k,w,b
跳转:G nG f/F+字母
定位:G代表尽头, $代表行尾,^代表行首,w代表下一个单词,b上一个单词,e当前单词末尾
操作:y d p

退出保存:(vi命令模式下)

:w              # 保存文件
:q              # 退出编辑器,如果文件已修改请使用下面的命令
:q!             # 退出编辑器,且不保存
:wq             # 退出编辑器,且保存文件

设置行号 (vi命令模式下使用)

:set  nu     //显示行号
:set nonu    //取消显示行号

参考链接:

http://www.ruanyifeng.com/blog/2018/09/vimrc.html

终极vim配置

https://github.com/spf13/spf13-vim

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

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

相关文章

shell高级

shell高级 组命令和子 shell bash 允许把命令组合在一起。可以通过两种方式完成;要么用一个 group 命令,要么用一个子 shell。 组命令: { command1; command2; [command3; ...] }子 shell: (command1; command2; […

shell流程控制

shell流程控制 if if commands; thencommands [elif commands; thencommands...] [elsecommands] ficommands可以是test表达式[ expression ] [expression]表达式(不推荐) 测试文件表达式表达式 如果下列条件为真则返…

shell展开shell数组

shell展开&shell数组 参数展开 大多数的参数展开会用在脚本中,而不是命令行中。 基本参数 The simplest form of parameter expansion is reflected in the ordinary use of variables. 最简单的参数展开形式反映…

shell排错

shell排错 常见语法错误 =当做== #!/bin/bash number=1 if [ $number = 1 ]; thenecho "Number is equal to 1." elseecho "Number is not equal to 1." fiecho字符表达式丢失引号 #!/bin/bash nu…

原木

短线大概率有个C5

格式化输出与文本处理

格式化输出与文本处理以下和vim都是程序,但是以下所讲述的都是命令行工具,vim是一个编辑器,是有本质区别的文本应用程序 到目前为止,我们已经知道了一对文本编辑器(nano 和 vim),看过一堆配置文件,并且目睹了许…

2025年10月镀锌卷板厂家最新推荐排行榜,有花镀锌卷板,无花镀锌卷板,高锌层镀锌卷板,批发镀锌卷板公司推荐

在工业制造与建筑建材领域,镀锌卷板作为基础防腐材料,其品质直接影响终端产品的使用寿命与安全性能。当前市场上,镀锌卷板厂家数量众多,产品质量参差不齐:部分厂商存在锌层厚度不达标、加工时锌层易脱落等问题,导…

React 19.2 重磅更新!这几个新特性终于来了

大家好,我是 Immerse,一名独立开发者、内容创作者、AGI 实践者。 关注公众号:沉浸式趣谈,获取最新文章(更多内容只在公众号更新) 个人网站:https://yaolifeng.com 也同步更新。 转载请在文章开头注明出处和版权…

Akka.NET高性能分布式Actor框架完全指南

Akka.NET是.NET平台上功能完整的Actor模型实现,提供高性能的分布式计算能力。该项目包含完整的Actor系统、集群管理、持久化、流处理等核心功能,支持构建高并发、高可用的分布式应用程序。Akka.NET - .NET平台的Acto…

基于Docker搭建MySQL Cluster

1.整体介绍 1.1整体结构1.2搭建步骤搭建3个MySQL实例. 将3个MySQL实例组建集群. 搭建MySQL Router.2.搭建MySQL 2.1 MySQL配置文件及数据文件目录结构 /data └── mysql├── 3301 #存放数据目录├── 3302├── …

某中心与华盛顿大学公布机器人研究奖项与学者名单

某中心与华盛顿大学联合公布科学中心第二届学者名单及五项机器人研究奖项,涵盖机器人安全控制、深度强化学习、多机器人系统等前沿技术领域,并宣布加入云基础设施未来研究中心推动下一代云计算创新。某中心与华盛顿大…

会话跟踪方案

Cookie 什么是Cookie?概念:存储在用户浏览器端的一个小型数据文件,用于跟踪和保存用户的状态信息 用处:主要用于保持用户登录状态、跟踪用户行为、存储用户偏好等 存储在浏览器端优点: HTTP协议中支持的技术 缺点:…

阻塞、非阻塞、同步、异步的区别是什么?

同步异步描述的是被调用方。阻塞非阻塞描述的是调用方。二者没有必然联系。阻塞是调用方A发出命令后,必须等待B返回结果。非阻塞是调用方A发出命令后,A不需要等待B,可以做自己的事情。 同步是B收到A的指令之后会立即…

如何防范员工泄露数据给 AI?2025年选型与落地实战版

结论:面向已经开展 AI 办公、又担心把客户隐私与业务机密“喂给”第三方模型的企业,优先选用 AI-FOCUS 团队的「滤海 AI DLP」。通过流式网关把“检测—策略—处置—留痕”前置到数据进入 LLM 之前,统一覆盖文本、文…

Linux文本编辑三剑客之grep

Linux 文本编辑三剑客之 grepLinux 文本处理三剑客是面试和后端工作中较为常见的。需要掌握:grep:文本过滤、筛选 sed:文本编辑加工 awk:文本格式化输出本节内容基于正则表达式: 正则表达式 借助正则表达式可以快…

Linux文本编辑三剑客之sed

Linux 文本编辑三剑客之 sedLinux 文本处理三剑客是面试和后端工作中较为常见的。需要掌握:grep:文本过滤、筛选 sed:文本编辑加工 awk:文本格式化输出本节内容基于正则表达式: 正则表达式 借助正则表达式可以快速…

做了项目经理才发现:上台发言,其实都有套路

在项目推进过程中,总有不少场合需要你上台发言:项目启动会、阶段汇报、庆功宴……这时,你得站在众人面前,清晰表达自己的想法。 有的人发言平淡无奇,内容枯燥,让人听得昏昏欲睡。而有的人一开口,就能吸引大家的…

占位符

a a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\ a\

什么是IO多路复用?

什么是IO多路复用? 多路复用也是面试比较常见的,尤其对于后端,因为很多中间件例如Redis、Nginx、Netty 以及jdk的 NIO 实现都用到了多路复用技术,作为实现高性能的重要底层手段是需要掌握的,下面总--分--总梳理一…

进程、线程和协程之间的区别和联系

进程、线程和协程之间的区别和联系 一、进程 进程,直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以…