vim 常用命令

文章目录

  • 普通命令模式下
    • 技巧汇总
    • 切换到插入模式
    • 切换到可视模式
    • 切换至底行命令模式
    • 复制内容
      • 复制命令的记忆技巧
    • 粘贴/恢复
    • 修改/改写
    • 删除/剪切
    • 字符大小写切换
    • 选择文本
    • 游标移动
    • 剪切文本/移动文本
    • 滚屏/翻页
    • 撤回
    • 查看文档状态
    • 查找/搜索字符串
    • 查看历史命令
    • 查看历史搜索记录
    • 多窗口操作
    • 保存退出
  • 字符可视模式
    • 选择文本
    • 复制文本
    • 删除文本
    • 修改替换
    • 大小写切换
    • 合并多行
    • 保存文本
    • 移动光标
    • 切换到插入模式
    • 退出可视模式
  • 底行命令模式下
    • 删除文本
    • 保存/退出
    • 另存为文件
    • 显示行号
    • 文件信息统计
    • 文件管理器
    • 翻阅历史命令
    • 执行上一次的命令
    • 执行外部的 shell 命令
    • vim 与 shell 互相切换
    • 直接执行 shell 命令
    • 文件设置和取消密码
    • 文件编码
    • 文件格式
    • 关闭窗口
  • 插入模式下
    • (一)选择文本
    • (二)复制文本
    • (三)粘贴文本/插入寄存器的内容
    • (四)运算表达式
    • (五)删除文本
    • (六)移动文本
    • (七)移动光标
    • (八)临时切换到普通命令模式
    • (九)修改/替换
    • (十)搜索
    • (十一)退出插入模式
    • (十二)自动补全
    • (十三)翻页

普通命令模式下

技巧汇总

假如我要一次性输入 30 个等号 =,可以在普通命令模式下,输入:30i=<esc>,就是先输入数量 30,接着按 i 切换到插入模式,接着输入 1 个等号 =,最后按 esc 返回普通命令模式,就成功插入 30 个等号 = 啦!这在插入分割线时非常有用哦~

切换到插入模式

执行内容命令备注
切换到插入模式,在游标前插入字符i就是游标的左边插入字符
切换到插入模式,在行首插入字符I
切换到插入模式,在行尾插入字符A
切换到插入模式,在游标所在行的下面插入新行o

切换到可视模式

执行内容命令备注
切换到按字选择文本的可视模式v所谓“可视”,就是被选中的字符会“高亮”显示
切换到按行选择文本的可视模式VShift + v按上下箭头来选择行
切换到按块选择文本的可视模式Ctrl + v按上下左右箭头来选择矩形区域。它选中屏幕上的一个矩形区域

切换至底行命令模式

执行内容命令备注
:切换到底行命令模式,可以在最底一行输入 ex 命令

复制内容

执行内容命令备注
复制当前整行yy复制游标所在行到缓冲区,所谓的缓冲区就是剪贴板,或者叫寄存器
复制整个文档ggyG复制全部文本,注意:G 必须大写
复制游标所在行及其上面的所有行y1Gygg
复制游标所在行及其下面的所有行yG
复制游标所在位置的词yawyiw
复制游标所在位置的句子yas
复制游标所在行上从游标位置算起到后面第 1 个字符的文本内容yf{character}例如,yft 复制游标所在行上从游标位置算起到后面第 1 个字符 t 之间的文本内容。注意:指定字符也复制
复制游标所在行上从游标位置算起到前面第 1 个字符的文本内容yF{charater}例如,yFt 复制游标所在行上从游标所在位置起到前面第 1 个字符 t 的文本内容。注意:指定字符也复制
复制游标所在位置的标签的内容yit例如:<table><tr><td>sfd</td></tr></table>,假设当前游标落在标签 <table>上,那么按下 yit 则会复制 <tr><td>sfd</td></tr>

复制命令的记忆技巧

y 表示复制,G 表示跳到文档最后一行,gg 表示跳到文档第一行,所以复制当前行到文档最后一行,就是 yG,所以复制当前行到文档第一行就是 yggggyG 其实就是游标先跳到文档第一行,再执行 yG,就是复制所有行了。

粘贴/恢复

