当前位置: 首页 > news >正文

vim配置使用

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.hskmm.com/?act=detail&tid=29554

相关文章:

  • shell高级
  • shell流程控制
  • shell展开shell数组
  • shell排错
  • 原木
  • 格式化输出与文本处理
  • 2025年10月镀锌卷板厂家最新推荐排行榜,有花镀锌卷板,无花镀锌卷板,高锌层镀锌卷板,批发镀锌卷板公司推荐
  • React 19.2 重磅更新!这几个新特性终于来了
  • Akka.NET高性能分布式Actor框架完全指南
  • 基于Docker搭建MySQL Cluster
  • 2025 年抗氧剂厂家最新推荐排行榜,聚酯防黄变抗氧剂,透明膜防晶点抗氧剂,PC聚碳防黄变抗氧剂公司推荐!
  • PaddleX服务化部署精度低于命令行调用的原因及解决方案 - 指南
  • 某中心与华盛顿大学公布机器人研究奖项与学者名单
  • 会话跟踪方案
  • 阻塞、非阻塞、同步、异步的区别是什么?
  • 如何防范员工泄露数据给 AI?2025年选型与落地实战版
  • Linux文本编辑三剑客之grep
  • Linux文本编辑三剑客之sed
  • 做了项目经理才发现:上台发言,其实都有套路
  • 占位符
  • 什么是IO多路复用?
  • 进程、线程和协程之间的区别和联系
  • 挣点小钱的副业(附带新手教程)0元的快乐
  • Linux文本编辑三剑客之awk
  • 软考~高效的系统规划与管理师考试—知识篇—V2.0—第四章 IT 服务规划设计 — 2017 年 2018 年 2020 年 2022 年 2023 年
  • 10.12
  • 从“优化工具”到“价值生态”:多价值主体系统如何重塑AI价值对齐范式
  • 2.2 深度学习(Deep Learning)
  • 结对项目
  • 第十二篇