Vim常用操作,normal模式、insert模式和visual模式
文章目录
- normal 模式下
- visual模式下
- insert 模式
- command 模式
- vim多文件操作
- 其他
normal 模式下
a
append 在当前字符后插入i
insert 在当前字符前插入o
open a line belowA
append after a lineI
insert before lineO
append a line aboveu
undo 撤销上一步操作p
paste 粘贴ctrl+r
返回上一步操作h
(左)j
(下)k
(上)l
(右)移动w/W
移动到下一个word/WROD开头e/E
移动到下一个word/WORD结尾b/B
回到上一个word/WORD开头,即backward- word是非空白符分割单词,WORD空白符分割单词
- 行首快速搜索并移动到某一字符
f{char}
即可快速移动到这个字符开头 - 行尾快速搜索并移动到某一字符
F{char}
即可快速移动到这个字符开头 - 使用
0
快速移动到行首,^
快速移动到第一个空格位置,使用$
快速移动到行尾,使用g_
行尾非空白字符 /
进行后向查找?
进行反向查找n/N
查找下一个/上一个匹配- 查找中可以用*/#进行匹配
- 输入
v
进入visual模式 - 输入
V
会选中整行并进入可视模式 - 使用
ctrl+v
会进行块状选择 gi
直接跳转到最开始位置并进入编辑模式t
移动到前一个字符- 使用
;/,
进行快速的下一个/前一个搜索 - 使用
(
,)
句子间移动 ctrl+o
返回上一个位置,相当于Word中的ctrl+z不删除H/M/L
跳转到屏幕开头/中间/结尾ctrl+u
/ctrl+f
分别为上下翻页zz
把光标放回屏幕中间x
快速删除一个字符,
daw
(delete around word)快速删除一个单词及周围空格,默认可以用dw
替代,diw
快速删除一个单词不包含周围空格,dd
快速删除一行,dt(
(delete to ())快速删除括号内容,d$
删除到行尾,d0
删除到行首,2dd
快速删除两行r
(eplace)/c
(hange)/s
(substitute)r
替换一个字符,即向后删除一个字符并插入新字符,R
相当于在Word中按下insert键
s
删除向前删除字符并进入插入模式,4s
删除当前位置往后4个字符并进入插入模式,S
删除整行并进入插入模式,
C
删除整行并进入插入模式,ct"
(change to “”)修改""中内容y
(ank)+p
(aste)实现复制粘贴,d
(elete)+p
(aste)实现剪贴粘贴,一般先进入visual模式,选择后,再执行复制粘贴或者剪贴粘贴操作,yy
复制一行
visual模式下
h
(左)j
(下)k
(上)l
(右)移动y
yank 复制p
paste 粘贴w/W
移动到下一个word/WROD开头e/E
移动到下一个word/WORD结尾b/B
回到上一个word/WORD开头,即backward- word是非空白符分割单词,WORD空白符分割单词
- 使用
0
快速移动到行首,^
快速移动到第一个空格位置,使用$
快速移动到行尾,使用g_
行尾非空白字符 - 使用
ctrl+v
会进行块状选择 - 使用
(
,)
句子间移动 H/M/L
跳转到屏幕开头/中间/结尾ctrl+u
/ctrl+f
分别为上下翻页zz
把光标放回屏幕中间- 选择后,
x
快速删除选择内容 y
(ank)+p
(aste)实现复制粘贴,d
(elete)+p
(aste)实现剪贴粘贴,一般先进入visual模式,选择后,再执行复制粘贴或者剪贴粘贴操作,yy
复制一行
insert 模式
- normal模式输入
i
进入insert模式 ESC
进入normalctrl+h
删除上一个字符ctrl+w
删除上一个单词ctrl+u
删除当前行- 使用
ESC
或者ctrl+c
或者ctrl+[
,建议用ctrl+[
,因为ctrl+c
可能中断其他插件 shift
+insert
粘贴系统粘贴板内容
command 模式
- normal模式输入冒号(
:
)进入命令模式 - 命令模式下可以全局替换,
:% s /java/python
即将文件中全局的java替换为python, 其中%
表示全局,s
表示替换,/java
表示要替换的字符串,/python
表示替换为的字符串 :/python
表示查找文章中的python字符串:[range]s /{pattern}/{string}/[flags]
其中range
表示范围,%
表示全部,10,20
表示10-20行
flags
常用标志,g
(lobal)全局范围,c
(onfirm)每个替换需要确认,n
(umber)报告匹配次数而不替换
vim多文件操作
- 打开多个缓存区
:e filename
,打开filename这个文件 - Buffer: 每打开一个文件便打开一个buffer,使用
:ls
显示有哪些缓存区,使用:b n
跳转到第n个缓冲区,:bpre
前一个缓存区,:bnext
下一个缓存区,:bfirst
第一个缓存区,:blast
最后一个缓存区,:b buffer_name
直接跳转缓存区可以使用tab键补全 - Window:每个缓存区可以打开多个窗口,每个窗口可以打开多个缓存区,
<ctrl+w>s
水平分割,<ctrl+w>v
垂直分割,或者:sp
(水平分割),:vs
(垂直分割),<ctrl+w>H/J/K/L
移动窗口到左边/下边/上边/右边,<ctrl+w>h/j/k/l
切换到左边/下边/上边/右边窗口 - Tab:容纳多个窗口的桌面,相当于虚拟桌面
其他
vim中补全:
<ctrl+n>
关键字补全
<ctrl+xf>
路径文件名补全
<ctrl+xo>
全能补全,需要对应插件支持w
(ord)/s
(entence)/p
(aragraph)单词/句子/段落
可以配合数字使用,如2aw
可以选中2个单词及周围空格系统剪贴板为
"+
normal下使用
q
录制宏,再输入q
结束录制q{register}
选择要保存的寄存器@{register}
回放录制的命令vim修改主题
:colorscheme+空格+<ctrl+d>
显示已安装主题
Vim常用操作,normal模式、insert模式和visual模式相关推荐
- C++ STL::list常用操作及底层实现(中1)——实现list常用操作之插入(insert、push_front、push_back、splice)
STL::list插入介绍及自实现插入功能 1插入数据之insert(): 1.1 `iterator insert(iterator position,const value_type & ...
- Linux之Vim常用操作
Linux之Vim常用操作 Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑和显示文本文件.Vim没有菜单,只有命令. 一.插入命令 命令 作用 ...
- linux撤销编辑内容,linux编辑利器vim常用操作
vim文本编辑器: 简介: Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和Emacs并列成为类Unix系统用户最喜欢的编辑器. ...
- vim常用操作技巧与配置
转自:http://os.chinaunix.net/a2006/0706/963/000000963867.shtml vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两 ...
- VIM 常用操作(转载)
vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个"纯字符"模式下的工具,它的操作和WINDOWS中的文本编辑工具 ...
- Linux下vim常用操作
vim有三种模式,分别是命令模式.编辑模式和最后行模式 当我们在命令行模式中时是不可以进行文本编辑的,我们可以通过按一下几个字母中的其中一个进入编辑模式 i 插入,也就是在你光标位置的前面进行插入编辑 ...
- Vim 输入法在normal和insert之间自动切换
利用imdisable实现Fcitx与Vim模式切换 在使用fcitx时,可以使用: 在插入(insert)模式下切换到常规模式(normal)时,输入法不会自动改变成英文输入法,可以考虑使用以下配置 ...
- vim常用操作总结完整版
技术交流QQ群:1027579432,欢迎你的加入! 技术交流QQ群:1027579432,欢迎你的加入! 1.vim介绍 vim的三种工作模式 命令模式:shell默认情况下打开的是命令模式,对源文 ...
- Vim 常用操作、查找和替换
这篇文章来详细介绍 Vim 中查找相关的设置和使用方法. 包括查找与替换.查找光标所在词.高亮前景/背景色.切换高亮状态.大小写敏感查找等. 查找 在normal模式下按下/即可进入查找模式,输入要查 ...
最新文章
- SAP PM 入门系列18 - IP25为维护计划 Set Deletion Flag
- 2020暑期实习后台开发字节跳动笔试
- 在最长的距离二叉树结点
- 比较强得一个个性签名
- [Python爬虫] 之十二:Selenium +phantomjs抓取中的url编码问题
- JavaScript 解决浮点值运算Bug
- 一个多线程和队列的实例演示
- 网易视频云分享:如何搭建视频转码集群
- 前端:JS类型判断类库
- CentOS7安装EPEL源
- 前端学习(2766):生命周期函数
- 短视频生产利器!视频裁剪之横屏转竖屏新技术,出自腾讯多媒体实验室
- 北工商计算机考研难吗,北京工商大学考研难吗?一般要什么水平才可以进入?...
- MIDL2011报错。
- 草根站长胖子讲述做站故事
- 汽车车牌JS正则表达式验证(含新能源车牌)
- 华硕老毛子(Padavan)——锐捷6.41,静态ip,学生破解过程分享,非专业仅供参考,啰嗦的一批,有耐心能看懂
- SqlTransaction作用及如何使用(超详细)
- FPGA实现按键检测消抖程序
- 轻松学会正则表达式(标题狗)
热门文章
- 超级好看又易上手教你用python画樱花
- 黑苹果cpu架构三个问号_苹果三位芯片大神讲述M1背后的故事
- Linux下批量把GDK编码的文章转化为UTF-8编码的文章以及“iconv: 未知 xxx 处的非法输入序列”错误处理
- 国产浏览器 html5,老外评测国产浏览器 HTML5性能不俗
- 爬取东方求闻史记和东方求闻口授图片
- Sqoop 实际应用及样例
- 阿里JAVA实习生面试总结(2019年春招)
- vue遍历输出列表中以逗号隔开的字符串
- 参赛【GGJ2022】回顾,作品--双生共合
- Hive sql : 查询连续登录天数