2025年关于vim常用操作

关于vim常用操作this is a markdown File to learn basical knowledge of vim 如果改变了文本需要对文本进行保存 w 就行 不然就无法退出文件进行其他操作 对 vim 进行分屏操作 在打开文件的时候 vim on 默认上下分屏 file1name file2name vim On

大家好,我是讯享网,很高兴认识大家。

this is a markdown File to learn basical knowledge of vim

如果改变了文本需要对文本进行保存:w就行,不然就无法退出文件进行其他操作

对vim 进行分屏操作,在打开文件的时候 vim -on (默认上下分屏) file1name file2name

 vim -On (左右分屏) filename1 file2name 

讯享网
在打开文件之后进行分屏操作
讯享网 按下Ctrl+w 然后松开再按下s 就可以把当前焦点所在的屏幕上下(默认)切开 新开的屏幕上面是显示的还是当前的文件信息 按下Ctrl+w 然后松开再按下v 就可以把当前焦点所在的屏幕左右(不默认)切开 新开的屏幕上面显示的是当前的文件信息 
在打开文件之后通过命令进行分屏操作
 在normal模式下:sp filename 会上下分割当前焦点所在的屏幕,并在焦点所在的屏幕打开新打开的文件 在normal模式下:vsp filename 会左右分割当前焦点所在的屏幕,并在焦点所在的屏幕打开新的文件 
在打开的分屏之间进行切换
讯享网 在normal 模式下 按住 Ctrl+w 然后按下h,j,k,l 当前的光标会向左,向下,向上,向右移动,实现多屏操作 
如何对分屏进行移动
 在normal 模式下 按住 Ctrl+w 然后 按下 H,J,K,L 将当前屏幕向左,向下,向上,向右移动,实现对分屏的排序 
如何关闭多个分屏呢
讯享网 在normal 模式下 按住 Ctrl +w 然后 按下 c(cancel)退出当前的分屏 在normal 模式下 按住 Ctrl +w 然后 按下 q (quit) 也会退出当前分屏,如果这是最后一个分屏的话那么还会退出vim 

如何退出vim呢(vim 很好用 但是退出太麻烦了,每次退出都要长按关机键)

 - :w 保存文件但是不退出文件 - :w! 强制保存但是不退出文件 - :w filepath 保存当前文件修改到指定的文件当中 - :q 退出文件,对文件的修改不做保存 - :q! 强制退出文件,对文件的修改不做保存 - :qa! 强制退出所有的文件,对所有的文件修改都不做保存 - :wq 保存文件并退出 - :wq! 强制保存文件并退出 - :x 退出文件并保存对文件的修改同(:wq) - :e filepath 打开另一个文件 - :e 放弃对文件的所有修改 恢复文件到上次保存的位置 

关于从normal modal 进入 insert 模式

讯享网 - i 在光标前插入 I 在光标所在行的行首插入 - a 在光标后插入 A 在光标所在行的行尾插入 - o 在光标所在的下一行行首插入文本(相当于在下一行新开的一行) - O 在光标所在的上一行行首插入文本 (相当于在上一行新开了一行) - s 删除光标所在的字符然后插入需要录入的文本 S 删除光标所在的行并在当前行的行首插入需要录入的文本 - cw 删除从光标处开始到该单词结束的所有字符,然后插入需要的文本 - this is magic thing 

关于行号

 - 在normal 模式下 :set nu 显示文件的行号 - 在normal 模式下 :set nonu 取消显示行号 

关于定位以及快速的移动光标