执行内容命令备注
将缓冲区(寄存器)的内容粘贴到游标所在位置的后面p
将缓冲区(寄存器)的内容粘贴到游标所在位置的前面P
粘贴指定的寄存器的内容#p常用来恢复被删除的内容,其中 # 为寄存器的名称,详见《vim 的寄存器/剪贴板》

修改/改写

执行内容命令备注
改写游标所在位置的字符s该命令表示用随后输入的文本替换游标所在位置的字符,先删除,再进入“插入模式”
改写游标所在行Scc该命令表示用新输入的正文替换游标所在行(不管游标位于何列)。输入此命令后,游标所在行成为空行,并切换到“插入模式”,光标停在行的开始位置
改写游标所在位置到词尾之间的内容cw先将游标所在位置到词尾之间的字符删除,再切换到“插入模式”
改写游标所在位置到行尾之间的内容c$C先将游标所在位置到行尾之间的字符删除,再切换到“插入模式”

删除/剪切

执行内容命令备注
删除游标所在位置的字符x注意此时没有进入“插入模式”,依旧是在“普通命令模式”下
删除游标所在的行dd
删除游标所在位置的字符到行尾的内容,游标位置的字符也删除D 或者 d$
删除游标所在位置的字符到行首的内容,保留游标位置的字符d0 或者 d^
删除游标所在行至文档结尾处,游标所在行也删除dG
删除游标所在行至文档开始处,游标所在行业删除1dG or dgg
删除游标所在位置的词daw
删除游标所在位置到指定字符之间的内容d/{character}例如,d/f 它将删除游标所在位置到下一个字符 f 之间的内容。输入完 d/f 后,要按下“回车键”才行。注意:指定字符保留
删除游标所在位置到下一个指定的字符df{character}这其实是指令 d 和指令 f 的组合指令,例如,dfk,表示将删除当前游标所在位置到下一个字符 k,注意:指定字符也删除掉。
删除游标所在位置到上一个指定的字符dF{character}例如,dFk,删除游标所在位置到上一个字符 k。注意:指定字符也删除了

字符大小写切换

执行内容命令备注
切换游标所在位置的字符的大小写~

选择文本

执行内容命令备注
选中文档的全部内容ggVG按下此命令会进入可视模式下,然后选中全部的文本,选中的文本高亮显示

游标移动

执行内容命令备注
移动游标到文档最后 1 行的首个字符处Shift + g or G
移动游标到文档开始位置,即移动到文档第 1 行的首个字符处gg
游标移动到文档的第 # 行首个字符处#G例如:15G 表示移动游标至文章的第 15 行的第 1 个字符处
游标移动到所在行的第 1 个字符处0
游标移动到所在行的最后 1 个字符处$
将游标移至屏幕所显示文本的第 1 行的第 1 个字符处H注意:是当前屏幕显示文本的第 1 行,而不是整个文档的第 1 行
将游标移到屏幕所显示文本的最后 1 行的第 1 个字符处L如果当前屏幕已经充满,则将游标移至屏幕最底行的第 1 个字符处;如果没有充满,则将游标移至屏幕所显示文本的最后 1 行的第 1 个字符处
移动到匹配的括号处%例如,光标现在处于左小括号 ( 位置,按下 % 就会把光标移动到与之匹配的右小括号 )
游标跳到下一行的第 1 个字符处Ctrl + mEnter+
游标移动到上一行的第 1 个字符处-
移动游标到下一个词的第 1 个字符处w/W
移动游标到下一个词的最后 1 个字符处e/E移动到词尾
移动游标到上一个词的第 1 个字符处b/B移动到词首
移动游标到上一个词的最后 1 个字符处ge
将游标移至上一个句子的第 1 个字符处
将游标移至下一个句子的第 1 个字符处
将游标向前移至上一个段落的第 1 个字符处{
将游标向后移至下一个段落的第 1 个字符处}
向后(游标后面)查找指定的字符,游标移动到该字符处f例如,某行(háng)为 you can you up, no can no bb,现在需要将游标移动到字符 p 处,则可以使用 fp 命令,这样游标就会迅速定位到字符 p 处。按下 ; 向后继续查找,按下 , 向前继续查找
向前查找指定的字符,游标定位到该字符处F按下 ; 向后继续查找,按下 , 向前继续查找

剪切文本/移动文本

