Linux Vim

vim的介绍

什么是vim

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

Vim是加强版的文本编译器

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。vi的命令几乎全部可以在vim上使用。

vim键盘图

vim的使用

Vim的安装

yum install -y vim

工作模式

vim快捷键

基本操作

快捷键功能
Esc从当前模式转换到“普通模式”。所有的键对应到命令。
i“插入模式”用于插入文字。回归按键的本职工作。
:“命令行模式” Vim 希望你输入类似于保存该文档命令的地方。

方向键

快捷键功能
h光标向左移动一个字符
j 或 Ctrl + J光标向下移动一行
k 或 Ctrl + P光标向上移动一行
l光标向右移动一个字符
0(数字 0)移动光标至本行开头
$移动光标至本行末尾
^移动光标至本行第一个非空字符处
w向前移动一个词 (上一个字母和数字组成的词之后)
W向前移动一个词 (以空格分隔的词)
5w向前移动五个词
b向后移动一个词 (下一个字母和数字组成的词之前)
B向后移动一个词 (以空格分隔的词)
5b向后移动五个词
G移动至文件末尾
gg移动至文件开头

浏览文档

快捷键功能
(跳转到上一句
)跳转到下一句
{跳转到上一段
}跳转到下一段
[[跳转到上一部分
]]跳转到下一部分
[]跳转到上一部分的末尾
][跳转到上一部分的开头

插入文本

快捷键功能
a在光标后插入文本
A在行末插入文本
i在光标前插入文本
o(小写字母 o)在光标下方新开一行
O(大写字母 O)在光标上方新开一行

特殊插入

快捷键功能
:r [filename]在光标下方插入文件 [filename] 的内容
:r ![command]执行命令 [command] ,并将输出插入至光标下方

删除文本

快捷键功能
x删除光标处字符
dw删除一个词
d0删至行首
d$删至行末
d)删至句末
dgg删至文件开头
dG删至文件末尾
dd删除该行
3dd删除三行

简单替换文本

快捷键功能
r{text}将光标处的字符替换成 {text}
R进入覆写模式,输入的字符将替换原有的字符

复制/粘贴文本

快捷键功能
yy复制当前行至存储缓冲区
[“x]yy复制当前行至寄存器 x
p在当前行之后粘贴存储缓冲区中的内容
P在当前行之前粘贴存储缓冲区中的内容
[“x]p在当前行之后粘贴寄存器 x 中的内容
[“x]P在当前行之前粘贴寄存器 x 中的内容

撤销/重做操作

快捷键功能
u撤销最后的操作
Ctrl+r重做最后撤销的操作

搜索和替换

快捷键功能
/search_text检索文档,在文档后面的部分搜索 search_text
?search_text检索文档,在文档前面的部分搜索 search_text
n移动到后一个检索结果
N移动到前一个检索结果
:%s/original/replacement检索第一个 “original” 字符串并将其替换成 “replacement”
:%s/original/replacement/g检索并将所有的 “original” 替换为 “replacement”
:%s/original/replacement/gc检索出所有的 “original” 字符串,但在替换成 “replacement” 前,先询问是否替换

书签

快捷键功能
m {a-zA-Z}在当前光标位置设置书签,书签名可用一个大小写字母({a-zA-Z})
:marks列出所有书签
{a-zA-Z}跳转到书签 {a-zA-Z}

选择文本

快捷键功能
v进入逐字可视模式
V进入逐行可视模式
Esc退出可视模式

改动选中文本

快捷键功能
~切换大小写
d删除一个词
c变更
y复制
>右移
<左移
!通过外部命令进行过滤

保存并退出

快捷键功能
:q退出 Vim,如果文件已被修改,将退出失败
:w保存文件
:w new_name用 new_name 作为文件名保存文件
:wq保存文件并退出 Vim
:q!退出 Vim,不保存文件改动
ZZ退出 Vim,如果文件被改动过,保存改动内容
ZQ与 :q! 相同,退出 Vim,不保存文件改动

Docker入门

背景知识 容器技术的起源 假设你们公司正在秘密研发下一个“今日头条”APP,我们姑且称为明日头条,程序员自己从头到尾搭建了一套环境开始写代码,写完...

Linux常用命令

关机/重启/注销 常用命令作用shutdown -h now即刻关机shutdown -h 1010分钟后关机shutdown -h 11:0011:00关机shutdown -h +10预定时间关机(10分钟后)s...

Shell 编程基础

1.谁需要学习 Shell 编程? 1.Linux运维工程师:编写Shell程序进行服务集群管理。 2.Python和JavaEE程序员:编写Shell脚本程序或者是服务器的维护,比...

VMware虚拟机

VMware虚拟机安装Ubuntu操作系统 Ubuntu操作系统安装docker [VMware超详细安装完整教程](https://blog.csdn.net/weixin_56306210/article/details/125...

Linux入门

一:Linux系统介绍 1.系统介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统 ...