讯享网 当前行移动光标 - 0 移动到行头 - ^ 移动到行首第一个不是空字符串的的字符 - $ 移动到行尾 - g_移动到行尾 并且不是空字符串的字符 - w 移动到下一个单词的开头 - e 移动到下一个单词的结尾 - fa 移动到下一个为a 的字符处,fb 移动到下一个为b 的字符处(在同一行) - nfa 移动到本行光标处开始的第n个字符为a的地方 (n为1,2,3) - Fa 同fa (但是方向相反) 移动到上一个字符为a的字符处(在同一行) - nFa 同nfa (但是方向相反)移动到上n个字符为a 的字符处(在同一行) - ta 移动光标到a字符的前一个字符(在同一行) - nta 移动光标到第二个啊字符的前一个字符(在同一行) - Ta 移动光标到第一个a字符的后一个字符(在同一行)这个第一个是从右往左数的第一个 - nTa 移动光标到第n个a字符的后一个字符 (在同一行)这个第一个是从右往左数的第n个 - 当使用T,t,F,f在行内跳转的时候 使用, 跳转到上一使用快捷跳转的位置,使用;快捷条状到下一次使用快捷跳转的位置 跨行移动光标 - nG 光标定位到第n行的行首 - gg 光标定位到第一行的行收 - G 光标定位到最后一行的行首 - M 光标定位到当前屏幕的中间 - L 光标定位到当前屏幕的尾部 - zt 把当前行移动到当前屏幕的最上方 ,也就是第一行:(实际的情况更像是将当前的编辑页面向上滑动了一段距离一样) - zz 把当前行移动到当前屏幕的中间 - zb 把当前行移动到当前屏幕的尾部 - %(5) 匹配括号移动 包括{[( 需要把光标移动到括号上a]}) - * 和# 匹配当前光标所在的单词,移动光标到下一个相同的单词(*)或者是上一个相同的单词(#) 

如何进行翻页操作

 - 在normal模式 按下Ctrl+f 查看下一页内容 - 在normal模式下 按下Ctrl+ b查看上一页内容 

最重要的复制,粘贴,删除功能

讯享网 最重要的三个键 y p d 分别对应 复制 粘贴 删除 d(delete) 通常搭配一个字符(删除范围) - dw 删除一个单词 - dnw 删除n个单词 - dfa 删除光标处到下一个a字符的所有字符(fa 定位到光标到a处) - dnfa 删除光标处到下n个a字符的所有字符 (nfa 定位到下n个a处) - dd 删除一整行 - d$ 删除光标处到本行的结尾 - dH 删除屏幕显示的第一行文本到光标所在的行 - dG 删除光标所在行到文本的结束 y(copy)是复制的意思 通常搭配一个字符(复制范围) 实现复制的功能 常用的如下 - yw 复制一个单词 - ynw 复制n个单词 - yy 复制整行 - nyy 复制n行 - y$ 复制光标处到本行的结尾 - yH 复制屏幕显示的第一行文本到光标所在的行 - yG 复制光标所在的行到文本的结束 p (paste) 粘贴的意思当执行完复制或者删除操作的时候 ,vim 会把文本寄存起来 方便粘贴 - p 在光标之后粘贴 - P 在光标之前粘贴 

撤销操作和恢复

 - u 撤销刚才的操作 - Ctrl+r 恢复撤销的操作 

删除字符操作和替换

讯享网 - x 删除光标当前所在的字符 - r 替换掉光标当前所在的字符 - R 替换掉从光标开始后的所有字符 除非 <ESC> 退出 或者jj (代替<ESC>)退出 

大小写转换

 - ~ 价格光标下的字母改变大小写 - 3~ 将光标位置开始的三个字母改变其大小写 - g~~ 改变当前行字母的大小写 - gUU 将当前行的字母改成大写 - guu 将当前行的字母改成小写 

vim的重复命令

讯享网 - n<Command> 重复n遍command命令 

vim 的可视化模式(Visual-mode)

 - normal 模式下 按住v 或者 V 或者 Ctrl+v - v (字符可视化) VISUAL 操作hjkl 就可以选中文本进行操作 - V (行可视化) VISUAL LINE 操作 jk 上下移动 - Ctrl+v(块可视化) VISUALBLOCK 可以通过hjkl 选择块状的操作区域 ,再次按住Ctrl+v 退出可视化模式 

vim 的可视化模式的特殊操作

讯享网 - 当操作的操作在 "" ,'',(),{} (双引号,单引号,小括号,大括号,中括号)里面的时候 通过va" 选中""以及在"" 之间的内同,vi",选中"" 里面的所有内容 在normal 模式下按va就行了 不用进入了可视化模式再按va - [ this is some test text] 