我们可以利用下面的步骤完成文本行(1 行或者多行)从一个地方移至另外一个地方。

  1. 将光标移至待移动文本的首行
  2. #dd 命令(其中 # 为待移动的行数),此时 vim 把光标所在行起下面的 # 行文本删除,将其放入到 "1 寄存器中
  3. 接着将游标移动到要粘贴文本的地方
  4. 1p"1 寄存器的内容粘贴到游标所在行的下方

滚屏/翻页

执行内容命令备注
将屏幕向前(文件头方向)翻滚半屏Ctrl+u可以在这命令之前加上一个数字 #,则屏幕向前翻滚 # 行。并且这个值被系统记住,以后再用 Ctrl+u 命令滚屏时,还滚相应的行数
将屏幕向后(文件尾方向)翻滚半屏Ctrl+d可以在这命令之前加上一个数字 #,则屏幕向后翻滚 # 行。并且这个值被系统记住,以后再用 Ctrl+d 命令滚屏时,还滚相应的行数
整个文档向上移动一行,但是光标所在位置不变Ctrl + e可以在这命令之前加上一个数字 #,则文档向上移动 #
整个文档向下移动一行,但是光标所在位置不变Ctrl + y可以在这命令之前加上一个数字 #,则文档向下移动 #
翻到上一页Ctrl+b将屏幕向文件首方向翻滚一屏(即一页)。在命令之前加上一个数字 #,则屏幕向前移动 #
翻到下一页Ctrl+f将屏幕向文件尾方向翻滚一屏(即一页)。在命令之前加上一个数字 #,则屏幕向后移动 #

撤回

执行内容命令说明
撤销u如果您误执行一个命令,可以马上按下 u,撤回到上一个操作。按多次 u 可以执行多次撤回

查看文档状态

执行内容命令备注
显示文档状态Ctrl+G在 vi/vim 状态行显示文档的状态信息,包括正在编辑的文件名、是否修改过、游标所在行号(未必显示这项)、文件的总行数以及游标之前的行占整个文件的百分比

查找/搜索字符串

执行内容命令备注
向后查找游标所在位置的词*实际是引用模式 /\<$word\>/ 向后查找指定的字符串;\< 匹配词首;\> 匹配词尾;$word 就是游标所在位置的单词。只能用于普通命令模式下,直接输入 * 即可查找
向前查找游标所在位置的词#实际是引用模式 ?\<$word\>? 向前查找指定的字符串;\< 匹配词首;\> 匹配词尾;$word 就是游标所在位置的单词。只能用于普通命令模式下,直接输入 # 即可查找
向后查找指定的字符串/先输入 /,再输入要查找的字符串,再按下“回车键”。例如,输入 /people,会在游标后面匹配查找字符串 people,可以按n往后移动游标到匹配的字符串处或者按 N 往前移动游标到匹配的字符串处。普通命令模式和底行命令模式下均可以使用
向前查找指定的字符串?先输入 ?,再输入要查找的字符串,再按下“回车键”。例如,输入 ?people,会在游标前面匹配查找字符串 people,可以按n往前移动游标到匹配的字符串处或者按 N 往后移动游标到匹配的字符串处。普通命令模式和底行命令模式下均可以使用
游标所在行上从游标位置起向后查找指定的字符f; 重复前一个搜索,即继续向后搜索,, 重复前一个搜索,但是方向相反,即向前搜索
游标所在行上从游标位置起向前查找指定的字符F; 重复前一个搜索,即继续向前搜索,, 重复前一个搜索,但是方向相反,即向后搜索

查看历史命令

执行内容命令备注
查看历史命令q:在普通命令模式下直接输入此命令就可以打开历史命令窗口

查看历史搜索记录

命令说明
查看搜索历史记录q/q?

多窗口操作

执行内容快捷键备注
切换到上个窗口Ctrl + w + k
切换到下个窗口Ctrl + w + j如果是大写的 J 则会把当前窗口移到下面,即和下面的窗口调换位置,其它组合键估计也有类似的效果
关闭除当前窗口外的所有窗口Ctrl + w + o
当前窗口的高度最大化Ctrl + w + _
退出当前窗口Ctrl + w + q按下 :q 也可以退出当前窗口

保存退出

执行内容命令备注
保存并退出ZZ注意这是大写的 Z。你可以按下 Shift 的同时,按两次 z,就可以了。若文档没有修改过,则不保存直接退出;若文档已经编辑过,则会保存文档后退出

