首页 > 其他分享 >VIM常用快捷键

VIM常用快捷键

时间:2023-08-02 18:33:07浏览次数:31  
标签:文件 常用 窗口 file 删除 ctrl VIM 当前 快捷键

一、移动光标

h,j,k,l 上,下,左,右
ctrl-e 移动页面
ctrl-f 上翻一页
ctrl-b 下翻一页
ctrl-u 上翻半页
ctrl-d 下翻半页
w 跳到下一个字首,按标点或单词分割
W 跳到下一个字首,长跳,如end-of-line被认为是一个字
e 跳到下一个字尾
E 跳到下一个字尾,长跳
b 跳到上一个字
B 跳到上一个字,长跳
0 跳至行首,不管有无缩进,就是跳到第0个字符
^ 跳至行首的第一个字符
$ 跳至行尾
gg 跳至文首
G 调至文尾
5gg/5G 调至第5行
gd 跳至当前光标所在的变量的声明处
fx 在当前行中找x字符,找到了就跳转至
; 重复上一个f命令,而不用重复的输入fx
* 查找光标所在处的单词,向下查找
# 查找光标所在处的单词,向上查找

二、删除复制

dd 删除光标所在行
dw 删除一个字(word)
d删除到行末删除当前字符删除前一个字符复制一行复制一个字删除到行末删除当前字符删除前一个字符复制一行复制一个字/�删除到行末�删除当前字符�删除前一个字符��复制一行��复制一个字�/Y 复制到行末
p 粘贴粘贴板的内容到当前行的下面
P 粘贴粘贴板的内容到当前行的上面

三、插入模式

i 从当前光标处进入插入模式
I 进入插入模式,并置光标于行首
a 追加模式,置光标于当前光标之后
A 追加模式,置光标于行末
o 在当前行之下新加一行,并进入插入模式
O 在当前行之上新加一行,并进入插入模式
Esc 退出插入模式

四、编辑

J 将下一行和当前行连接为一行
cc 删除当前行并进入编辑模式
cw 删除当前字,并进入编辑模式
c$ 擦除从当前位置至行末的内容,并进入编辑模式
s 删除当前字符并进入编辑模式
S 删除光标所在行并进入编辑模式
xp 交换当前字符和下一个字符
u 撤销
ctrl+r 重做
~ 切换大小写,当前字符
>> 将当前行右移一个单位
<< 将当前行左移一个单位(一个tab符)
== 自动缩进当前行

五、查找替换

/pattern 向后搜索字符串pattern
?pattern 向前搜索字符串pattern
"\c" 忽略大小写
"\C" 大小写敏感

n 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N 上一个匹配(同上)
:%s/old/new/g 搜索整个文件,将所有的old替换为new
:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换

六、退出编辑器

:w 将缓冲区写入文件,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果对缓冲区进行过修改,则会提示
:q! 强制退出,放弃修改

七、多文件编辑

vim file1.. 同时打开多个文件
:args 显示当前编辑文件
:next 切换到下个文件
:prev 切换到前个文件
:next! 不保存当前编辑文件并切换到下个文件
:prev! 不保存当前编辑文件并切换到上个文件
:wnext 保存当前编辑文件并切换到下个文件
:wprev 保存当前编辑文件并切换到上个文件
:first 定位首文件
:last 定位尾文件
ctrl+^ 快速在最近打开的两个文件间切换
:split[sp] 把当前文件水平分割
:split file 把当前窗口水平分割, file
:vsplit[vsp] file 把当前窗口垂直分割, file
:new file 同split file
:close 关闭当前窗口
:only 只显示当前窗口, 关闭所有其他的窗口
:all 打开所有的窗口
:vertical all 打开所有的窗口, 垂直打开
:qall 对所有窗口执行:q操作
:qall! 对所有窗口执行:q!操作
:wall 对所有窗口执行:w操作
:wqall 对所有窗口执行:wq操作
ctrl-w h 跳转到左边的窗口
ctrl-w j 跳转到下面的窗口
ctrl-w k 跳转到上面的窗口
ctrl-w l 跳转到右边的窗口
ctrl-w t 跳转到最顶上的窗口
ctrl-w b 跳转到最底下的窗口

八、多标签编辑

:tabedit file 在新标签中打开文件file
:tab split file 在新标签中打开文件file
:tabp 切换到前一个标签
:tabn 切换到后一个标签
:tabc 关闭当前标签
:tabo 关闭其他标签
gt 到下一个tab
gT 到上一个tab
0gt 跳到第一个tab
5gt 跳到第五个tab

九、执行shell命令

1、在命令模式下输入":sh",可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl+D返回VIM编辑器
2、可以"!command",运行结束后自动回到VIM编辑器中
3、用“Ctrl+Z“回到shell,用fg返回编辑
4、:!make -> 直接在当前目录下运行make指令

十、VIM启动项

-o[n] 以水平分屏的方式打开多个文件
-O[n] 以垂直分屏的方式打开多个文件

十一、自动排版

在粘贴了一些代码之后,vim变得比较乱,只要执行gg=G就能搞定

十二、如何在vim中编译程序

在vim中可以完成make,而且可以将编译的结果也显示在vim里,先执行 :copen 命令,将结果输出的窗口打开,然后执行 :make
编译后的结果就显示在了copen打开的小窗口里了,而且用鼠标双击错误信息,就会跳转到发生错误的行。

