Vim深入使用指南
Vim深入使用指南
Vim是一款功能强大的文本编辑器,被广泛用于编写和编辑各种类型的文档和代码。
安装Vim
可以操作系统下载并安装Vim。在安装完成后,通过在终端中输入vim命令来启动Vim。
Vim的基本模式
Vim有多个工作模式,每个模式有不同的功能和快捷键。以下是Vim的三个基本模式:
命令模式(Command mode):在命令模式下,你可以执行各种命令,如保存文件、退出Vim等。要进入命令模式,按下
Esc键。插入模式(Insert mode):在插入模式下,你可以像普通文本编辑器一样输入和编辑文本。要进入插入模式,在命令模式下按下
i键。可视模式(Visual mode):在可视模式下,你可以选择和操作文本块。要进入可视模式,在命令模式下按下
v键。
导航和编辑文本
以下是在Vim中导航和编辑文本的常用命令:
移动光标:使用箭头键或以下命令在文本中移动光标:
- 向上移动一行:
k - 向下移动一行:
j - 向左移动一个字符:
h - 向右移动一个字符:
l - 跳转到行首:
0 - 跳转到行尾:
$
- 向上移动一行:
删除和复制文本:
- 删除光标所在字符:
x - 删除整行:
dd - 复制光标所在字符:
y - 复制整行:
yy
- 删除光标所在字符:
粘贴文本:
- 在光标后粘贴:
p - 在光标前粘贴:
P
- 在光标后粘贴:
撤销和重做:
- 撤销上一步操作:
u - 重做撤销的操作:
Ctrl + r
- 撤销上一步操作:
搜索和替换
在Vim中搜索和替换文本是非常常见的操作。以下是一些相关的命令:
- 搜索文本:在命令模式下输入
/后跟要搜索的文本,按下Enter键即可开始搜索。使用n键和N键在匹配项
之间导航。
- 替换文本:在命令模式下输入
:%s/要替换的文本/替换后的文本/g来替换所有匹配项。要替换特定行的匹配项,可以将%替换为行号。
分屏和标签页
Vim提供了分屏和标签页功能,方便同时查看和编辑多个文件。
分屏:以下是一些常用的分屏命令:
- 垂直分屏:
:vsplit - 水平分屏:
:split - 切换焦点到下一个分屏:
Ctrl + w, w - 关闭当前分屏:
:q
- 垂直分屏:
标签页:以下是一些常用的标签页命令:
- 打开新标签页:
:tabnew - 切换到下一个标签页:
gt - 切换到上一个标签页:
gT - 关闭当前标签页:
:tabclose
- 打开新标签页:
配置和插件
Vim非常灵活,允许你根据自己的需求进行配置和添加插件。以下是一些常见的配置和插件管理命令:
配置Vim:要配置Vim,你可以创建一个
.vimrc文件,并在其中添加你的自定义配置。该文件通常位于你的用户目录下。插件管理:有几种插件管理器可供选择,如Vundle、Pathogen和vim-plug。根据你选择的插件管理器的不同,你需要按照相应的方式安装和配置插件。
结论
Vim是一个功能丰富且高度可定制的文本编辑器,拥有广泛的功能和命令。
Vim深入使用指南的更多相关文章
- 【转】一个 Vim 重度用户总结的 vim 超全指南
[转]一个 Vim 重度用户总结的 vim 超全指南 我本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让我对文本的操作更加精准.高效. 对于未使用过 ...
- Fuzzy finder(fzf+vim) 使用入门指南
今天无意中尝试了fzf,才发现这个工具的威力无穷,毕竟是非常好的工具,第一次都把它的优点都释放出来也不现实,先熟悉一下吧,后面在实战中再不断地学习总结. 它是什么: Fuzzy finder 是一款使 ...
- 一个 Vim 重度用户总结的 vim 超全指南
我本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让我对文本的操作更加精准.高效. 对于未使用过 Vim 的朋友来说,可能还无法体会到这种感觉.由于使用 ...
- iOS版本控制git小结--yoowei
# 显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder # 不显示隐藏文件 d ...
- SVN(一次检出&二次检出)
一次检出: >进入经历文件夹 >输入svn checkout指令 >输入电脑密码 >输入用户名 >输入密码 >检出成功 第二次检出: >进入小涛文件夹 > ...
- git使用方法1
1.新建一个“本地仓库” $ git init 2.配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user. ...
- IOS Git源代码管理工具
.新建一个“本地仓库” $ git init .配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user.em ...
- Linux 桌面玩家指南:02. 以最简洁的方式打造实用的 Vim 环境
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- Vim 学习指南
作者:耀耀 出处:http://www.linuxeden.com/html/news/20130820/142667.html Vim 学习指南 来源:开源中国社区 作者:耀耀 关注我们: 你想 ...
- Vim学习指南
你想尽可能快地自学vim(为大家所熟知的最好的编辑器) .这是我学习的方法:从细处入手然后慢慢掌握所有技巧. Vim 六十亿美元的编辑器 设计优良,强壮,快速. 学习vim并把它作为你的下一个文本编辑 ...
随机推荐
- 在树莓派上实现numpy的conv2d卷积神经网络做图像分类,加载pytorch的模型参数,推理mnist手写数字识别,并使用多进程加速
这几天又在玩树莓派,先是搞了个物联网,又在尝试在树莓派上搞一些简单的神经网络,这次搞得是卷积识别mnist手写数字识别 训练代码在电脑上,cpu就能训练,很快的: import torch impor ...
- 3、数据库:Oracle部署 - 系统部署系列文章
Oracle数据库的安装,以前写过一篇,这次将新版的安装再记录一次,让读者能够有所了解,笔者也能够记录下最新版的安装过程. 一.数据库下载: Oracle最新版目前在官网是19c,从下面这个链接进去下 ...
- CF1477E&大户爱的送分题题解
CF1477E&大户爱的送分题题解 (CF1477E为我出的校内模拟赛的一道题--<大户爱的送分题>的待修版本) 大户爱的送分题 文件名OhtoAiFirst.cpp/.in/.o ...
- x86 机器指令编码规则
x86 机器指令编码依次由一下部分组成: 指令前缀(prefix,非必需) 操作码(opcode,必需) 寻址方式 R/M(ModR/M,非必需) 比例因子-变址-基址(SIB,非必需) 地址偏移量( ...
- App性能测试之iTest
本文主要介绍下App性能测试工具iTest_V4.7的使用. 功能简介 1.监控Andorid系统(支持手机,平板,电视,车机等智能终端设备)以及应用app的cpu.内存.流量.电池.帧率.页面耗时等 ...
- 【LeetCode专题#基本计算器】基本计算器I,图解中序表达式转逆波兰表达式,太难了
基本计算器 https://leetcode.cn/problems/basic-calculator/?envType=list&envId=cKNEfNsF 给你一个字符串表达式 s ,请 ...
- CKS 考试题整理 (14)-启用API Server认证
Context 由 kubeadm 创建的cluster 的kubernetes API 服务器,出于测试目的, 临时配置允许未经身份验证和未经授权的访问,授予匿名用户 cluster-admin 的 ...
- MySQL锁表解锁表
CREATE TABLE t1 ( id int(11) NOT NULL, val varchar(10) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoD ...
- linux 服务器上如何判断网络是否开通
项目上由于升级了kafka需要测试下网络是否是通的,因此需要使用命令 nc -zv ip地址 端口这个命令来跑一下网络是否是通的,最后发现是新的kafka的config使用了新的端口,没有开通网络 ...
- 记一次etcd全局锁使用不当导致的事故
1.背景介绍 前两天,现场的同事使用开发的程序测试时,发现日志中报etcdserver: mvcc: database space exceeded,导致 etcd 无法连接.很奇怪,我们开发的程序只 ...