字符可视模式

选择文本

执行内容命令备注
按字符选择文本↑↓←→通过上下左右箭头键选择文本
选择到下一个单词的开头w
选择到下一个单词的词尾e
选择到上一个单词的开头b

复制文本

命令说明
复制选中的文本y
Y按下 Y 复制选中字符的所在行

删除文本

执行内容命令备注
删除选中的文本dx删除文本后会返回到“普通命令模式”下
删除选中的字符的所在行D

修改替换

执行内容命令备注
更改被选中的文本c按下此命令后被选中的文本被删除,进入“插入模式”,此时可以在其中添加新文本,完成修改替换
更改被选中的字符的所在行的文本C也是先删除文本,再进入“插入模式”

大小写切换

执行内容命令备注
将选中的文本中的大写字母全部转换成小写u
将选中的文本中的小写字母全部转换成大写U

合并多行

执行内容命令备注
将光标所在行下面的文本行合并到光标所在行后面.

保存文本

执行内容指令备注
将选中的文本的所在行另存为文件:write filename在可视化模式下选好文本,然后输入 :write filename 命令,就可以将选中的字符所在的行内容保存到文件 filename 中,文件存放在当前工作目录下

移动光标

执行内容命令备注
将光标在选中的文本区域首尾切换o例如,光标在选中的文本区域的末尾,按下 o 光标跳到文本区域的开头位置

切换到插入模式

执行内容命令备注
切换到插入模式Shift + i光标会跳到被选中的字符的所在行的第 1 个字符处,表示在行首插入字符

退出可视模式

再次按下 v 退出“字符可视模式”

底行命令模式下

删除文本

命令说明
-,+ d删除游标所在行,上一行和下一行,共三行
-2,+2 d删除游标所在行,前二行和后二行,共五行
.,$ d将当前行至文档最后 1 行的内容全部删除
% d删除文档的所有行

保存/退出

命令说明
w把当前缓冲区(buffer)的内容写入文件,即进行保存动作,但不退出 vim
wq保存后退出 vim
wq!则为强制保存后退出vim(常用)
w!强制保存,若文件属性为“只读”时,强制写入该档案
wallwa把所有的缓冲区的内容写入文件,即保存所有的文件(如果你打开了多个文件)
q如果只有 1 个文件则会退出 vim,多个文件则仅退出当前文件,前提是已经保存过了,如果没有保存 vim 会提醒你
q!强制退出且不储存档案
x保存文档并退出,它与 wq 的区别在于,文档没有修改过则不会保存,从而不会更新文件的时间戳,这样文件的 mtime,atime 就不会改变,因此就不需要重新编译。而 wq 命令,即使文件未修改也会进行保存,从而修改时间戳,这样就会触发重新编译。作为程序员常用此命令!
xa保存并退出所有的文件
exit保存所有文件并退出 vim

注意:! 表示强制执行,在 vim 中不能放在指令的前面,因为放在指令的前面表示执行 shell 的指令,例如,输入 !q 是错误的命令,因为shell 命令终端没有 q 这个指令。

另存为文件

命令说明
w %.bak另存当前文件为 b.txt.bak,"% 是当前文件名寄存器
f filename改变编辑的文件名,这时再保存相当于另存为
w filename另存为 filename

显示行号

命令说明
set nu or set number设置显示行号,会在文本的每一行前面显示行号,nu就是number 的缩写
set nonu or set nonumber设置不显示行号

文件信息统计

指令说明
=打印文件的总行数
fCtrl + g显示文档名,光标所在位置,是否修改,文档第 1 行到光标所在行之间的内容在整个文档中的占比

文件管理器

在“底行命令模式”下输入大写的 E,可以进入“文件管理器”,在“文件管理器”中,可以使用上下箭头来移动光标选择要打开的目录或文件,选中后按下“回车键”即可打开,文件管理器的界面如下图所示:
在这里插入图片描述
按下连字符 - 可以跳转到上级目录中。

翻阅历史命令

在底行命令模式下输入以下的命令。

命令说明
Ctrl + p向前翻阅历史命令
Ctrl + n向后翻阅历史命令
查看前一条历史命令
查看后一条历史命令

如下图所示,按住 Ctrl 不放,然后每按一下 p 就可以在底行显示前一个历史命令,每按一下 n 则显示后一个历史命令
在这里插入图片描述