十三、buffer操作

1、buffer状态
- (非活动的缓冲区)
a (当前被激活缓冲区)
h (隐藏的缓冲区)
% (当前的缓冲区)
# (交换缓冲区)
= (只读缓冲区)
+ (已经更改的缓冲区)

十四、 VIM 操作目录

1.打开目录
vim .
vim a-path/

2.以下操作在操作目录时生效
p,P,t,u,U,x,v,o,r,s

c 使当前打开的目录成为当前目录
d 创建目录
% 创建文件
D 删除文件/目录
- 转到上层目录
gb 转到上一个 bookmarked directory
i 改变目录文件列表方式
^l 刷新当前打开的目录

mf - 标记文件
mu - unmark all marked files
mz - Compress/decompress marked files
gh 显示/不显示隐藏文件( dot-files)
^h 编辑隐藏文件列表
a 转换显示模式, all - hide - unhide
qf diplay infomation about file
qb list the bookmarked directories and directory traversal history
gi Display information on file

mb
mc
md - 将标记的文件(mf标记文件)使用 diff 模式
me - 编辑标记的文件,只显示一个,其余放入 buffer 中
mh
mm - move marked files to marked-file target directory
mc - copy
mp
mr
mt

vim 中复制,移动文件
1, mt - 移动到的目录
2, mf - 标记要移动的文件
3, mc - 移动/复制

R 移动文件

打开当前编辑文件的目录
:Explore
:Hexplore
:Nexplore
:Pexplore
:Sexplore
:Texplore
:Vexplore

 

转载:VIM常用快捷键 - markleaf - 博客园 (cnblogs.com)

标签:文件,常用,窗口,file,删除,ctrl,VIM,当前,快捷键
From: https://www.cnblogs.com/yitongtianxia666/p/17601472.html

相关文章

  • Redis 常用命令
    连接redis-cli-h{server_ip}-p{port}-a{password}常用错误使用Jedis连接redis出现CannotgetJedisconnection;Couldnotgetaresourcefromthepool错误具体报错信息如下:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'ena......
  • 微信小程序6 常用标签之 input,基础样式
    inputinput标签不做任何设置的时候,就是个输入框,需要注意的是默认没有样式,这跟html不同。<input></input> 我输入了内容,但是可以看到没有边框样式。 type属性1.text,就是默认的type属性值,输入框;2.password,密码框;3.number,只能输入数字,但是要在移动端才能看......
  • 不懂路由协议分类?这五个常用路由协议一定要掌握!
    摘要: 路由协议在计算机网络中起着非常重要的作用,用于选择数据包传输路径,能够帮助网络管理员有效地管理网络流量。路由协议有很多种,例如RIP、EIGRP、IS-IS等,那么路由协议如何分类?分享给大家一些常用的路由协议。路由协议在计算机网络中起着非常重要的作用,用于选择数据包传输路径,能......
  • 12个常见idea快捷键 记录
    sout:快速生成System.out.println();psvm:快速生成main方法;Ctrl+Alt+V:补全等号左边的变量类型和变量名;Ctrl+Shift+Enter/Alt+Enter :补全当前行的结束分号,或者在方法名、if后使用可补全小括号和花括号;Shift+Enter:在当前行的下一行创建新行,相当于光标跳转到......
  • 整流二极管常用型号大全,超齐全
    整流二极管是什么二极管?查看资料可知,整流二极管是一种将交流电能转变为直流电能的半导体器件,可见整流二极管的作用重在“整流”。整流二极管主要用于各种低频半波整流电路,如需达到全波整流需连成整流桥使用。近日,发现很多客户前来二极管厂家东沃电子(DOWOSEMI)咨询整流二极管型号、价......
  • 个人VSCode Vim基础配置文件
    基础配置项vscode-vim插件由于是一款模拟器,所以它的配置文件是放在settings.json文件中,而不是vimrc文件中,个人也并不推荐将配置放在vimrc文件中,因为这会导致多端同步变的复杂,尽管这款插件可以支持从vimrc文件中读取配置。下面是一些我会在使用vscode-vim插件时配置的vim选项,直接......
  • Revit如何设置快捷键
    1.文件下拉-选项2.选择用户界面3.设定快捷键......
  • 第3天 - docker 常用命令整理
    镜像常用操作1.查看安装的镜像dockerimages2.启动镜像dockerrun-d--namekingbasev8r6-p54321:54321-eSYSTEM_USER=kingbasees-eSYSTEM_PWD=kingbasees-v/home/kingbase-es-v8-r6-docker/license.dat:/opt/docker/kingbase-latest/opt/license.datchyiyaqing......
  • Oracle常用时间操作
    dd-mon-yy格式转换为yyyy-mm-ddselectto_char(to_date('01-5月-05','dd-mon-yy'),'yyyy-mm-dd')fromdual计算2009-05-01与2008-04-30的月份差select(extract(yearfromto_date('2009-05-01','yyyy-mm-dd'))-extract(yearfromt......
  • PHPImagick图像处理常用操作大全
    PHPImagick图像处理常用操作大全PHPImagick是流行的PHP图像处理扩展,它提供了丰富的图像处理方法,可以用于处理图片尺寸、质量、颜色、效果等等。在本文中,我们将探讨一些常用的PHPImagick图像处理操作,包括缩放、裁剪、调整颜色、添加水印、添加滤镜等等。PHPImagick图像处理常用操......