vim 快捷键总结

vim 常用快捷键汇总 学习过程中还是觉得 vim 好用,所以让查老师总结了一份常用操作,加油 😃。 阅读详情

vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。


vi有3个模式:插入模式、命令模式、低行模式

1)插入模式:在此模式下可以输入字符,按ESC将回到命令模式。

2)命令模式:可以移动光标、删除字符等。

3)低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。


进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi -o/O filename1 filename2 ... :打开多个文件,依次进行编辑


vi 关闭文件

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


移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾

n+        //向下跳n行
n-         //向上跳n行
nG        //跳到行号为n的行
G           //跳至文件的底部


屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。


插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行


复制、粘贴

yy    //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
nyy   //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw    //复制从光标开始到词尾的字符。
nyw   //复制从光标开始的n个单词。
y^      //复制从光标到行首的内容。  
y$      //复制从光标到行尾的内容。
p        //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。
P        //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。


文本替换

:s/old/new      //用new替换行中首次出现的old
:s/old/new/g         //用new替换行中所有的old
:n,m s/old/new/g     //用new替换从n到m行里所有的old
:%s/old/new/g      //用new替换当前文件里所有的old

简单替换表达式
        :%s/four/4/g
“%” 范围前缀表示在所有行中执行替换,最后的 “g” 标记表示替换行中的所有匹配点,如果仅仅对当前行进行操作,那么只要去掉%即可


如果你有一个像 “thirtyfour” 这样的单词,上面的命令会出错。这种情况下,这个单词会被替换成”thirty4″。要解决这个问题,用 “<”来指定匹配单词开头:

         :%s/<four/4/g
显然,这样在处理 “fourty” 的时候还是会出错。用 “>” 来解决这个问题:
        :%s/<four>/4/g
如果你在编码,你可能只想替换注释中的 “four”,而保留代码中的。由于这很难指定,可以在替换命令中加一个 “c” 标记,这样,Vim 会在每次替换前提示你:
        :%s/<four>/4/gc

单词精确匹配替换

sed -e "s/\<old\>/new/g"  file


删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本

x         //删除当前字符
nx         //删除从光标开始的n个字符
dd       //删除当前行
ndd     //向下删除当前行在内的n行
u        //撤销上一步操作
U       //撤销对当前行的所有操作


搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换


选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“/”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息


最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行


寄存器操作
“?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
“?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
“?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
“?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。





转自:http://blog.youkuaiyun.com/sunboy_2050/article/details/6002837



codemirror6 制作markdown编辑器(源码模式) 总体上感觉能用,但是不怎么友好,官方文档有点散乱,而且关键字高亮功能是独立出去的,去官方文档找半天,也没找到怎么改。EditorView.theme可以往EditorView模块中修改CSS的样式,从而影响编辑器的样式展示。"### 测试\n\n```javascript\nlet x = 'y'\n```"这个插件中的markdown语法的高亮样式。//这里指定markdown中代码块使用的解析扩展。开头的class样式,并且还需要在选择器前面添加。//markdown语言解析扩展。 阅读详情

相关推荐

JavaScript性能优化:全链路性能优化策略

JavaScript性能优化是提升Web应用质量的核心要素,直接影响用户体验与业务成果。研究表明,页面加载延迟1秒可能导致转化率下降7%。高效的JavaScript执行能减少主线程阻塞,避免动画卡顿或操作延迟,尤其在移动端低性能设备上更为关键。优化内存管理与减少冗余计算可降低浏览器资源消耗,防止因内存泄漏导致的崩溃,提升应用稳定性。在竞争激烈的互联网环境中,性能优势已成为产品差异化的关键因素,直接影响用户留存与商业价值。因此,性能优化应作为开发全周期的核心实践,而非事后补救措施。

weixin_49707375的博客 1270

vim快捷键大全

vim 快捷键 之 NERD_tree、cscope、排版对齐、分屏、折叠、编辑、保存等等

小匠码农 8926

FPGA 核脉冲梯形成型 Verilog 实现:从 MATLAB 到 50MHz 采样率部署

本文详细解析了FPGA实现核脉冲梯形成型的完整流程,从MATLAB仿真到50MHz采样率的Verilog硬件部署。重点探讨了梯形成型算法对负指数信号的优化处理,包括定点数量化、流水线架构设计及资源优化技巧,为核辐射探测与高能物理实验提供高效解决方案。

weixin_30920513的博客 389

vim 快捷键_Vim快捷键映射mapping