vim 的代码提示功能

 - 在insert 模式下的时候按下 Ctrl+n 或者是Ctrl+p 会有代码提示的功能,我们可以实现快速录入的效果 

我在全局的.vimrc 里面设置了 inoremap jj 用敲击两下j的操作来实现按下键的操作 这样效率又提升了很多

vim 的宏录制功能

讯享网 - 录制: 在normal中按下q 然后开始宏录制功能 再按下任意一个字符记录这个宏录制的名字,然后执行所需要用到的操作,操作完之后 再次按q 结束宏录制 - 使用: 在normal模式下按住@+宏录制的名字 (@a)应用宏录制下来的操作 

vim 进行查找

 - 在normal模式下 输入/{目标字符串}查询 查询到了以后按下n 跳到下一个,按下N 跳到上一个匹配的字符 

vim 处理大小写的区分

讯享网 - :set ic 编辑器将不会区分大小写 (因为unix 默认是对大小写敏感的所以这里设置不区分大小写的话,那么需要单独设置) - :set noic 编辑器将区分大小写 

vim 删除多行文本

 - :n1,n2d - n1,n2 指的是起始行号和结束行号,d是删除关键字(但是更推荐使用VISUAL模式删除文本,因为这样可以更好的明白自己到底删除了哪些内容) 

vim 处理文本的替换

讯享网 - 基本的格式 :{作用范围}s${替换前的字符串}/{替换后的字符串}/{替换的标志} (如果不指定替换的标志的话那么只会替换查找到的第一个单词) 例子:把当前行的 aa 全部替换成 handsome :s/aa/handsome/g 把全文中的aa 全部替换成 handsome :%s/aa/handsome/g 把第5行到第10行的 aa 全部替换成handsome :5.10s/aa/handsome/g 区分大小写的替换(默认),不区分大小写的替换::s/aa/handsome/gi 需要确认的替换 


​ - 在VISUAL Mode 下 输入: vim 会自动补全为 :’<,>’
​ - 然后输入替换的命令就行了 s/aa/handsome/g 就会把当前选区里面aa全部替换成handsome


讯享网

vim 执行linux命令

 - :!command 执行linux 命令 - :r !command 执行linux命令 并且添加操作文本到光标处(我迫不及待的想去尝试一下yes命令) 

在vim里面定义缩写

讯享网 - :ab {缩写的单词} {需要被缩写的单词通常是很长的单词} - :abbreviate 查看并列出 所有定义的缩写 - :unabbreviate 清除某一个缩写的映射 - :abclear 清除所有定义的缩写 

在vim 里面定义快捷键

 :map ^M I#<Esc> 上面的例子也就是通过快捷键 Ctrl + m 在文件光标处所在行的行首插入 # ( # 代表注释)。 : 后面的 map 是关键字 ,后面是 key 和 value 。 key 对应的是 ^M , 这个 key 需要强调一下 ^M 是 Ctrl + v + m 打出来的(按下这三个键,VIM 会显示成 ^M ),^M 代表快捷键是Ctrl + m , Ctrl + v + n 就是 ^N ,代表快捷键是 Ctrl + n 。 Ctrl + v + x 就是 ^X (这里的 x 是代表 26 个字母中的任意一个) 代表快捷键 Ctrl + x。 value 对应的是 I#<ESC>,表示按下快捷键以后执行的相应操作,I 是切换光标至行首并切换到编辑模式,#是行首输入的内容( # 是VIM 文件中的注释符号 ),<ESC> 是退出编辑模式。 

删除换行符

讯享网在normal 模式下的 按下J 然后就会删除当前行到下一行的换行符 在normal模式下 在命令行里面用替换命令替换换行符为空 例如 :s/\n//g 删除当前行的换行符 在normal模式下 使用命令行删除文章中所有的换行符 例如 :%s/\n//g 删除整个文件里面的换行符 在VISIAL模式下 在命令行里面使用替换命令替换换行符为空 例如 :'<,‘>s/\n//g 删除VISUAL 选中的 换行符 

小讯
上一篇 2025-03-17 09:25
下一篇 2025-04-11 08:59

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/16024.html