Linux--vim操作

目录

前言

一、vim模式

二、底行模式的操作

三、命令模式的操作

四、替换模式

五、视图模式

六、vim的多文件编译


前言

本文主要讲解了vim的一些使用技巧。帮助我们轻松上手vim。

vim是一种多模式编辑器,通过vim打开文件并对文件进行编辑。

使用vim很简单,只需要vim + 文件名就可以了。如下

一、vim模式

在对文件内容进行编辑前,我们需要了解一下vim的模式。vim的模式有很多种,其中最常见的有三种,分别为命令模式、插入模式和底行模式

具体模式转化图如下。

刚进入vim时为命令模式,这时你可以输入a或者i或者o进入插入模式。

**其中i代表当前位置插入;a代表当前位置下一个字符进行插入;o代表当前位置下一行进行插入。**如果进入到插入模式,会在窗口左下角出现提示,告诉你目前模式为INSERT。到了插入模式就可以开始编辑代码了。

命令模式下,按shift+;(相当于输入:)进入底行模式,此时会在左下角出现 : 的标志。(底行模式的操作放到下面讲)

非命令模式下,按 Esc进入到命令模式

二、底行模式的操作

看表格就好,不理解在看具体的

|---------------------------|-------------|
| w | 保存 |
| q | 退出 |
| wq | 保存并退出 |
| set number 和 set nonumber | 打开行号和关闭行号 |
| ! + 命令 | 不退出vim下执行命令 |
| / + 关键字 | 查找关键字 |

1.w ->保存

底行模式中输入w为保存,输入w!为强制保存(只要不是无权限都可以保存)

2.q ->退出

底行模式中输入q为退出,输入q!为强制退出。

3.wq ->保存并退出

底行模式输入wq为保存并退出,wq!为强制保存并退出。

4.set number打开行号和set nonumber关闭行号

输入set number (简写set nu)打开行号,输入set nonumber(简写set nonu)关闭行号。

5.!+命令 ->执行指令

底行模式下输入**!+命令** 可以在不退出vim的情况下进行操作。

6. /+关键字 ->查找

底行模式下输入**/+关键字**,可以查找文件内所有的该关键字,并且输入n可以到下一个。

三、命令模式的操作

看表格就好,不理解在看具体的

|-------------------|--------------|
| gg和shift+g | gg移动光标至开头和结尾 |
| shift+4 和 shift+6 | 跳转行结尾和开头 |
| hjkl | h左,j下,k上,l右 |
| w和b | 以单词向后移动和向前移动 |
| yy和p和dd | 赋值和粘贴和剪切 |
| shift+` | 大小写转化 |
| r + 字符 | 替换字符 |
| x | 删除字符 |
| u和ctrl + r | 撤销与恢复 |
| shift + 3 | 搜索 |

1.gg和shift+g ->移动光标至开头和结尾

命令模式下输入gg光标跳转到文件开头,输入shift+g光标跳转到文件末尾。输入n + gg跳转到第n行。如输入 8+gg 就在第八行(8+shift+g 也是一样)

2.shift+4 和 shift+6 (小键盘的4和6) ->跳转行结尾和开头

命令模式下输入shift+4(即$)跳转到当前行的结尾, 输入shift+6(即^)跳转到当前行的开头。

3.h左,j下,k上,l右

命令模式下h 光标往左移动,j 往下移动,k 往上移动,l往右移动。

记忆方法:hhkl中h 在最左边为左,l 在最右边为右,j 为jump往下跳为下,k在很多游戏中为跳跃键为上。

4.w和b ->以单词向后移动和向前移动

命令模式下w以单词为单位向后移动,支持跨行,b以单词为单位向前移动,支持跨行。

5.yy和p和dd ->赋值和粘贴和剪切

命令模式下yy复制光标所在行,n + yy复制计算光标所在行的n行,如 5 + yy代表复制5行 。

命令模式下p为粘贴所复制的内容。n + p粘贴n次所复制内容,如 5 + p代表粘贴5次。

命令模式下dd为剪切所在行,n + dd为剪切光标所在行的后n行,如5+dd代表删除5行,并覆盖粘贴板。

6.shift+` ->大小写转化

命令模式下输入shift+`(即输入~)大小写互相转化,并往后移动。

7.r + 字符 ->替换字符

命令模式下输入 r+字符 替换光标所在字符为你输入的字符。n + r + 字符替换逛遍所在字符后的n个字符为你输入的字符,如 3 + r + x 如下

8.x ->删除字符

命令模式下输入 x 代表删除字符。 n + x向后删除n个字符

9.u和ctrl + r ->撤销与恢复

命令模式下输入u 代表撤销之前的编辑操作,ctrl + r 代表恢复刚刚的撤销(套娃)。

10.shift + 3(小键盘) ->搜索

命令模式下输入 shift+3(即#)以名搜索文件中的重复内容,跟之前底行模式**/ + 关键字** 不一样。区别如下,底行模式**/ + 关键字**式会搜索出fun1和fun2,命令模式shift+3不会。

四、替换模式

命令模式下输入 shift+r 进入到替换模式,在此模式下进行修改都是替换。

五、视图模式

输入 ctrl + v 进入视图模式。

批量注释:ctrl + v -> j/k按键上下选中区域 -> shift + i ->// + Esc。具体操作如下

批量取消注释:ctrl +v ->hjkl选中区域 ->d

六、vim的多文件编译

vim在底行模式下输入vs + 文件名可以进行多文件的编译。

光标在哪个文件,就表示在编辑哪个文件,输入ctrl+ww可以将光标跳转到另外的文件中。

相关推荐
wanhengidc2 分钟前
云手机如何进行数据备份
运维·服务器·科技·智能手机·云计算
weixin_307779132 分钟前
深度解析 Jenkins Git Client 6.4.0 插件:核心功能、应用场景与最佳实践
运维·git·架构·jenkins
菜择贰5 分钟前
为IDEA创建Linux桌面快捷方式
java·linux·intellij-idea
minji...5 分钟前
Linux 进程控制(三) (进程程序替换,exec系列函数)
linux·运维·服务器
Xの哲學6 分钟前
Linux TTY子系统深度剖析
linux·服务器·算法·架构·边缘计算
moringlightyn6 分钟前
Linux---基础IO(文件理解 文件接口使用 文件系统层面)
linux·运维·服务器·c语言·笔记·系统·文件
艾莉丝努力练剑7 分钟前
【C++:智能指针】没有垃圾回收?智能指针来也!破解C++内存泄漏:智能指针原理、循环引用与线程安全详解
大数据·运维·c++·安全·编辑器·智能指针
杜子不疼.8 分钟前
【Linux】进程控制(一):进程的创建和终止
linux·运维·服务器
橘子真甜~1 小时前
C/C++ Linux网络编程9 - TCP服务器实现流程和独立运行
linux·运维·服务器·c++·守护进程·会话组
weixin_307779132 小时前
Jenkins GitHub插件1.45.0:深度集成与实践指南
运维·云原生·云计算·jenkins