使用一段时间vim后,多多少少会开始接触vim的快捷键映射(mapping),快捷键映射(mapping)能够帮助我们大幅度提高使用vim编辑文档的效率。希望通过这篇文章,大家可以比较清晰的理解vim快捷键映射(mapping)的基本工作机制,并能够定制自己的快捷键。先看一个简单的例子。我们可以将下面的脚本输入到vim命令行(command line)中,或写入~/.vimrc中(永久保存映射关系...

weixin_39572409的博客 1023

ubuntu安装glibc

VSCode 在ubuntu下调试无法打开libc-start.c raise.c等1. 安装glibc2. launch.json中添加路径映射3. 调试 1. 安装glibc apt install glibc-source cd /usr/src/glibc/ sudo tar -xvf glibc-[VERSION].tar.xz 2. launch.json中添加路径映射 "sourceFileMap": { "/build/glibc-S7xCS9": "/usr/src/glib

wq_0708的博客 3万+

多智能体强化学习中的Trust Region技术:HATRPO与HAPPO深度解析

本文深度解析多智能体强化学习中的Trust Region技术,重点探讨HATRPO(异质智能体信任区域策略优化)与HAPPO(异质智能体近端策略优化)两种先进算法。通过数学架构与工程实现细节,揭示其在解决联合策略空间爆炸、信用分配等挑战中的优势,并分享实际部署中的优化技巧与前沿进展。

weixin_29072299的博客 189

vim常用快捷键问答之二

vim查找/替换快捷键和操作模式切换快捷键

捕鲸叉的专栏 1973

保姆级教程:在RK3588平台上为IMX415 Sensor配置HDR2曝光(附完整代码与避坑点)

本文提供RK3588平台上为IMX415 Sensor配置HDR2曝光的详细教程,涵盖基础概念、限制条件、实战配置步骤及常见问题解决方案。通过完整代码示例和关键参数解析,帮助开发者高效实现HDR2曝光模式,提升图像质量并避开常见陷阱。

weixin_28685287的博客 283

Vim中NERDTREE的快捷键

nerdtree vim快速打开 F3 在vim中使用经常使用的快捷键 ?: 快速帮助文档 o: 打开一个目录或者打开文件,创建的是buffer,也可以用来打开书签 go: 打开一个文件,但是光标仍然留在NERDTree,创建的是buffer t: 打开一个文件,创建的是Tab,对书签同样生效 T: 打开一个文件,但是光标仍然留在NERDTree,创建的是Tab,对书签同样生效 i: 水平分割创建文件的窗口,创建的是buffer gi: 水平分割创建文件的窗口,但是光标仍然留在NERDTree s:

tanghuan0827的博客 2393

15. GD32E230定时器实战:基于TIMER5的1秒LED闪烁中断配置详解

本文详细讲解了如何在GD32E230微控制器上配置TIMER5定时器,实现精准的1秒LED闪烁中断。内容涵盖从时钟开启、参数计算、中断设置到服务函数编写的完整流程,重点解析了预分频值与周期值的配置方法,帮助开发者掌握硬件定时器的核心应用。

weixin_29092787的博客 135

Dev C++调试程序方法详解

Dev C++调试程序方法详解

weixin_70641798的博客 1万+

vim 快捷键管理

首发于我的个人博客(https://www.niuiic.top/) 本文主要介绍如何使用vim-which-key管理 vim 快捷键 快捷键管理 什么是快捷键管理? 这里的所谓快捷键管理,不是指修改快捷键,而是快捷键提示。 为什么需要快捷键管理? 当你比较熟悉 vim 之后,就会使用各种快捷键。随着 vim 的不断扩展,需要为各种插件设置快捷键。从简单的ctrl、alt、shift组合到<space>、<leader>的使用,你终将配置连自己都数不清的快捷键。幸运的是,

niuiic的博客 856

vue:npm安装pnpm报错,npm ERR! code ENOTFOUND,npm ERR! syscall getaddrinfo,npm ERR! errno ENOTFOUND详细排查解决!

vue2 vue3,npm install -g pnpm 安装出现错误,安装pnpm及解决安装失败问题,解决 npm无法安装pnpm问题,npm 安装 pnpm 时 报错 npm ERR! code ENOTFOUND,pnpm无法安装报错,vue npm install -g pnpm安装报错,request to http://registry.cnpmjs.org/pnpm failed, reason: getaddrinfo ENOTFOUND registry.cnpmjs.org,安装pnp

✅ 精选推荐文章 3608

VIM 快捷键大全

文章目录[1. 关于Vim](http://www.cnblogs.com/jiqingwu/archive/2012/06/14/vim_notes.html#id59)[1.1 Vim的几种模式](http://www.cnblogs.com/jiqingwu/archive/2012/06/14/vim_notes.html#id60)[2. 启动Vim](http://www.cnblog...

gwh1010的博客 4069

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

linux快捷键及vim的使用

linux快捷键 1、tab 命令或路径等的补全键,linux用的最多的一个快捷键 2、ctrl+a 光标迅速回到行首 3、ctrl+e 光标迅速回到行尾 4、ctrl+f 光标向右移动一个字符 5、ctrl+b 光标向左移动一个字符 6、ctrl+insert 复制命令行内容(mac系统不能使用) 7、shift+insert 粘贴命令行内容(mac系统不能使用) 8、ctrl+k 剪切(删除)光标处到行尾的所有字符 9、ctrl+u 剪切(删除)光标

被生活耽误的旅行者 2679

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linux最全的vim快捷键

Linux最全的vim快捷键 1. 关于Vim vim是我最喜欢的编辑器,也是Linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用中文的vimtutor,就运行vimtutor zh) 1.1 Vim的几种模式 正常模式:可以使用...

caizongxu的博客 2493

vim编辑器重要快捷键及vim设置

1.全选:ggVG 2.跳转到文本最后一行:shift+g 3.跳转到文本第一行:gg 4.跳转到光标所选行的行首位置:0 5.跳转到光标所选行的行尾位置:shift+4 6.全部替换(替换无需确认)::%s/src/dst/g 7.全部替换(每次替换需要确认)::%s/src/dst/gc 8.查找:/string 9.高亮显示查找到的内容::set hlsearch 10.显示vim行号::set nu! 11.到注释的开始:[/ 12.到注释的结束:]/ 13.撤销上一次操作:

m0_49328056的博客 5875

vim-快捷键一览表

vim-快捷键一览表 【基本操作】 快捷键 功能 Esc 从当前模式转换到“普通模式”。所有的键对应到命令。 i “插入模式”用于插入文字。回归按键的本职工作。 : “命令行模式” Vim 希望你输入类似于保存该文档命令的地方 【方向键】 快捷键 功能 h 光标向左移动一个字符 j 或 Ctrl + J 光标向下移动一行 k 或 Ctrl + P 光标向上移动一行 l 光标向右移动一个...

whoisyourdaddy6的博客 2071

vim快捷键

vim快捷键汇总光标移动翻页command中的快速替换分割文件查看在全文中进行字符串的替换其他 光标移动 #移动光标快捷键 w 快速跳到下一个空格 b 快速跳到上一个空格 shift+6 即 ^ 快速到行首 shift+4 即 $ 快速到行尾 翻页 Ctrl+f 向下翻整页 Ctrl+b 向上翻整页 Ctrl+d 向下翻半页 Ctrl+u 向上翻半页 c...

狐狸小七的博客 360

vim 快捷键

vim 快捷键

云满笔记 2762

Vim 快捷键及配置

1.Vim 配置文件: ~/.vimrc,修改配置都是在这里边: set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternativel

人面不知何处去 501

VIM常用快捷键

规则 ++ 操作列表 快捷键 操作 c change d delete y yark into register ~ or g~ swap case gu make lowercase gU make uppercase ! filter through an external program = C-indenting if empty g...

liehen2046的专栏 272

Vim 常用快捷键及插件

Vim 常用快捷键及插件

weixin_46531416的博客 1408

Linux vim快捷键(详细版)

Vim 的快捷键系统非常强大,但需要时间去记忆和习惯。建议每天花时间练习,逐步掌握常用快捷键,并根据个人需求调整配置。在插入模式下,你可以输入文本,同时可以通过快捷键快速切换到正常模式。,每个模式有不同的快捷键。掌握这些快捷键可以大幅提升你的工作效率。常用快捷键的总结,适用于大多数场景。Vim 的交互模式分为。在可视模式下,你可以选择字符、行或块,并对选中内容进行操作。在正常模式下,你可以执行各种编辑和导航操作。在命令模式下,你可以执行各种高级命令。)进行自定义,以满足个人习惯。:help <命令>

m0_73690328的博客 1764

linux vim底部快捷键,Linux下Vim下快捷键大全

Linux下Vim下快捷键大全vim使用,vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。命令模式下::q           退出:q!         强制退出:wq         保存...

weixin_42512723的博客 2089

vim快捷键总结

Vim的学习曲线较陡,建议每天练习几个快捷键,逐步形成肌肉记忆。增加set number 显示行号。- 插入模式(下一个字符)- 查找当前单词下一次出现。- 查找当前单词上一次出现。- 插入模式(当前位置)- 插入模式(下方新行)- 插入模式(上方新行)- 使用指定寄存器(如。- 选择寄存器(X11)(可视模式下选择多行缩进)从基础移动(hjkl)开始。命令可以获得交互式教程!- 跳转到指定行(如。- 跳转到指定行(如。- 全局替换(需确认)- 插入模式(行首)- 插入模式(行尾)

ZachLi的博客 699

Vim 快捷键一 基本命令

Vim操作基本靠键盘,为此快捷键非常重要。需要的操作很多,同时快捷键的种类也比较多。其实作为中国人有可能很难找到其中规律,但是仔细琢磨还是找到一定的规律。为了便于记忆,先进行总结。第一部分 基础:normal模式 基本命令第二部分 基础:normal模式 结构化短语组合第三部分 多视口操作。

m0_73456034的博客 1071
上一篇: ubuntu下解决因为/boot磁盘空间不足导致无法更新
下一篇: 结构体struct简介(上)
Kindle_code
博客等级 码龄12年 21粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值