执行上一次的命令

指令说明
@:执行上一次的命令,如果输入 ": 则是引用最近一次的命令,没有执行

执行外部的 shell 命令

可以在底行命令模式下输入以下的命令。

命令格式说明
! {shell command}例如:! ls,在不退出 vim 进程下执行 shell 命令 ls,叹号和命令之间允许没有空格,执行后会跳到 shell 界面中,按“回车”键返回 vim

vim 与 shell 互相切换

命令说明
shellsh可以在不关闭 vim 的情况下切换到 shell 终端界面,在 shell 中输入 exit 可以返回到 vim 界面中

直接执行 shell 命令

对于大部分 Shell 命令可以在 vim 底行命令模式下直接执行,其操作结果显示在状态行。

命令说明
pwd显示 vim 工作目录
cd path改变 vim 的工作目录

文件设置和取消密码

命令说明
X为当前文件设置密码
set key=去除文件的密码

文件编码

命令说明
e ++enc=utf8 filename让vim用utf-8的编码打开这个文件
w ++enc=gbk不管当前文件什么编码,把它转存成 gbk 编码
set fencset fileencoding查看当前文件的编码

扩展:在 vimrc 中添加 set fileencoding=ucs-bom,utf-8,cp936,vim 会根据要打开的文件选择合适的编码。 注意:编码之间不要留空格。 cp936 对应于gbk 编码。 ucs-bom 对应于 windows 下的文件格式。

文件格式

主要有三种文件格式:Unix、DOS、Mac。三种格式的区别主要在于换行符的编码:DOS/Windows 下是回车加换行(\r\n),Unix 下只有换行符(\n),Mac 下只有回车符(\r)。

命令说明
e ++ff=dos filename让 vim 用 dos 格式打开这个文件
w ++ff=mac filename以 mac 格式存储这个文件
set ff显示当前文件的格式

扩展:在 vimrc 中添加 set fileformats=unix,dos,mac,让 vim 自动识别文件格式。

关闭窗口

命令说明
q退出当前窗口
close最后一个窗口不能使用 close 关闭。使用 close 只是暂时关闭窗口,其内容还在缓存中,只有使用 qx 等才能真正关闭
only保留当前窗口,关闭其它所有窗口
qallqa退出所有窗口

插入模式下

(一)选择文本

无法选择文本,只能返回到“普通命令模式”下,再进入“可视模式”下进行选择

(二)复制文本

快捷键说明
Ctrl + y对应正上方的行,挨个复印字符。非常有意思的命令。
Ctrl + e与上个命令类似,但拷贝的是下方的行

(三)粘贴文本/插入寄存器的内容

快捷键说明
<C r>{register}将寄存器的内容插入到光标所在的位置

(四)运算表达式

命令说明
C-r =先按下 C-r,接着按 =,再输入运算表达式,再按下“回车”,就能在光标处插入计算结果

(五)删除文本

快捷键说明
Back Space退格键,删除光标后(光标右边)一个字符,Fn+Del就是Back Space
Del删除键,删除光标前一个字符
Ctrl + w删除光标左边的单词
Ctrl + u从光标所在位置删除到行首,光标所在位置的字符保留

注:上述不是命令,而是快捷键

(六)移动文本

好像不行

(七)移动光标

快捷键说明
Home移动光标到行首,MacBook 的键盘使用 Fn+←就是Home
End移动光标到行尾,Fn+→就是End
Shift + ←移动到前一个单词
Shift + →移动到后一个单词

(八)临时切换到普通命令模式

快捷键说明
Ctrl + o进入命令模式并在执行一个命令后自动返回插入模式。很常用

(九)修改/替换

命令说明
Insert切换光标为输入/替换模式,光标将变成竖线/下划线,MacBook 内置键盘下没有此键

(十)搜索

好像不行

(十一)退出插入模式

退出插入模式,返回到普通命令模式。

命令说明
Esc退出输入模式,切换到“普通命令模式”
<C [>同上

(十二)自动补全

命令说明
Ctrl + N所谓补全,就是你按下这个组合键,会出来一个列表,当前所有打开的窗口中与光标所在位置的字符或字符串有关的词会出现在这个列表中

在这里插入图片描述

(十三)翻页

命令说明
Page Up上翻页,Fn+↑就是Page Up
Page Down下翻页,Fn+↓就是Page Down

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331982.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见花材的固定的方法有哪些_旋流器常见的故障及处理方法有哪些?

旋流器除了用在磨矿循环中的分级作业外&#xff0c;还可以用于脱泥、脱水以及脱除浮选药剂等。此外&#xff0c;还可以用做重悬浮液选矿&#xff0c;其分选粒度可达0.1毫米左右。旋流器有许多优点&#xff0c;构造简单&#xff0c;没有运动部件&#xff0c;单位容积的处理能力大…

二叉堆(优先队列)

【0】README 0.1&#xff09; 本文总结于 数据结构与算法分析&#xff0c;但源代码均为原创&#xff1b;旨在理清二叉堆&#xff08;优先队列&#xff09; 堆的其他操作及其应用&#xff0c; 以便让朋友些知道为什么要学习优先队列&#xff1b; 【1】二叉堆 1.0&#xff09;…

java自定义外部接口_如何使用可外部化的接口在Java中自定义序列化

java自定义外部接口在上一篇文章“用示例介绍的有关Java序列化的一切”中 &#xff0c;我解释了如何使用以下方法序列化/反序列化一个对象 Serializable接口&#xff0c;还说明了如何使用writeObject和readObject方法自定义序列化过程。 Java序列化过程的缺点 但是这些自定义…

python训练营朋友圈留言_用Python发一个高逼格的朋友圈【附代码】

今天二胖要给大家介绍一个Python库&#xff1a;PIL(Python Image Library)下面我们用一个实际的例子看看50行python代码可以做什么神奇的事情这是二胖发的一个朋友圈切图前是一张图切图后就是九张图啦成功霸屏除了可以处理规整的正方形图片还可以处理非规则的图片比如下面这张宽…

vim 编辑器的快捷键

文章目录命令终端界面滚屏命令终端页签切换缓存区切换/文件切换分割窗口/打开新窗口切换窗口移动/旋转/移出窗口关闭窗口调整窗口大小底行命令模式下的编辑快捷键vim 很多指令或者快捷键是大小写敏感。命令终端界面滚屏 快捷键说明Fn ←向上滚屏到开始处Fn →向下滚屏到末尾…

关于二叉堆(优先队列)的其他操作及其应用

【0】README 0.1&#xff09;本文总结于 数据结构与算法分析&#xff1b;源代码均为原创&#xff0c; 旨在了解到我们学习了优先队列后&#xff0c;还能干些什么东西出来&#xff0c; 增加学习的interest&#xff1b; 0.2&#xff09;以下列出了 关于二叉堆&#xff08;优先队…

gradle junit5_JUnit 5和Selenium –使用Gradle,JUnit 5和Jupiter Selenium设置项目

gradle junit5Selenium是一组支持浏览器自动化的工具和库&#xff0c;主要用于Web应用程序测试。 Selenium的组件之一是Selenium WebDriver&#xff0c;它提供客户端库&#xff0c;JSON有线协议&#xff08;与浏览器驱动程序进行通信的协议&#xff09;和浏览器驱动程序。 Sele…

ubuntu 两块硬盘挂载不上_win10 轉 Ubuntu

目前用了win10兩三年。發現越來越慢&#xff0c;況且已習慣mac OS&#xff0c;所以想用自己的機子來裝個雙系統Linux&#xff0c;慢慢的將win的東西都轉到Ubuntu上。已清空一個磁盤300G,打算就是在這300G裡裝一個Ubuntu&#xff0c;不知道是否夠用&#xff08;雖然很想裝在三星…

包+类导入+静态导入+类放入包中+包作用域

【0】README 0.1&#xff09;本文转自 core java volume 1&#xff0c; 旨在理清 包和类导入的相关知识&#xff1b; 【1】 包 1.1&#xff09; java 允许使用包将类组织起来&#xff0c;包可以方便组织代码&#xff0c;并将自己的代码与别人提供的代码库分开管理&#xff1b…

selenium自动化测试_使用Selenium自动化测试处理多个浏览器选项卡

selenium自动化测试使用Selenium进行自动化测试一直是将萌芽的自动化测试人员培养为专业人员的生命线。 Selenium是开源的&#xff0c;在全球范围内被广泛采用。 结果&#xff0c;您会得到社区的大力支持。 提供了与Selenium绑定的不同语言的多种框架。 因此&#xff0c;您已经…

qt和c#怎么选_请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?

回答问题之前&#xff0c;先装个逼——没有主导过生命周期三年以上的桌面软件项目的&#xff0c;闭嘴。你连一个桌面软件项目的生命周期都没经历过&#xff0c;你凭什么做技术选型&#xff1f;凭信仰吗&#xff1f;装逼结束&#xff0c;正文开始。首先&#xff0c;非主流技术和…

java 白皮书的关键术语

【0】README 0.1&#xff09; 本文转自 core java volume 1&#xff0c;仅供了解&#xff0c;所谓爱屋及乌嘛&#xff1b; 0.2&#xff09; java的设计者编写了颇有影响力的白皮书&#xff0c;用来解释设计的初衷以及完成的情况&#xff0c;并发布了一个摘要&#xff1b;【1】…

当集合a为空集时a的取值范围_高中数学必修一第一章集合分节练习和章末测试题含答案[1] 2...

高中数学必修1 第一章 集合 分节练习和章末综合测试题含答案1 集合的含义与表示1、下列各组对象能否组成一个集合&#xff1f;(1)接近于0的数的全体&#xff1b; (2)2的近似值的全体&#xff1b; (3)平面上到点O 的距离等于1的点的全体&#xff1b; (4)正三角形的全体&#xff…

spring jpa 流式_从响应式Spring Data存储库流式传输实时更新

spring jpa 流式这篇文章详细介绍了从数据库到对该数据感兴趣的任何其他组件进行流更新的幼稚实现。 更准确地说&#xff0c;如何更改Spring Data R2DBC存储库以向相关订阅者发出事件。 对R2DBC和Spring的一点背景知识将对这篇文章有所帮助。 我以前的著作《 使用 Microsoft S…

弹窗页面交互_UI进阶知识-信息提交类弹窗该如何设计?

原文作者&#xff1a;风筝KK 信息提交类弹窗大家应该都比较熟悉&#xff0c;和其他弹窗的区别在于他有输入、选择等操作&#xff0c;比如我们常见的输入验证码、留言回复、充值转账、任务设置等。看上去设计都比较简单&#xff0c;但是当你验收时就会发现问题&#xff0c;为什么…

selenium并行_如何在不同的浏览器中设置Selenium网格以并行执行

selenium并行到目前为止&#xff0c;Selenium是最常用的Web自动化测试工具。 如此受欢迎的原因之一是Selenium的自动跨浏览器测试功能。 Selenium自动化测试可以帮助您在所有主要浏览器&#xff0c;所有主要操作系统甚至移动设备浏览器上进行测试。 您可以在所有功能测试中获得…

java 发展简史

【0】README 0.1&#xff09; 本文转自 core java volume 1&#xff0c;仅供了解Java 的发展历史&#xff0c;它的前世今生&#xff0c;所谓知己知彼&#xff0c;百战不殆&#xff08;just a joke&#xff09; &#xff1b; 【1】java 发展简史 1.1&#xff09;java的历史要…

axios代理跨域 cli4_跨域本质及解决办法

1、什么是跨域&#xff1f;2、如何解决&#xff1f;跨域是前端所独有的&#xff0c;后端不存在跨域问题。是浏览器的一种安全保护手段&#xff0c;为了防止别人抓取、篡改你的网站数据信息。遵循同源策略、同协议&#xff08;http&#xff09;、同域名、同端口&#xff0c;少一…

如何使用eclemma插件_如何集成和使用EclEmma插件来获得良好的Junit覆盖率

如何使用eclemma插件你好朋友&#xff0c; 如果编写好的代码很重要&#xff0c;那么编写覆盖所有业务逻辑的优良Junit测试用例也同样重要。通过编写覆盖业务逻辑的Junit测试用例&#xff0c;我们实际上确保代码的每种方法都能正常工作按照预期进行&#xff0c;因此减少了在软…

Java 相关术语

【0】README 0.1&#xff09; 本文转自 core java volume 1&#xff0c;仅供了解Java 的相关术语&#xff0c;包括像JDK、JRE等 &#xff1b;而且我感觉&#xff0c;了解了这些过后&#xff0c;你会更懂 Java&#xff0c; 更热爱它&#xff1b; 【2】Java术语 2.1&#xff09;…